EasyHIDListen - Converts Hid Listen Soarer's Hid Codes to Key Names (for Easier Programming)

User avatar
brewer

05 Jan 2021, 23:01

I'm unsure if this has been done before or how useful it is but here is a project I whipped up yesterday and today. It takes the Soarer's HID codes output by HID Listen and converts them to their associated key name (that is used for programming the converter), all wrapped up into one convenient executable.

If you find any use in it, be sure to let me know any bugs/issues you come across!

https://github.com/adamhb123/EasyHIDListen

User avatar
sharktastica

06 Jan 2021, 03:11

Very nice work! :D I think I'll definitely be making use of this. I do have two comments as feedback that might be of help.

Firstly, it seems that any remaps I've done are ignored. For example, when I tested your program on my 102-key terminal Model M, the scancodes and translations outputted are of the original layout and not of the config I used to make the terminal keeb act like a PC keyboard. HID_listen does display such changes though, so assuming your code works by specifically checking for a scancode per line of HID_listen's output, you could probably take remaps into account by checking if the HID_listen's output line is longer than usual and then grab the next value over. - the remapped scancode is displayed right next to the original scancode, so in my example where I changed Esc (0x29) to Num Lock (0x53)...

Code: Select all

r76 +29 d53 wED rFA w00 rFA
...the actual value is right 'next door'!

Secondly, as a very minor comment, your program seems to take complete control of the keyboard and thus unable to output characters anywhere else. If that's just a limitation you can't be around, then feel free to ignore (it's not a huge deal). But I can imagine some cases for diagnosing issues where having the keyboard output characters and HID_listen running would be useful.

User avatar
brewer

06 Jan 2021, 07:17

Thanks for the feedback!
sharktastica wrote:
06 Jan 2021, 03:11
Very nice work! :D I think I'll definitely be making use of this. I do have two comments as feedback that might be of help.

Firstly, it seems that any remaps I've done are ignored. For example, when I tested your program on my 102-key terminal Model M, the scancodes and translations outputted are of the original layout and not of the config I used to make the terminal keeb act like a PC keyboard. HID_listen does display such changes though, so assuming your code works by specifically checking for a scancode per line of HID_listen's output, you could probably take remaps into account by checking if the HID_listen's output line is longer than usual and then grab the next value over. - the remapped scancode is displayed right next to the original scancode, so in my example where I changed Esc (0x29) to Num Lock (0x53)...

Code: Select all

r76 +29 d53 wED rFA w00 rFA
...the actual value is right 'next door'!
I'll look into this sometime tomorrow, for cases like these I will likely just add another indicator like "translation_redirect" or something like that. Ended up finishing this tonight. Hope all is functional. Time for bed.
sharktastica wrote:
06 Jan 2021, 03:11
Secondly, as a very minor comment, your program seems to take complete control of the keyboard and thus unable to output characters anywhere else. If that's just a limitation you can't be around, then feel free to ignore (it's not a huge deal). But I can imagine some cases for diagnosing issues where having the keyboard output characters and HID_listen running would be useful.
Hmm... it seems to output to other applications fine to me? This is what I interpreted your question as asking about:
Image
Last edited by brewer on 06 Jan 2021, 08:02, edited 1 time in total.

User avatar
Redmaus
Gotta start somewhere

06 Jan 2021, 07:24

Dude great work, this will definitely save time for a lot of people. No more combing through a sheet of scancodes to figure out what my keyboard is spitting out!

User avatar
sharktastica

06 Jan 2021, 13:41

brewer wrote:
06 Jan 2021, 07:17
Hmm... it seems to output to other applications fine to me? This is what I interpreted your question as asking about:
Yeah, that's what I was referring to - that doesn't work for me! :lol: I guess my computer has gremlins in it... Anyway, I have a deeper look later and get back to you if it's actually a problem on my end then. My apologies!

User avatar
brewer

06 Jan 2021, 18:38

sharktastica wrote:
06 Jan 2021, 13:41
brewer wrote:
06 Jan 2021, 07:17
Hmm... it seems to output to other applications fine to me? This is what I interpreted your question as asking about:
Yeah, that's what I was referring to - that doesn't work for me! :lol: I guess my computer has gremlins in it... Anyway, I have a deeper look later and get back to you if it's actually a problem on my end then. My apologies!
No problem! I appreciate any and all feedback regardless. I've tested it on my desktop and on my laptop and it seems to work fine but maybe there is some weird restriction of your current setup... do you possibly have an old converter? Both of mine are brand-new because I got into vintage keyboards fairly recently.

User avatar
brewer

15 Jan 2021, 18:36

Updated release (v1.1) - added logging to text files

Post Reply

Return to “Workshop”