|
Post by Stefan on Nov 30, 2023 13:21:26 GMT -5
George,
It looks like the key marked as `~ immediately below the ESC key in the KEYMAP dialog cannot be mapped like other keys.
At least whatever function I assign to it in the various SHIFT/CTRL/ALT combinations does not occur. If this key is a 'bit special', perhaps the KEYMAP dialog needs to reflect its limitations.
|
|
|
Post by Robert on Nov 30, 2023 13:27:12 GMT -5
I just tried assigning values to normal, shift, ctrl and alt for this key. Everything worked.
This is very odd. What kind of keyboard do you have? Is it that German T2?
R
|
|
|
Post by Robert on Nov 30, 2023 13:37:04 GMT -5
If it's German, what I have found is that every German keyboard I could find treats the key just under ESC as the same as the key on the US keyboard just under the Backspace key, which has \ on the bottom, and | on the top.
Try using that key in KEYMAP to make your assignments, and try it again.
R
|
|
|
Post by Stefan on Dec 1, 2023 4:42:20 GMT -5
Robert,
It's a Lenovo Model KBBH21 - made 2022-06-16.
It's a QWERTY layout, so not German (QWERTZ). The key in question offers 3 characters:
Normal ` (backquote) Shift ¬ ('not' sign) AltGr ¦ (split vertical bar)
|
|
|
Post by Robert on Dec 1, 2023 9:35:57 GMT -5
Your photograph here is extremely helpful !
Based on my research, what you have is a UK keyboard, which Windows treats as an Irish variant, it's not a US ANSI keyboard, which is what the SPFLite KEYMAP diagram is based on. If you are getting every character correctly when you type it, your Windows must be configured to treat the keyboard as:
KBDIR.DLL English (Ireland) 00001809.
Assuming that is true, the key you are having issues with is assigned to what is known as VK_OEM_8, but what SPFLite needs it to be is VK_OEM_3.
Because I do a lot of work with keyboard design, it turns out I have a keyboard that looks exactly like yours, and I am typing on it now. All of the keys work like the keycaps show.
When you use (PassThru) or (Null) as a keymap assignment, it works normally, because that lets the Windows device driver map the physical keys for an Irish UK keyboard. When you use KEYMAP for anything else, the keyboard VK codes have to match. I *think* it can be fixed, but it will take a little experimenting, and I just woke up. (It's 9:30 AM here.)
I will try to figure this out and get back to you.
R
|
|
|
Post by Robert on Dec 1, 2023 9:53:34 GMT -5
Tell me, if you type the key with ` ¬ ¦ on it and just type it without shift or AltGr, what happens? Do you get the Grave symbol right away, or do you have to press the space bar afterwards? If you have to press space bar, you definitely have it configured as Irish.
If you want your keyboard to work exactly like a US ANSI, you can change it to that in Windows keyboard settings. It will take a little digging to find it, but I am sure you can figure it out.
If you don't want to do that, the physical you see with ' @ on it is actually the key that SPFLite thinks is the one with `¬¦ on it. You could remap that key in KEYMAP to be "the" `~ key, but I think that would be very confusing.
It might be easier for you to buy a US ANSI keyboard. You can find one new on Amazon for $22.00 US which is about how many Euros it is.
Hope this was some help.
R
|
|
|
Post by Robert on Dec 1, 2023 9:56:06 GMT -5
PS. If you just change your Windows config to say that it is a US (English) keyboard, the #~ key will become the \| key. The rest of the KEYMAP picture should match what the physical keys do. It's possible to do this, but I think it would be confusing.
You'll have to figure out what's best for you. I'd buy a new kb on Amazon if it was me.
R
|
|
|
Post by Robert on Dec 1, 2023 10:09:40 GMT -5
PS[2]. The keyboard I mentioned on Amazon is a Logitech K 270. It's wireless, and it's the one I use all the time. It works well, light weight and has a nice key feel.
R
|
|
|
Post by George on Dec 1, 2023 11:02:11 GMT -5
Don't forget the provided Keyboard Test tool in the install folder. It will tell you exactly what SPFLite 'sees' so you can determine the equivalent key in KEYMAP that needs to be modified. Robert wrote it many years ago to solve just this kind of problem.
George
|
|
|
Post by Stefan on Dec 1, 2023 12:21:58 GMT -5
Amazing support from you guys!
I'm not hung up on this - it's just something I noticed that didn't work as expected. If it happens to affect my keyboard, c'est la vie! But if this affects a wider user base, one should probably consider changing the KEYMAP as the key in question appears to be not mappable in some circumstances.
My Windows setup is: Windows 11 Language: English United Kingdom Keyboard: United Kingdom QWERTY
Every key gives me exactly the character(s) which is/are displayed on the key logo. Every typeable symbol is in the correct place.
The unexpected behaviour, given the available options in the KEYMAP dialog, is that I can specify whatever I wish in ANY of these fields, replacing (NULL) or (PassThru) entries, but but the only symbols this key will produce is the three described on key's logo.
The SPFLite default mapping allows:
However, changing any of these entries, has no effect.
KeyboardTest.EXE shows the following
Enter any key, or press ESC twice to cancel VK SC HEX DEC C *ALT *CTRL CAPS NUM SCR *SHIFT ENH KEYNAME == == === === = ==== ===== ==== === === ====== === ======= DF 29 60 096 ` ---- ----- ---- --- --- ------ --- Unknown key DF 29 AC 172 ¬ ---- ----- ---- --- --- LSHIFT --- Unknown key DF 29 A6 166 ¦ RALT LCTRL ---- --- --- ------ --- Unknown key All other combinations in the KEYMAP dialog create NO entry in the KeyboardTest table.
|
|
|
Post by George on Dec 1, 2023 12:26:34 GMT -5
Stefan: Can you run KeyboardTest.EXE and see what it reports for the key?
George
|
|
|
Post by Stefan on Dec 1, 2023 12:29:14 GMT -5
See previous post - I was just editing previous post.
|
|
|
Post by Robert on Dec 1, 2023 12:49:31 GMT -5
Stefan, you see in the KeyboardText.exe list, the VK code shows as X'DF', which is the value of VK_OEM_8. For reference, see learn.microsoft.com/en-us/windows/win32/inputdev/virtual-key-codesOn a US English keyboard, the key under escape is VK_OEM_3, which is X'C0'. The problem for you is that the SPFLite keymap keyboard does not define any key as VK_OEM_8. So, no matter what key you tried to map, it won't work for the key under ESC. You'd have to change the device driver. Like I said, I have the same physical keyboard as you attached, and I can see what it's doing. As long as you leave that physical key mapped to (passthru) it will work as the keycaps show. If you try to map it, SPFLite will be monitoring the wrong VK code, and your KEYMAP will never get enabled. You basically can't do it with KEYMAP designed as it is now. R
|
|
|
Post by Stefan on Dec 1, 2023 13:04:11 GMT -5
Robert,
I have no doubt whatsoever that you are correct, given your familiarity with the whole keyboard 'operation'. Assuming I understand you correctly, in layman's terms, the VK_OEM_8 'key-code' is unknown (and hence "invisible") to SPFLite. So no mapping can take place. This is because my keyboard generate VK_OEM_8 for a key for which other keyboards generate VK_OEM_3.
I can live with that. Thank you for looking into this and for the explanation.
|
|
|
Post by George on Dec 1, 2023 13:15:41 GMT -5
Yes, as the HELP says:
|
|