New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ibmpc_usb: added support for the Siemens F500 "Term Func" key #760
Conversation
This sends a non-standard E012E000 (Make) and F012F000 (Break). Therefore, we must no longer check for 0 codes in the CS2_E0 and CS2_E0_F0 states. The check for 0 codes has therefore been moved into the individual process_csX() methods. The "Term Func" key is mapped to "Volume Down" by default, since that matches the keyboard geometry.
|
Thanks for the info. For break sequence('F012F000') isn't that 'E0F012E0F000' instead? |
|
The break code is E0 F0 00 E0 F0 12. btw. From previous experiments with Soarer's Converter, I found out that the keyboard is in Set 1 after powerup. It seems that the Reset performed by tmk switches the board into Set 2. |
|
Perhaps the code for recovery from receiving keyboard errors (code 0) should be factored out into its own function. |
|
Thanks for the debug log. Does the keyboard support support XT/CodeSet1 with Soarer's? I'll refactor the error handling code and add support the key soon later. |
TERM FUNC key sends a non-standard E0 12 E0 00(Make) and E0 F0 00 E0 F0 12(Break). Therefore, we must no longer check for 0 codes in the CS2_E0 and CS2_E0_F0 states. The "Term Func" key is mapped to "Volume Down" by default, since that matches the keyboard geometry.
|
I refactored error handling in this branch. https://github.com/tmk/tmk_keyboard/tree/ibmpc_f500_support/converter/ibmpc_usb/binary Can you check if my change works with your F500? |
|
Checked. Works flawlessly! |
|
Great. Just curious. Does the keyboard work with Soarer's in Code Set1? |
|
Yes, in principle it did. But you couldn't make use of the cursor keys and a bunch of other keys since Soarer's did not handle the prefixed scan codes that the keyboard sends. |
|
I'm not sure how the keyboard switches protocols automatically, very interesting. I just merged the fix now. Thank you |
I was also surprised. It is apparently after the reset command that tmk sends. |
This sends a non-standard E012E000 (Make) and F012F000 (Break). Therefore, we must no longer check for 0 codes in the CS2_E0 and CS2_E0_F0 states. The check for 0 codes has therefore been moved into the individual process_csX() methods.
The "Term Func" key is mapped to "Volume Down" by default, since that matches the keyboard geometry.