Author Topic: Keyboard localization?  (Read 1395 times)

dachs

  • Newbie
  • *
  • Posts: 2
Keyboard localization?
« on: January 12, 2021, 12:22:19 PM »
Hi,
I'm trying to get VA to send the ; character, but am unable to do so, likely caused by my Danish keyboard layout?

When pressing the physical key marked ;, I'm getting <, in VA..
In order to get the desired ; in VA, I have to press physical key æ, however the game sees that as, well æ, just as it should.
In VA's little keyboard dropdown menu, there is no option for ;, only for ;: which sadly dosen't work.

Is there a known workaround for this, besides re-mapping the game and thereby deviating from the standard keyfile?
Any chance for proper DK keyboard layout support?

Regards
Dachs

Pfeil

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 4759
  • RTFM
Re: Keyboard localization?
« Reply #1 on: January 13, 2021, 10:06:53 AM »
For keys you can physically press, what is displayed should not affect what is sent for normal keypress actions. I.E. if you press the ";," key in the keypress action's dialog, VoiceAttack should send the ";," keypress to the game, despite showing ", <" in the action list


If you want to check which keys map to what, you could use these layout overviews for Danish and US English

In the Danish layout, ";" is produced by OEM COMMA, which in the US layout is the , < key, so selecting ", <" from the Key Chooser dropdown (should you not have access to the physical keys; otherwise just pressing those would be simpler) should have the keypress action send the equivalent of the ;, key on your keyboard


While there is currently no Danish layout available, the Norwegian layout should be a lot closer to that than the US English layout you're currently using (there are still differences, like the Æ æ and Ø ø keys being swapped, as OEM3, 4, 5, 7, and 10 differ, but the other keys do match)
You can select that layout by changing the "Keyboard Display Layout" option on the "General" tab of the VoiceAttack options window to "Norwegian - Norway"


Note that the "Quick Input" and "Variable Keypress (Advanced)" do use the "Keyboard Display Layout" option to determine which keypress to send.

This means that if you leave the option set to "System Default" or "English - United States", using the "Quick Input" action to type out, for example, ";", would produce no visible input until you run the command again, at which point it should type out "¨¨", because in the US English keyboard map, ";" is on the OEM1 key, so VoiceAttack sends an OEM1 keypress. However, because your keyboard settings are configured for Danish, Windows will instead treat that as a press of the ^¨~ key, which is what OEM1 maps to in that layout (and because that is a "dead key", which is intended to be combined with a letter key to generate an accented character, it does not produce character output when pressed once).