I am trying to find the correct key code for Scroll Lock. I use a KVM, and the default for switching between computers is Scroll lock + scroll lock + enter. I have tried Key_LockingScrollLock and Key_ScrollLock but neither is working properly. The KVM doesn’t recognize the key presses. I tried as a macro, and just assigning a key to Scroll lock and manually doing the clicks.
Any idea what I am doing wrong?
My macro is below, the enum was properly updated, if I put other keys in the macro, it works fine.
case MACRO_KVM_SWITCH:
MACRODOWN(I(25),
Tr(Key_ScrollLock), Tr(Key_ScrollLock), Tr(Key_Enter) );
break;
That is correct. I updated my keymap to set the butterfly key to Key_ScrollLock and Key_LockingScrollLock, neither worked. I confirmed my keymap updated correctly by putting Key_Semicolon on the butterfly key, and it worked properly.
My only thought is that maybe the OS is using a slightly different keymap? i.e. the layout is set as something other that pc105 and so it’s seeing scroll lock as something else.
What OS are you using? On Linux, you can use something like xev to see what the OS is interpreting each keypress as.
Grrr… there was an issue with the KVM, but fixing it didn’t solve the issue.
I disabled the KVM’s keyboard emulation, and switched the Model01 into the KVM’s “keyboard” USB port. That allows the Model01 to work properly through the KVM, and is required for the KVM port switch hotkey to work. However, it still doesn’t work.
Also tried switching the KVM’s hotkey to Ctrl + ctrl+ enter and it still doesn’t work with the Model 01. I confirmed CTRL works, by using CTRL +C and CTRL + V, but the KVM doens’t recognize the CTRL+CTRL+Enter.
Checking with the KVM manufacturer to find out if they know anything.
This is what I send using my old keyboard. the keylogger didn’t receive the Enter at the end.
OnKeyDown, Key code=145, Control keys=, Key name SCROLL LOCK
OnKeyup, Key code=145, Control keys=, Key name SCROLL LOCK
OnKeyDown, Key code=145, Control keys=, Key name SCROLL LOCK
OnKeyup, Key code=145, Control keys=, Key name SCROLL LOCK
The keylogger received the same when I used the model 01, but the KVM didn’t respond to it at all.
KVM manufacturer’s support was not very helpful, all they had to say was “The built in emulation is looking for a basic 104 key wired keyboard , no guarantee with anything else”
I am resigning myself that I may not be able to use the keyboard shortcut on the KVM, but have to use the physical buttons on the KVM.
Oh. To make the keylogger effective you’d need to plug the keyboard
straight into the computer, rather than the KVM, before executing the
command sequence since it’s going to change the output.
I was having these same issues, and nothing I tried was working, so I wrote up a simple tool to send the double scroll lock signal to my KVM – it can even be assigned to a key combo: https://github.com/benjaminstout/osx-kvm
I found that at I cannot use the model01 with my IOGear GCS1642 KVM because it expects the keyboard to enumerate as a “normal keyboard” and the KVM emulates the keyboard (e.g. it processes the key presses and passes them on) while listening for specific key sequences (i.e. scroll lock).
I presume the multiple device enumeration of the model01 (i.e. mouse, keyboard, comms, etc.) is not compatible with this scheme.
The KVM might be specifically looking for the keypresses to be on a Boot Keyboard.
The Model 01 (and other Keyboardio/Kaleidoscope keyboards) has a Boot Keyboard interface, but it’s inactive most of the time, in preference to the NKRO keyboard (which is on a multi-report HID interface). Currently, the only time it’s turned on, in practice, is when a BIOS, UEFI, or other pre-boot environment specifically turns it on.
(There’s a Magic Combo to switch back and forth to the Boot Keyboard, but for rather complicated reasons, it doesn’t work as expected.)
I am not technical enough to do it, but I think you could make a firmware that does not have all those other components and just shows as a keyboard in the BOOT mode.