houmain / keymapper

A cross-platform context-aware key remapper.
GNU General Public License v3.0
257 stars 21 forks source link

Bluetooth keyboard unaffected (Linu #86

Closed alchzh closed 7 months ago

alchzh commented 7 months ago

Keymapper affects the built in laptop keyboard and keyboard when connected with USB correctly. Bluetooth Keyboard also works on Windows.

Keyboard is a Keychron K7. Running Arch with latest Plasma desktop (with Wayland) and bluedevil as the bluetooth manager.

Let me know what logs to provide to help.

houmain commented 7 months ago

Hi, thanks for reporting and your offer to provide additional information! I would like to try to get my hands on a bluetooth device and reproduce it first.

alchzh commented 7 months ago

Might not have anything to do with bluetooth- I'm also experiencing the issue occasionally with the wired connection. Based on evtest and keymapperd -v it looks like my device just isn't getting grabbed

# evtest
...
/dev/input/event257:    Keychron Keychron K7
/dev/input/event258:    Keychron Keychron K7
/dev/input/event259:    Keymapper
...

# keymapperd -v
Waiting for keymapper to connect
Received configuration
Received contexts (2)
Creating virtual device 'Keymapper'
Updating device list
Grabbing device event1 'Power Button'
Grabbing device event2 'Power Button'
Grabbing device event3 'AT Translated Set 2 keyboard'
Grabbing device event4 'Video Bus'
Grabbing device event5 'DP-1'
Grabbing device event6 'Wireless hotkeys'
Grabbing device event7 'Intel Virtual Buttons'
Grabbing device event10 'Razer Orochi V2 Keyboard'
Grabbing device event14 'Razer Orochi V2'
Grabbing device event15 'Razer Orochi V2 Consumer Control'
Grabbing device event20 'Samson Technologies Samson Q2U Microphone'
Grabbing device event21 'HP WMI hotkeys'
Grabbing device event23 'Orochi V2 Consumer Control'
Grabbing device event30 'Orochi V2 System Control'

I'll see if I can provide a fix for this myself

alchzh commented 7 months ago

Looks like this is just from the hardcoded scan for evdev devices from 0-31 which is the old legacy range. Numbers in the "dynamic range" starting from 256 have been supported for many years, so this is limit is no longer correct.