Numlock state

Hello,

I bought a Mistel MD200 Freeboard (a numpad) and I notice the numpad state is being set to true/on after I turned numlock off and hit a random key on any keyboard (I’ve got my laptop keyboard which triggers the numlock state to on on any key press and the same counts for my external keyboard (Mistel Barocco MD770).

I’ve set numlock in the bios to OFF and the sddm config is also set to false/off and this works, till I login and I can’t figure out what is triggering the numlock state to true/on. I tested the numpad on a windows machine and it just worked like it should be. So it’s probably a garuda thing I guess. Is there a way garuda handles the numlock state?
I tried to listen to libinput but I couldn’t figure out, maybe I didn’t do it correctly idk.

One thing I also noticed: I have to push numlock twice to get it turn off after the numlock state turned on by hitting any key (not the numlock on the numpad, I can turn it on/off with one keypress on the numlock key of the numpad. When hitting any other key on the other keyboards numlock will be on (twice).

Here is my Garuda inxi:

System:
  Kernel: 6.18.7-zen1-1-zen arch: x86_64 bits: 64 compiler: gcc v: 15.2.1 clocksource: tsc
    avail: acpi_pm parameters: BOOT_IMAGE=/@/boot/vmlinuz-linux-zen
    root=UUID=cc454338-b98f-4683-86a6-25e40a9ce364 rw rootflags=subvol=@ i915.fastboot=1
    resume=UUID=bd774ef7-bd94-4750-983f-d6d0d1d7b6d5 loglevel=3 mitigations=off
  Desktop: Hyprland v: 0.53.3 with: waybar tools: avail: hypridle,hyprlock vt: 1 dm: SDDM
    Distro: Garuda base: Arch Linux
Machine:
  Type: Laptop System: Micro-Star product: GE62 7RD v: REV:1.0 serial: <superuser required>
    Chassis: type: 10 serial: <superuser required>
  Mobo: Micro-Star model: MS-16J9 v: REV:1.0 serial: <superuser required> part-nu: 16J9.3
    uuid: <superuser required> Firmware: UEFI vendor: American Megatrends v: E16J9IMS.324
    date: 03/23/2018
Battery:
  ID-1: BAT1 charge: 39.5 Wh (96.5%) condition: 40.9/53.2 Wh (76.9%) volts: 12.17 min: 10.86
    model: MSI BIF0_9 type: Li-ion serial: N/A charging: status: not charging cycles: N/A
CPU:
  Info: model: Intel Core i7-7700HQ bits: 64 type: MT MCP arch: Kaby Lake gen: core 7 level: v3
    note: check built: 2018 process: Intel 14nm family: 6 model-id: 0x9E (158) stepping: 9
    microcode: 0xF8
  Topology: cpus: 1x dies: 1 clusters: 4 cores: 4 threads: 8 tpc: 2 smt: enabled cache:
    L1: 256 KiB desc: d-4x32 KiB; i-4x32 KiB L2: 1024 KiB desc: 4x256 KiB L3: 6 MiB desc: 1x6 MiB
  Speed (MHz): avg: 3401 min/max: 800/3800 scaling: driver: intel_pstate governor: powersave
    cores: 1: 3401 2: 3401 3: 3401 4: 3401 5: 3401 6: 3401 7: 3401 8: 3401 bogomips: 44798
  Flags-basic: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx
  Vulnerabilities: <filter>
Graphics:
  Device-1: Intel Kaby Lake-H GT2 [HD Graphics 630] vendor: Micro-Star MSI driver: i915 v: kernel
    arch: Gen-9.5 process: Intel 14nm built: 2016-20 ports: active: HDMI-A-1,HDMI-A-2 off: eDP-1
    empty: DP-1 bus-ID: 00:02.0 chip-ID: 8086:591b class-ID: 0300
  Device-2: NVIDIA GP107M [GeForce GTX 1050 Mobile] vendor: Micro-Star MSI driver: nvidia
    v: 580.126.09 alternate: nouveau,nvidia_drm non-free: 550-580.xx+ status: current (as of
    2025-11; EOL~2026-12-xx) arch: Pascal code: GP10x process: TSMC 16nm built: 2016-2021 pcie:
    gen: 1 speed: 2.5 GT/s lanes: 16 link-max: gen: 3 speed: 8 GT/s bus-ID: 01:00.0
    chip-ID: 10de:1c8d class-ID: 0302
  Display: wayland server: X.org v: 1.21.1.21 with: Xwayland v: 24.1.9 compositor: Hyprland
    v: 0.53.3 driver: X: loaded: intel,nvidia unloaded: modesetting alternate: fbdev,nouveau,nv,vesa
    dri: i965 gpu: i915 display-ID: 1
  Monitor-1: HDMI-A-1 model: Asus VS229 serial: <filter> built: 2013 res: mode: 1920x1080 hz: 60
    scale: 100% (1) dpi: 103 gamma: 1.2 size: 475x267mm (18.7x10.51") diag: 545mm (21.5") ratio: 16:9
    modes: max: 1920x1080 min: 720x400
  Monitor-2: HDMI-A-2 model: Asus VS229 serial: <filter> built: 2013 res: mode: 1920x1080 hz: 60
    scale: 100% (1) dpi: 103 gamma: 1.2 size: 475x267mm (18.7x10.51") diag: 545mm (21.5") ratio: 16:9
    modes: max: 1920x1080 min: 720x400
  Monitor-3: eDP-1 model: LG Display 0x046f built: 2014 res: 1920x1080 dpi: 142 gamma: 1.2
    size: 344x194mm (13.54x7.64") diag: 395mm (15.5") ratio: 16:9 modes: 1920x1080
  API: EGL v: 1.5 hw: drv: intel iris drv: nvidia platforms: device: 0 drv: nvidia device: 1
    drv: iris device: 3 drv: swrast gbm: drv: iris surfaceless: drv: nvidia wayland: drv: iris x11:
    drv: iris inactive: device-2
  API: OpenGL v: 4.6.0 compat-v: 4.5 vendor: intel mesa v: 25.3.4-arch1.1 glx-v: 1.4
    direct-render: yes renderer: Mesa Intel HD Graphics 630 (KBL GT2) device-ID: 8086:591b
    memory: 15.16 GiB unified: yes
  Info: Tools: api: eglinfo,glxinfo gpu: nvidia-smi wl: kanshi, wdisplays, wlr-randr
    x11: xdpyinfo, xprop, xrandr
Audio:
  Device-1: Intel CM238 HD Audio vendor: Micro-Star MSI driver: snd_hda_intel v: kernel
    alternate: snd_soc_avs bus-ID: 00:1f.3 chip-ID: 8086:a171 class-ID: 0403
  Device-2: Focusrite-Novation Focusrite Scarlett 6i6 driver: snd-usb-audio type: USB rev: 2.0
    speed: 480 Mb/s lanes: 1 mode: 2.0 bus-ID: 1-3:2 chip-ID: 1235:8203 class-ID: 0103
    serial: <filter>
  API: ALSA v: k6.18.7-zen1-1-zen status: kernel-api with: aoss type: oss-emulator
    tools: alsactl,alsamixer,amixer
  Server-1: sndiod v: N/A status: off tools: aucat,midicat,sndioctl
  Server-2: PipeWire v: 1.4.10 status: active with: 1: pipewire-pulse status: active
    2: wireplumber status: active 3: pipewire-alsa type: plugin 4: pw-jack type: plugin
    tools: pactl,pw-cat,pw-cli,wpctl
Network:
  Device-1: Intel Dual Band Wireless-AC 3168NGW [Stone Peak] driver: iwlwifi v: kernel pcie: gen: 1
    speed: 2.5 GT/s lanes: 1 bus-ID: 02:00.0 chip-ID: 8086:24fb class-ID: 0280
  IF: wlp2s0 state: up mac: <filter>
  Device-2: Qualcomm Atheros Killer E2500 Gigabit Ethernet vendor: Micro-Star MSI driver: alx
    v: kernel pcie: gen: 1 speed: 2.5 GT/s lanes: 1 port: d000 bus-ID: 03:00.0 chip-ID: 1969:e0b1
    class-ID: 0200
  IF: enp3s0 state: down mac: <filter>
  Info: services: NetworkManager, systemd-timesyncd, wpa_supplicant
Bluetooth:
  Device-1: Intel Wireless-AC 3168 Bluetooth driver: btusb v: 0.8 type: USB rev: 2.0 speed: 12 Mb/s
    lanes: 1 mode: 1.1 bus-ID: 1-10:5 chip-ID: 8087:0aa7 class-ID: e001
  Report: btmgmt ID: hci0 rfk-id: 0 state: down bt-service: enabled,running rfk-block:
    hardware: no software: yes address: <filter> bt-v: 4.2 lmp-v: 8 status: discoverable: no
    pairing: no
Drives:
  Local Storage: total: 2.05 TiB used: 821.94 GiB (39.1%)
  SMART Message: Required tool smartctl not installed. Check --recommends
  ID-1: /dev/sda maj-min: 8:0 vendor: Kingston model: RBU-SNS8152S3256GG5 size: 238.47 GiB
    block-size: physical: 512 B logical: 512 B speed: 6.0 Gb/s tech: SSD serial: <filter>
    fw-rev: 01.R scheme: GPT
  ID-2: /dev/sdb maj-min: 8:16 vendor: Crucial model: CT1000BX500SSD1 size: 931.51 GiB
    block-size: physical: 512 B logical: 512 B speed: 6.0 Gb/s tech: SSD serial: <filter> fw-rev: 072
    scheme: GPT
  ID-3: /dev/sdc maj-min: 8:32 vendor: HGST (Hitachi) model: HTS721010A9E630 size: 931.51 GiB
    block-size: physical: 4096 B logical: 512 B speed: 6.0 Gb/s tech: HDD rpm: 7200 serial: <filter>
    fw-rev: A3U0 scheme: GPT
Partition:
  ID-1: / raw-size: 221.1 GiB size: 221.1 GiB (100.00%) used: 78.43 GiB (35.5%) fs: btrfs
    dev: /dev/sda2 maj-min: 8:2
  ID-2: /boot/efi raw-size: 300 MiB size: 299.4 MiB (99.80%) used: 664 KiB (0.2%) fs: vfat
    dev: /dev/sda1 maj-min: 8:1
  ID-3: /home raw-size: 221.1 GiB size: 221.1 GiB (100.00%) used: 78.43 GiB (35.5%) fs: btrfs
    dev: /dev/sda2 maj-min: 8:2
  ID-4: /var/log raw-size: 221.1 GiB size: 221.1 GiB (100.00%) used: 78.43 GiB (35.5%) fs: btrfs
    dev: /dev/sda2 maj-min: 8:2
  ID-5: /var/tmp raw-size: 221.1 GiB size: 221.1 GiB (100.00%) used: 78.43 GiB (35.5%) fs: btrfs
    dev: /dev/sda2 maj-min: 8:2
Swap:
  Kernel: swappiness: 133 (default 60) cache-pressure: 100 (default) zswap: no
  ID-1: swap-1 type: zram size: 15.53 GiB used: 0 KiB (0.0%) priority: 100 comp: zstd
    avail: lzo-rle,lzo,lz4,lz4hc,deflate,842 dev: /dev/zram0
  ID-2: swap-2 type: partition size: 17.08 GiB used: 0 KiB (0.0%) priority: -2 dev: /dev/sda3
    maj-min: 8:3
Sensors:
  System Temperatures: cpu: 77.0 C pch: 57.0 C mobo: N/A
  Fan Speeds (rpm): N/A
Info:
  Memory: total: 16 GiB available: 15.53 GiB used: 3.88 GiB (25.0%)
  Processes: 323 Power: uptime: 0m states: freeze,mem,disk suspend: deep avail: s2idle wakeups: 0
    hibernate: platform avail: shutdown, reboot, suspend, test_resume image: 6.13 GiB Init: systemd
    v: 259 default: graphical tool: systemctl
  Packages: pm: pacman pkgs: 1678 libs: 430 tools: pacseek,paru,yay Compilers: clang: 21.1.6
    gcc: 15.2.1 Client: Unknown Client: electron inxi: 3.3.40
Garuda (2.12.3-2):
  System install date:     2025-11-20
  Garuda release:          251103
  Last full system update: 2026-02-04
  Is partially upgraded:   No
  Relevant software:       snapper NetworkManager dracut nvidia-580xx-dkms garuda-hardware-profile-nvidia-580xx garuda-hardware-profile-standard
  Windows dual boot:       No/Undetected
  Failed units:            
--- System Health Check Report ---
25/26 checks run in 1.11 seconds ⌛
Powered by garuda-health 🦅

--- LOW ---
 - Old Btrfs snapshots found that can be deleted (fix available)

Run garuda-health --fix to apply fixes.
1 Like

Welcome :slight_smile:

Does the manual say that it is suitable for Linux?
It is never Garuda or Linux’s fault, it is always due to missing/bad drivers, as many manufacturers do not care about Linux.

And Hyprland is another special topic. Try out the live ISO KDE/Mokka to see if it works there.

1 Like

hmm,.. could be. manufactures sites doesn’t say anything about linux. It doesn’t need any driver to work, everything is saved in the keyboard it self. But I notice this issue only persists when the md770 keyboard is connected so it’s definitely coming from the keyboard, not the laptop or the numpad. And I still have no idea how garuda handles numlock or maybe it doesn’t? You don’t explain.

In hyprland config there is a line about.

https://gitlab.com/garuda-linux/themes-and-settings/settings/garuda-hyprland-settings/-/blob/main/etc/skel/.config/hypr/hyprland.conf?ref_type=heads#L41

numlock_by_default= true

Did you check KDE?

1 Like

oeh nice! I didn’t see that (I did search for numlock, probably didn’t searched the variables config). I just moved that line at the end of the var and commented it. Seems to be working now.

Great! Thank you very much and this went pretty quick. :partying_face:
Now I can enjoy my gear much more.

1 Like

Another way is, set true to false :slight_smile:

This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.