EN on-screen keyboard with function keys (F1, F2,..)

Hello Keyman Team,
Could you please let me know any English on-screen keyboard with Function keys?. (the top row F1, F2, F3,…keys).

The only keyboard we have that defines Function keys is cs_pinyin. We certainly wouldn’t recommend redefining them.

1 Like

Hi Suresh,
First, F Keys should pass through on any existing keyboard with their normal F function (like help). There’s no need to define them in Keyman so that, for example, F1 works as F1. As for your question, I’ve had enough issues with Windows blocking or redirecting shortcut commands (Like CTRL 0) that I’ve completely avoided remapping CTRL and the F keys.

  1. Some computers’ configurations require the Fn key to use the F keys, and some don’t. This may break rules, as I don’t know how/if Keyman handles Fn.
  2. Bluetooth keyboards may or may not have the F keys.
  3. The operating system may not allow you to redirect all F keys, and even if it does, you may block a critical program feature like Help (F1) or Fullscreen (F11).

I don’t recommend trying to remap the F1-F12 keys, but [for testing purposes] the code is just this:
+ [K_F2] > U+0061 .

  • You will need to do it in the “Code” view of the layout tab because the visual editor can’t do it.
  • Please don’t put anything critical to the orthography on an F-key in case the user can’t use them or a program blocks it.
  • Test your work on Windows, Mac, and Linux in many environments, just in case. I suppose it’s less relevant for mobile.

keyboards/release/c/cs_pinyin at master · keymanapp/keyboards · GitHub uses F keys in the KMN, but it was marked [yesterday] as only working on Windows.
A few other keyboards have F keys on the touch layouts, but they are not trying to change the functionality.

1 Like

In addition to what Matthew said, the Keyman team would quite likely not allow a keyboard into the Keyman repo using those keys. Of course, you could distribute the keyboard in other ways.

1 Like

Thank you @Matthew_Lee and @Lorna. You can close this. Is there any way I can mark as completed?.

BR