cajhin / capsicain

Powerful low-level keyboard remapping tool for Windows
355 stars 18 forks source link

Capture fn key on Apple keyboards? #2

Closed Beej126 closed 3 years ago

Beej126 commented 4 years ago

i got one of the Matias bluetooth (model: FK418BTLB)... it is key capped as a Mac keyboard with the swapped Alt & Windows among other minor differences... i have to thank you for including that recent fix to recognize the "VID&000205ac" hardware id which corresponds to this keyboard, so that part is already a win! =)

the next question is if there's a way to enable the modified F keys... e.g. volume up via fn+F12... i'm not optimistic, while running capsicain.exe, the fn key doesn't register any debug output... i have seen other low level drivers accomplish this on windows (e.g. hidfalum.sys)... so i'm wondering if there is a way to put interception driver in a debug output mode of its own to see if it's capturing this special key which could then be observed by capsicain

Beej126 commented 4 years ago

to half answer my own question in case anybody else comes through... i ran some samples in the interceptor project and the fn key never registered so i assume it's out of reach...

so i chose the RWIN modifier along with the Fkeys to fire the media functions... i was so glad to find the media key labels listed at the very bottom of the ini file.

COMBO   F12 [.&.. ....] > sequence(VOLUMEUP_VOLUMEUP_VOLUMEUP)
COMBO   F11 [.&.. ....] > sequence(VOLUMEDOWN_VOLUMEDOWN_VOLUMEDOWN)
COMBO   F10 [.&.. ....] > key(MUTE)
COMBO   F8  [.&.. ....] > key(PLAYPAUSE)
cajhin commented 4 years ago

About FN: it depends on the keyboard manufacturer. I've looked into it for Apple keyboards (some of them have FN where Ctrl should be. That keyboard does not send out FN so nobody can read it. There is a way to enter a low-level command mode and send commands to the keyboard, so FN/Ctrl is flipped by the keyboard firmware. Interception only reads, so you'd have to create your own driver to send commands. This gets seriously difficult and it doesn't bother me enough to spend that much time...