debauchee / barrier

Open-source KVM software
Other
27.33k stars 1.51k forks source link

Caps lock and num lock status indicators not working #697

Open ivanaponi opened 4 years ago

ivanaponi commented 4 years ago

Caps lock and num lock are not functioning from Windows Server to Linux Client

To repro Move the mouse to the Linux client and press num lock or caps lock

Expected to see the light indicator function with num lock and caps lock

simons-public commented 4 years ago

I can confirm this happens on the latest master with a MacOS server and Linux client as well. On the Linux client the xev command does not register any KeyPress or KeyRelease events.

Edit: Caps lock by itself does not register until a key is pressed. Below is the xev output when pressing just caps lock followed by 'a' (my notes annotated with >>>). It looks like caps lock presses and releases (turning it on), then the letter A key is pressed, then before A is released caps lock presses and releases (turning it off) again.

@ivanaponi Is capslock working for you but just not showing the keyboard light?

>>> Capslock pressed here, nothing happens
>>> Letter 'a' pressed here, Caps_Lock KeyPress/KeyRelease fires

KeyPress event, serial 39, synthetic NO, window 0x1400001,
    root 0x1a0, subw 0x0, time 775093239, (516,411), root:(522,439),
    state 0x0, keycode 66 (keysym 0xffe5, Caps_Lock), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyRelease event, serial 39, synthetic NO, window 0x1400001,
    root 0x1a0, subw 0x0, time 775093239, (516,411), root:(522,439),
    state 0x2, keycode 66 (keysym 0xffe5, Caps_Lock), same_screen YES,
    XLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyPress event, serial 39, synthetic NO, window 0x1400001,
    root 0x1a0, subw 0x0, time 775093239, (516,411), root:(522,439),
    state 0x2, keycode 38 (keysym 0x41, A), same_screen YES,
    XLookupString gives 1 bytes: (41) "A"
    XmbLookupString gives 1 bytes: (41) "A"
    XFilterEvent returns: False

>>> After pressing only Caps Lock and 'a', capslock triggers again before the 'a' KeyRelease

KeyPress event, serial 39, synthetic NO, window 0x1400001,
    root 0x1a0, subw 0x0, time 775093239, (516,411), root:(522,439),
    state 0x2, keycode 66 (keysym 0xffe5, Caps_Lock), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyRelease event, serial 39, synthetic NO, window 0x1400001,
    root 0x1a0, subw 0x0, time 775093239, (516,411), root:(522,439),
    state 0x2, keycode 66 (keysym 0xffe5, Caps_Lock), same_screen YES,
    XLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyRelease event, serial 39, synthetic NO, window 0x1400001,
    root 0x1a0, subw 0x0, time 775093343, (516,411), root:(522,439),
    state 0x0, keycode 38 (keysym 0x61, a), same_screen YES,
    XLookupString gives 1 bytes: (61) "a"
    XFilterEvent returns: False
ivanaponi commented 4 years ago

The actual input works, just no indication of that mode of operation

simons-public commented 4 years ago

@ivanaponi Would you mind changing the title to reflect that it is just the indicators that don't work?

ivanaponi commented 4 years ago

I also note that when I set it to caps lock or num lock, it is common across both machines and not specific to the machine it was set on, I think it should be set to only the machine it was set to and persisted across machine change

github-actions[bot] commented 4 years ago

This issue has been automatically marked as stale due to inactivity. It will be closed if no further activity occurs. Thank you for your contributions.

p12tic commented 3 years ago

This is a valid bug, let's not close it.