|
Post by muescha on Mar 20, 2024 23:57:38 GMT 1
I use a german keyboard.
In vDOS on the command line and in my dos programm I can type normal y and z and also the umlauts (öäüß). The shift modifier works as expected and print: YZÖÄÜ
Things becomes interesting when I try to use it in combination with the modifiers (ctrl/strg or alt). Then the keys are switched.
I tested it with the helper programm scode: here is it interesting that scode always has switched the y and z and also other keys are the us layout.
As workaround I was able to use KEYCODE to remap the one with the most PITA which was needed because it would be often used in my programm: ctrl+y
KEYCODE = 2C1A=1519 btw. in vDOS the CHCP is 850
|
|
|
Post by Jos on Mar 21, 2024 11:42:29 GMT 1
Could you post a screenshot of SCODE, mine is: Jos
|
|
|
Post by muescha on Mar 21, 2024 21:31:48 GMT 1
Only z and y are switched on German vs English keyboard. That's why I have only a foto with this combinations from yesterday:
|
|
|
Post by Jos on Mar 21, 2024 22:04:44 GMT 1
You got me confused. I assumed the reported ASCII values of Ctrl+Y or Z were incorrect with your QWERTZ keyboard.
Windows reports no Unicode values since those are missing for Ctrl+... keys. As a last resort, vDos then indeed mostly fallbacks to the USA keyboard layout definitions.
But your screenshot shows the correct ASCII values. So your test should be for the ASCII value exclusively. It will then also work with other keyboard layouts like for instance QWERTY or AZERTY, not just QWERTZ.
A (more) KEYCODE= seems no sensible solution, or I’m missing something?
Jos
|
|
|
Post by muescha on Mar 22, 2024 16:46:10 GMT 1
I know that is confusing.
In vDOS everything print in german keys and also in my program the german keys are on the right place. this is fine.
but with SCODE everything is in us english. when I press on keyboard the german z then it shows the english Y SCODE and when I press on german keyboard the german Z it shows Y in SCODE. and the umlauts results in the keys placed on the us english keyboard: []\';
and in the program only the modifier+z/y are switched (I don't tried the other keys with modifiers because I need only the modifier+char without umlauts)
with an multi KEYCODE I would able to switch ctrl+z = ctrl+y ctrl+y = ctrl+z
and maybe if i find more problems then I assign them to other keys.
but now my need was only to have ctrl+y to have it on the right place (muscle memory - you know)
I read in other threads that some user need more key assignments for a czech keyboard
|
|
|
Post by Jos on Mar 22, 2024 21:51:56 GMT 1
SCODE’s key descriptions are based on the scan code. And it will only have them for the US International keyboard. Those descriptions of course don’t effect how the keys are actually passed on to and handled by DOS programs. I mentioned Windows doesn’t report an Unicode for Ctrl+char. LOL, it actually DOES! But before vDos goes into translating a keypress, it drops the Unicode if Ctrl is down. That was once added because Wine seemingly misinterpreted Ctrl+char keys. I commented out the Wine correction and now get: Seems correct, so you just have to check the ASCII value for Ctrl+Y/Z to let it work with any keyboard layout. I’ll verify if Wine still needs that correction. Could you reference the Czech keyboard issue? That other was specific to DataEase and two years ago: NumLock on, -/+ key of the numeric keypad. So an eventual vDos solution should then also be DataEase specific. Jos
|
|
|
Post by muescha on Mar 24, 2024 21:37:06 GMT 1
I only referenced to czech keyboard, because there was a requirment for multi - KEYCODE
|
|
|
Post by Jos on Mar 24, 2024 22:06:10 GMT 1
The Czech keyboard layout is surely to some extend different from US International. But many are, so I’m merely curious what would be specific to Czech, requiring multi - KEYCODE.
Do you know where to find that Czech keyboard issue?
Jos
|
|
|
Post by muescha on Mar 24, 2024 23:40:18 GMT 1
the request was to remap the full keyboard - I remember one of your solution was to create CP_{number}.txt files for codepage mapping.
|
|
|
Post by muescha on Mar 24, 2024 23:42:45 GMT 1
|
|
|
Post by Jos on Mar 25, 2024 9:16:49 GMT 1
Thanks for the links.
The first was already somehow solved, the NumPad +/- keys work as expected in DataPerfect. The second required a specific codepage. A keyboard remap would be no good.
Jos
|
|
|
Post by muescha on Mar 25, 2024 18:17:57 GMT 1
is KEYCODE a swapping like:
key1 = key2 and key2 = key1
or is it only a one-key replacement?
Key1 = key2 but key2 is still k2
|
|
|
Post by Jos on Mar 25, 2024 18:26:05 GMT 1
It's no swapping. So key1 is only substituted by key2.
Jos
|
|