#The remapper is 3 keys short of greatness

1 messages · Page 1 of 1 (latest)

jagged star
#

I recently spent a||n un||reasonable amount of time delving into the rabbit hole that is the question "how many different keys can a keyboard theoretically have (without requiring dedicated software)?" and learned about the absolute chaos that is the history of keyboard input standards, and microsoft's implementation thereof. As much as i'd like to write a multi-hundred page manifesto about my descend into~~ insanity~~ enlightenment (e.g. did you know that there are technically 3 distinct Ctrl and 3 distinct Alt keys? thats becau- ) i need to remember that this isn't my personal blog, but a feedback forum, and that the practical usefulness of me info-dumping about obscure technicalities in keyboard standards for the next 3 hours is questionable misunderstood at best. So in an effort to keep this sufferable digestable I'll jump straight to the conclusion:

Technically there are still hundreds of keys that could be added to the remapper, but obviously we need to draw a line at some point, because adding even more esoteric keys than we already have would just clutter the UI (and waste Simon's time). 99.9% of users woudn't have any use for them, and even if they did, wouldn't be able to use them, due to windows not supporting everything.

But, if we draw the line at

  1. key must be officially standardized in the USBforum's latest HID spec¹
  2. key must be recognized as regular keyboard input² in stock Windows 11 out of the box (i.e. no dedicated driver required)
    and then program a microcontroller to send every possible HID value to the PC to see which ones trigger input callbacks etc (yes, i actually did this), then it turns out that Wootility's remap section is actually only 3 keys short of completeness, and all 3 of them have physical presence on keyboard cultures still used today in some parts of the world.

each of them is obscured by at least 1 red herring, so here is a table illustrating the situation: https://i.imgur.com/HPM13N7.png

#

For a platform independent USB keyboard manufacturer it technically doesn't matter how windows maps HID usages to scancodes (and by extension virtual keys), but I listed it here for clarity

TLDR:
Can we get those 3 blue keys added to the remap section in Wootility for the love of brazil completeness sake?


¹ https://www.usb.org/sites/default/files/hut1_6.pdf (page 89-95)

² The Windows API exposes keyboard input to userspace in multiple ways:

  1. via callbacks: SetWindowsHookExA() / SetWindowsHookExW()
  2. via polling: GetKeyState() / GetAsyncKeyState()
  3. via window messages / raw input
    i'm skipping WinRT because its built on top of Win32
    I have tested all of these, to catch any potential keys only reported in a subset (but didn't find any)

||Yes, I've become obsessed with this. No, you can't stop me from doing it all over again on linux. fight me||

violet kraken
#

we disabled footnotes and header markdown as its mainly used by scammers

jagged star
#

still trying to figure out which part of my missing message is triggering the system lol

violet kraken
#

i didnt see an automod log so might not be us

#

oh masked links btw are also blocked for previously mentioned scammer reasons

jagged star
#

what are masked links?

violet kraken
#

[text](link)

#

i think the paranthesis are the right way round

jagged star
#

ah yes that was it, ty

violet kraken
#

also regarding where we draw the line: we do try to keep it restricted to

  1. is in the HID UsageTable
  2. works on Linux, MacOS and Windows (unless its a key that obviously just belongs to 1 of the 3)