GXCapIndicator is a simple tool for indicating the status of Caps Lock and Num Lock keys in the system tray.
- Monitor Caps Lock and Num Lock keys
- Toggle Caps Lock and Num Lock with an on-screen button
- Hideable indicators
- Adjustable update rate
- Wayland support (with
Evdev
)
To build GXCapIndicator, choose the backend you want to use:
make
make WITHX11=1
GXCapIndicator supports two backends for fetching key status: X11 and Evdev. Each backend has its own capabilities and limitations.
- Uses
XkbGetState
to fetch the key status. - Checks cannot be done in real time without generating high CPU usage.
- Some options are not available:
- Initial Visual State: Cannot set the initial visual state of Caps Lock/Num Lock (unnecessary with XkbGetState).
- Uses
libinput_event_get_keyboard_event
to fetch the key status. - Checks can be real time without high CPU Usage
- Some options are not available:
- Update Rate: Cannot change update rate because polling intercepts events (and is not really necessary because there is no CPU usage penalty).
- Toggle: Can't be implemented without root access.
You can configure GXCapIndicator with the integrated GUI (settings
in indicator menu) or by editing $HOME/.config/gxcapindicator
using the following options:
Item | Description | Possible Values | Default Value | Example | Scope |
---|---|---|---|---|---|
showcap |
Enables the Caps Lock key indicator | 0 , 1 |
1 |
showcap=1 |
All |
shownum |
Enables the Num Lock key indicator | 0 , 1 |
1 |
shownum=1 |
All |
updrate |
Sets the update rate | (Number) | 0 |
updrate=0 |
X11 |
vcapstate |
Sets the initial visual state of Caps Lock | 0 , 1 |
0 |
vcapstate=0 |
Evdev |
vnumstate |
Sets the initial visual state of Num Lock | 0 , 1 |
0 |
vnumstate=0 |
Evdev |