[GH-ISSUE #697] Caps lock and num lock status indicators not working #554

Open
opened 2026-05-05 06:40:10 -06:00 by gitea-mirror · 6 comments
Owner

Originally created by @ivanaponi on GitHub (May 27, 2020).
Original GitHub issue: https://github.com/debauchee/barrier/issues/697

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

Originally created by @ivanaponi on GitHub (May 27, 2020). Original GitHub issue: https://github.com/debauchee/barrier/issues/697 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
gitea-mirror added the
bug
label 2026-05-05 06:40:10 -06:00
Author
Owner

@simons-public commented on GitHub (May 28, 2020):

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

<!-- gh-comment-id:635070839 --> @simons-public commented on GitHub (May 28, 2020): 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 ```
Author
Owner

@ivanaponi commented on GitHub (May 28, 2020):

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

<!-- gh-comment-id:635270389 --> @ivanaponi commented on GitHub (May 28, 2020): The actual input works, just no indication of that mode of operation
Author
Owner

@simons-public commented on GitHub (May 28, 2020):

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

<!-- gh-comment-id:635360548 --> @simons-public commented on GitHub (May 28, 2020): @ivanaponi Would you mind changing the title to reflect that it is just the indicators that don't work?
Author
Owner

@ivanaponi commented on GitHub (May 28, 2020):

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

<!-- gh-comment-id:635363782 --> @ivanaponi commented on GitHub (May 28, 2020): 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
Author
Owner

@github-actions[bot] commented on GitHub (Sep 21, 2020):

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.

<!-- gh-comment-id:695867470 --> @github-actions[bot] commented on GitHub (Sep 21, 2020): 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.
Author
Owner

@p12tic commented on GitHub (Jan 10, 2021):

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

<!-- gh-comment-id:757528957 --> @p12tic commented on GitHub (Jan 10, 2021): This is a valid bug, let's not close it.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: github-starred/barrier#554
No description provided.