Skip to content

International Keyboard Setup

If you are a user typing in a language other than US English, this section is for you.

A background on Keyboard, HID and Locale

Imagine a standard keyboard. On that keyboard, there are keys with letters, numbers, and symbols. These keys don't have actual letters printed on them; they are more like buttons with no words. To your computer, this is actually how all keyboards appear: all that the computer ‘sees’ when you type is the positions of the keys you press.

When you press one of these keys, like the key marked with the letter 'A', you'd expect the letter 'A' to appear on your screen. But here's the catch: keyboards in different countries have different letters and symbols on the same keys.

So, to make sure your computer understands what you're trying to type, there's a unique code for each key position on the keyboard1. When you press a key, the keyboard sends this unique code to the computer. This unique code is known as the HID keycode.

Now, your computer knows these unique codes for all the key positions on all sorts of keyboards. But it also needs to know which language or country you're using, because different countries have different letters and symbols on the same keyboard keys. (Some international keyboards also add extra keys with additional unique codes that are not present on all keyboards. For example, the German keyboard has a key marked “<>” whose code is not used on US English keyboards.)

So, your computer has something like a translation book that tells it what each code means in different languages or countries. Let's say you're using a French keyboard, and you press the key in the top left that’s marked 'A.' Your keyboard sends the unique code for that position to the computer. The translation book says, "When you get this code from a French keyboard, show the letter 'A'. But on a US English keyboard, the translation book would instead say to show the letter ‘Q’. The translation book is the locale.

HID to English and French

Translating HID keycodes to English and French

That's how your computer knows which letter or symbol to show on the screen, even if you have a keyboard from another country. The locale set on your computer must match the locale of your keyboard. If the locales of the two ends are not matched, the computer will interpret a HID keycode differently from how you intended.

What locale to set to?

You should set the locale of your layout to match the locale set on your devices.

Currently Glove80 Layout Editor supports these locales:

  • en-US: US English keyboard. This is the default locale
  • da-DK: Danish keyboard (Windows/Linux)
  • da-DK-mac: Danish keyboard (macOS)
  • de-DE: German keyboard
  • en-GB: UK English keyboard (Windows/Linux)
  • en-GB-mac: UK English keyboard (macOS)
  • fr-FR-AZERTY: France AZERTY keyboard (Windows/Linux)
  • fr-FR-AZERTY-mac: France AZERTY keyboard (macOS)
  • fr-FR-BÉPO: France BÉPO keyboard
  • fr-FR-OPTIMOT: France Optimot keyboard
  • jp-JP: Japanese 日本語 keyboard
  • ko-KR: Korean 한글 keyboard
  • nb-NO: Norwegian Bokmål keyboard (Windows/Linux)
  • nb-NO-mac: Norwegian Bokmål keyboard (macOS)
  • ru-RU: Russian keyboard
  • sv-SE: Sweden keyboard
  • uk-UA: Ukrainian keyboard

Keycodes

When you select a locale that is not en-US, you will notice the keycodes available for selection would be changed to match the locale.

Some of the en-US keycodes are hidden to avoid confusion. A new set of locale specific keycodes are available for selection These locale specific keycodes are prefixed with the language code:

  • da-DK: DA_
  • da-DK-mac: DA_
  • de-DE: DE_
  • en-GB: GB_
  • en-GB-mac: GB_
  • fr-FR-AZERTY: FR_
  • fr-FR-AZERTY-mac: FR_
  • fr-FR-BÉPO: BÉPO_
  • fr-FR-OPTIMOT: OPTOMOT_
  • jp-JP: JP_
  • ko-KR: KO_
  • nb-NO: NB_
  • nb-NO-mac: NB_
  • ru-RU: RU_
  • sv-SE: SV_
  • uk-UA: UK_

For example, for da-DK locale, some of the locale specific keycodes (which are prefixed with DA_) are as follows:

da-DK keycodes

da-DK keycodes

For example, for ja-JP locale, some of the locale specific keycodes (which are prefixed with JP_) are as follows:

jp-JP keycodes

jp-JP keycodes

  1. Historically, this is because the same internal electronics that sent fixed keycodes were used for keyboards in different countries, and only the printed labels on the keycaps differed. With a programmable keyboard like Glove80, any key position can be configured to send any keycode, but the meaning of each keycode it sends is still interpreted by the computer’s locale settings.