Problems when making CAPS LOCK work as CONTROL_L
Created by: jameskeim
Information
- Solaar version (
solaar --version
orgit describe --tags
if cloned from this repository): Solaar version 1.1.4 - Distribution: Manjaro
- Kernel version (ex.
uname -srmo
): Linux 5.15.65-1-MANJARO x86_64 GNU/Linux - Output of
solaar show
:
Solaar version 1.1.4
Bolt Receiver
Device path : /dev/hidraw6
USB id : 046d:C548
Serial : 45374441454436304233314230413538
Has 1 paired device(s) out of a maximum of 6.
Notifications: wireless, software present (0x000900)
Device activity counters: 1=186
1: MX Mechanical Mini
Device path : None
WPID : B367
Codename : MX MCHNCL M
Kind : keyboard
Protocol : HID++ 4.5
Serial number: 915FAE83
Model ID: B36700000000
Unit ID: 915FAE83
Bootloader: BL1 50.01.B0011
Firmware: RBK 72.01.B0011
Other:
The power switch is located on the (unknown).
Supports 32 HID++ 2.0 features:
0: ROOT {0000}
1: FEATURE SET {0001}
2: DEVICE FW VERSION {0003}
Firmware: Bootloader BL1 50.01.B0011 B3679386D010
Firmware: Firmware RBK 72.01.B0011 B3679386D010
Firmware: Other
Unit ID: 915FAE83 Model ID: B36700000000 Transport IDs: {'btleid': 'B367'}
3: DEVICE NAME {0005}
Name: MX Mechanical Mini
Kind: keyboard
4: WIRELESS DEVICE STATUS {1D4B}
5: RESET {0020}
6: DEVICE FRIENDLY NAME {0007}
Friendly Name: MX MCHNCL M
7: UNIFIED BATTERY {1004}
8: REPROG CONTROLS V4 {1B04}
Key/Button Diversion (saved): {MultiPlatform Search:Regular, Backlight Down:Regular, Backlight Up:Regular, Mute Fn:Regular, Volume Down Fn:Regular, Volume Up Fn:Regular, Voice Dictation:Regular, Open Emoji Panel:Regular, Snipping Tool:Regular, Grave Accent:Regular, Tab Key:Regular, Caps Lock:Diverted, Left Shift:Regular, Left Control:Regular, Left Option/Start:Regular, Left Command/Alt:Regular, Right Command/Alt:Regular, Right Shift:Regular, Delete:Regular, Home:Regular, End:Regular, Page Up:Regular, Page Down:Regular, Mute Microphone:Regular, Backslash:Regular, unknown:013C:Regular, unknown:0141:Regular}
Key/Button Diversion : {MultiPlatform Search:Regular, Backlight Down:Regular, Backlight Up:Regular, Mute Fn:Regular, Volume Down Fn:Regular, Volume Up Fn:Regular, Voice Dictation:Regular, Open Emoji Panel:Regular, Snipping Tool:Regular, Grave Accent:Regular, Tab Key:Regular, Caps Lock:Regular, Left Shift:Regular, Left Control:Regular, Left Option/Start:Regular, Left Command/Alt:Regular, Right Command/Alt:Regular, Right Shift:Regular, Delete:Regular, Home:Regular, End:Regular, Page Up:Regular, Page Down:Regular, Mute Microphone:Regular, Backslash:Regular, unknown:013C:Regular, unknown:0141:Regular}
9: CHANGE HOST {1814}
Change Host : 1:HP-t620plus
10: HOSTS INFO {1815}
Host 0 (paired): HP-t620plus
Host 1 (unpaired):
Host 2 (unpaired):
11: BACKLIGHT2 {1982}
Backlight (saved): True
Backlight : True
12: K375S FN INVERSION {40A3}
Swap Fx function (saved): False
Swap Fx function : False
13: LOCK KEY STATE {4220}
14: KEYBOARD DISABLE KEYS {4521}
Disable keys (saved): {Caps Lock:True, Scroll Lock:False, Insert:False, Win:False}
Disable keys : {Caps Lock:False, Scroll Lock:False, Insert:False, Win:False}
15: MULTIPLATFORM {4531}
Set OS (saved): Windows
Set OS : Windows
16: KEYBOARD LAYOUT 2 {4540}
17: DFUCONTROL {00C3}
18: DEVICE RESET {1802} internal, hidden, unknown:000010
19: unknown:1803 {1803} internal, hidden, unknown:000010
20: CONFIG DEVICE PROPS {1806} internal, hidden, unknown:000010
21: unknown:1816 {1816} internal, hidden, unknown:000010
22: OOBSTATE {1805} internal, hidden
23: unknown:1830 {1830} internal, hidden, unknown:000010
24: unknown:1891 {1891} internal, hidden, unknown:000008
25: unknown:18A1 {18A1} internal, hidden, unknown:000010
26: unknown:1E00 {1E00} hidden
27: unknown:1E02 {1E02} internal, hidden
28: unknown:1602 {1602}
29: unknown:1EB0 {1EB0} internal, hidden, unknown:000010
30: unknown:1861 {1861} internal, hidden, unknown:000010
31: unknown:1A20 {1A20} internal, hidden, unknown:000010
Has 32 reprogrammable keys:
0: Host Switch Channel 1 , default: HostSwitch Channel 1 => HostSwitch Channel 1
is FN, FN sensitive, analytics key events, pos:1, group:0, group mask:empty
reporting: default
1: Host Switch Channel 2 , default: HostSwitch Channel 2 => HostSwitch Channel 2
is FN, FN sensitive, analytics key events, pos:2, group:0, group mask:empty
reporting: default
2: Host Switch Channel 3 , default: HostSwitch Channel 3 => HostSwitch Channel 3
is FN, FN sensitive, analytics key events, pos:3, group:0, group mask:empty
reporting: default
3: Backlight Down , default: Backlight Down => Backlight Down
is FN, FN sensitive, reprogrammable, divertable, analytics key events, pos:4, group:0, group mask:empty
reporting: default
4: Backlight Up , default: Backlight Up => Backlight Up
is FN, FN sensitive, reprogrammable, divertable, analytics key events, pos:5, group:0, group mask:empty
reporting: default
5: Voice Dictation , default: Voice Dictation => Voice Dictation
is FN, FN sensitive, reprogrammable, divertable, analytics key events, pos:6, group:0, group mask:empty
reporting: default
6: Open Emoji Panel , default: Open Emoji Panel => Open Emoji Panel
is FN, FN sensitive, reprogrammable, divertable, analytics key events, pos:7, group:0, group mask:empty
reporting: default
7: Snipping Tool , default: Snipping Tool => Snipping Tool
is FN, FN sensitive, reprogrammable, divertable, analytics key events, pos:8, group:0, group mask:empty
reporting: default
8: Mute Microphone , default: Mute Microphone => Mute Microphone
is FN, FN sensitive, reprogrammable, divertable, analytics key events, pos:9, group:0, group mask:empty
reporting: default
9: MultiPlatform Search , default: Multiplatform Search => Multiplatform Search
is FN, FN sensitive, reprogrammable, divertable, analytics key events, pos:10, group:0, group mask:empty
reporting: default
10: unknown:0141 , default: unknown:00FD => unknown:00FD
is FN, FN sensitive, reprogrammable, divertable, analytics key events, pos:11, group:0, group mask:empty
reporting: default
11: Mute Fn , default: Mute => Mute
is FN, FN sensitive, reprogrammable, divertable, analytics key events, pos:12, group:0, group mask:empty
reporting: default
12: Volume Down Fn , default: Volume Down => Volume Down
nonstandard, reprogrammable, divertable, analytics key events, pos:0, group:0, group mask:empty
reporting: default
13: Volume Up Fn , default: Volume Up => Volume Up
nonstandard, reprogrammable, divertable, analytics key events, pos:0, group:0, group mask:empty
reporting: default
14: Grave Accent , default: Grave Accent => Grave Accent
reprogrammable, divertable, analytics key events, pos:0, group:0, group mask:empty
reporting: default
15: Tab Key , default: Standard Tab Key => Standard Tab Key
reprogrammable, divertable, analytics key events, pos:0, group:0, group mask:empty
reporting: default
16: Caps Lock , default: Caps Lock => Caps Lock
reprogrammable, divertable, analytics key events, pos:0, group:0, group mask:empty
reporting: default
17: Left Shift , default: Left Shift => Left Shift
reprogrammable, divertable, analytics key events, pos:0, group:0, group mask:empty
reporting: default
18: Left Control , default: Left Control => Left Control
reprogrammable, divertable, analytics key events, pos:0, group:0, group mask:empty
reporting: default
19: Left Option/Start , default: Left Option/Start => Left Option/Start
reprogrammable, divertable, analytics key events, pos:0, group:0, group mask:empty
reporting: default
20: Left Command/Alt , default: Left Command/Alt => Left Command/Alt
reprogrammable, divertable, analytics key events, pos:0, group:0, group mask:empty
reporting: default
21: Right Command/Alt , default: Right Command/Alt => Right Command/Alt
reprogrammable, divertable, analytics key events, pos:0, group:0, group mask:empty
reporting: default
22: unknown:013C , default: Right Option/Start/2 => Right Option/Start/2
reprogrammable, divertable, analytics key events, pos:0, group:0, group mask:empty
reporting: default
23: Right Shift , default: Right Shift => Right Shift
reprogrammable, divertable, analytics key events, pos:0, group:0, group mask:empty
reporting: default
24: Backslash , default: Backslash => Backslash
reprogrammable, divertable, analytics key events, pos:0, group:0, group mask:empty
reporting: default
25: Delete , default: Delete => Delete
reprogrammable, divertable, analytics key events, pos:0, group:0, group mask:empty
reporting: default
26: Home , default: Home => Home
reprogrammable, divertable, analytics key events, pos:0, group:0, group mask:empty
reporting: default
27: End , default: End => End
reprogrammable, divertable, analytics key events, pos:0, group:0, group mask:empty
reporting: default
28: Page Up , default: Page Up => Page Up
reprogrammable, divertable, analytics key events, pos:0, group:0, group mask:empty
reporting: default
29: Page Down , default: Page Down => Page Down
reprogrammable, divertable, analytics key events, pos:0, group:0, group mask:empty
reporting: default
30: F Lock , default: Do Nothing One => Do Nothing One
is FN, analytics key events, pos:0, group:0, group mask:empty
reporting: default
31: FN Key , default: Do Nothing One => Do Nothing One
nonstandard, analytics key events, pos:0, group:0, group mask:empty
reporting: default
Battery: 100%, discharging.
Unifying Receiver
Device path : /dev/hidraw7
USB id : 046d:C52B
Serial : 444DA8DF
Firmware : 12.10.B0032
Bootloader : 02.15
Other : AA.AA
Has 1 paired device(s) out of a maximum of 6.
Notifications: wireless, software present (0x000900)
Device activity counters: 3=227
3: MX Anywhere 3
Device path : /dev/hidraw8
WPID : 4090
Codename : MX Anywhere 3
Kind : mouse
Protocol : HID++ 4.5
Polling rate : 8 ms (125Hz)
Serial number: 96A9C5DF
Model ID: B02540900000
Unit ID: 96A9C5DF
Bootloader: BL1 13.01.B0015
Firmware: MPM 24.01.B0015
Other:
The power switch is located on the base.
Supports 32 HID++ 2.0 features:
0: ROOT {0000}
1: FEATURE SET {0001}
2: DEVICE FW VERSION {0003}
Firmware: Bootloader BL1 13.01.B0015 0000AACD8D78
Firmware: Firmware MPM 24.01.B0015 4090AACD8D78
Firmware: Other
Unit ID: 96A9C5DF Model ID: B02540900000 Transport IDs: {'btleid': 'B025', 'wpid': '4090'}
3: DEVICE NAME {0005}
Name: MX Anywhere 3
Kind: mouse
4: WIRELESS DEVICE STATUS {1D4B}
5: RESET {0020}
6: CRYPTO ID {0021}
7: DEVICE FRIENDLY NAME {0007}
Friendly Name: MX Anywhere 3
8: UNIFIED BATTERY {1004}
9: REPROG CONTROLS V4 {1B04}
DPI Sliding Adjustment (saved): Off
DPI Sliding Adjustment : Off
Mouse Gestures (saved): Off
Mouse Gestures : Off
Key/Button Actions (saved): {Left Button:Left Click, Right Button:Right Click, Middle Button:Mouse Middle Button, Back Button:Mouse Back Button, Forward Button:Mouse Forward Button, Smart Shift:Smart Shift}
Key/Button Actions : {Left Button:Left Click, Right Button:Right Click, Middle Button:Mouse Middle Button, Back Button:Mouse Back Button, Forward Button:Mouse Forward Button, Smart Shift:Smart Shift}
Key/Button Diversion (saved): {Middle Button:Regular, Back Button:Regular, Forward Button:Regular, Smart Shift:Regular}
Key/Button Diversion : {Middle Button:Regular, Back Button:Regular, Forward Button:Regular, Smart Shift:Regular}
10: CHANGE HOST {1814}
Change Host : 2:HP-t620plus
11: XY STATS {2250}
12: ADJUSTABLE DPI {2201}
Sensitivity (DPI) (saved): 1000
Sensitivity (DPI) : 1000
13: SMART SHIFT ENHANCED {2111}
Scroll Wheel Rachet (saved): 10
Scroll Wheel Rachet : 10
14: HIRES WHEEL {2121}
Multiplier: 15
Has invert: Normal wheel motion
Has ratchet switch: Normal wheel mode
Low resolution mode
HID notification
Scroll Wheel Direction (saved): False
Scroll Wheel Direction : False
Scroll Wheel Resolution (saved): False
Scroll Wheel Resolution : False
Scroll Wheel Diversion (saved): False
Scroll Wheel Diversion : False
15: WHEEL STATS {2251}
16: DFUCONTROL SIGNED {00C2}
17: DEVICE RESET {1802} internal, hidden
18: unknown:1803 {1803} internal, hidden
19: CONFIG DEVICE PROPS {1806} internal, hidden
20: unknown:1812 {1812} internal, hidden
21: OOBSTATE {1805} internal, hidden
22: unknown:1830 {1830} internal, hidden
23: unknown:1890 {1890} internal, hidden
24: unknown:1891 {1891} internal, hidden
25: unknown:18A1 {18A1} internal, hidden
26: unknown:1E00 {1E00} hidden
27: unknown:1EB0 {1EB0} internal, hidden
28: unknown:1861 {1861} internal, hidden
29: unknown:9001 {9001} internal, hidden
30: unknown:1E22 {1E22} internal, hidden
31: unknown:9205 {9205} internal, hidden
Has 7 reprogrammable keys:
0: Left Button , default: Left Click => Left Click
mse, analytics key events, pos:0, group:1, group mask:g1
reporting: default
1: Right Button , default: Right Click => Right Click
mse, analytics key events, pos:0, group:1, group mask:g1
reporting: default
2: Middle Button , default: Mouse Middle Button => Mouse Middle Button
mse, reprogrammable, divertable, raw XY, analytics key events, pos:0, group:2, group mask:g1,g2
reporting: default
3: Back Button , default: Mouse Back Button => Mouse Back Button
mse, reprogrammable, divertable, raw XY, analytics key events, unknown:000800, pos:0, group:2, group mask:g1,g2
reporting: default
4: Forward Button , default: Mouse Forward Button => Mouse Forward Button
mse, reprogrammable, divertable, raw XY, analytics key events, unknown:000800, pos:0, group:2, group mask:g1,g2
reporting: default
5: Smart Shift , default: Smart Shift => Smart Shift
mse, reprogrammable, divertable, raw XY, analytics key events, pos:0, group:2, group mask:g1,g2
reporting: default
6: Virtual Gesture Button , default: Virtual Gesture Button => Virtual Gesture Button
divertable, virtual, raw XY, force raw XY, pos:0, group:3, group mask:empty
reporting: default
Battery: 95%, discharging.
- Contents of
~/.config/solaar/config.yaml
(or~/.config/solaar/config.json
if~/.config/solaar/config.yaml
not present):
- 1.1.4
- {_NAME: Anywhere Mouse MX, _serial: 8EAE743F, _wpid: '1017', side-scroll: true, smooth-scroll: true}
- {_NAME: Wireless Mouse M325, _serial: 444DA8DF, _wpid: 400A}
- _NAME: MX Mechanical Mini
_absent: [hi-res-scroll, lowres-scroll-mode, hires-smooth-invert, hires-smooth-resolution, hires-scroll-mode, smart-shift, thumb-scroll-invert, thumb-scroll-mode,
onboard_profiles, report_rate, pointer_speed, dpi, dpi-sliding, speed-change, mouse-gestures, backlight-timed, reprogrammable-keys, persistent-remappable-keys,
crown-smooth, divert-crown, divert-gkeys, m-key-leds, mr-key-led, gesture2-gestures, gesture2-divert, gesture2-params, sidetone, equalizer]
_modelId: B36700000000
_sensitive: {disable-keyboard-keys: true, divert-keys: true, fn-swap: true, multiplatform: false}
_serial: 915FAE83
_unitId: 915FAE83
_wpid: B367
backlight: true
change-host: null
disable-keyboard-keys: {1: true, 4: false, 8: false, 16: false}
divert-keys: {212: 0, 226: 0, 227: 0, 231: 0, 232: 0, 233: 0, 259: 0, 264: 0, 266: 0, 267: 0, 268: 0, 269: 1, 270: 0, 271: 0, 272: 0, 273: 0, 274: 0,
277: 0, 279: 0, 280: 0, 281: 0, 282: 0, 283: 0, 284: 0, 286: 0, 316: 0, 321: 0}
fn-swap: false
multiplatform: 0
- _NAME: MX Anywhere 3
_absent: [hi-res-scroll, lowres-scroll-mode, thumb-scroll-invert, thumb-scroll-mode, onboard_profiles, report_rate, pointer_speed, speed-change, backlight,
backlight-timed, fn-swap, persistent-remappable-keys, disable-keyboard-keys, crown-smooth, divert-crown, divert-gkeys, m-key-leds, mr-key-led, multiplatform,
gesture2-gestures, gesture2-divert, gesture2-params, sidetone, equalizer]
_modelId: B02540900000
_serial: 96A9C5DF
_unitId: 96A9C5DF
_wpid: '4090'
change-host: null
divert-keys: {82: 0, 83: 0, 86: 0, 196: 0}
dpi: 1000
dpi-sliding: 0
hires-scroll-mode: false
hires-smooth-invert: false
hires-smooth-resolution: false
mouse-gestures: 0
reprogrammable-keys: {80: 80, 81: 81, 82: 82, 83: 83, 86: 86, 196: 196}
smart-shift: 10
- Errors or warrnings from Solaar:
Describe the bug I've been trying to make the CAPS LOCK on my Logitech MX Mechanical Mini work as L-CONTROL.
To Reproduce Steps to reproduce the behavior:
- Go to '...'
- Click on '....'
- Scroll down to '....'
- See error
Screenshots If applicable, add screenshots to help explain your problem. Setting the rule to "Click" gets what I would expect. It outputs a Control_L "tap". So, I've been trying to use the "Depress" and "Release settings and having the Rules watch for the Caps Lock release before releasing the Control-L key. At first blush this seems to work because it allows me to send Ctrl-Key sequences like "Ctrl-T" to the browser to open new browser tabs. However, after I use CAPS LOCK as CONTROL once, the system never seems to see or receive the CONTROL_L release signal. The system behaves as if I am continuing to hold down the CONTROL_L key. Is there something I am doing wrong with the rules or does it not yet work with the modifier keys. I assume I am doing something wrong but I just can't suss it out.
Additional context
FIRST TRY AT RULES YAML: %YAML 1.3
- Rule:
- Key: [Caps Lock, pressed]
- KeyPress:
- Control_L
- depress
- Key: [Caps Lock, released]
- KeyPress:
- Control_L
- release ...
SECOND TRY AT RULES YAML: %YAML 1.3
- Setting: [915FAE83, divert-keys, 269, 1]
- Rule:
- Key: [Caps Lock, pressed]
- KeyPress:
- Control_L
- depress
- Key: [Caps Lock, released]
- KeyPress:
- Control_L
- release ...