pwr-Solaar / Solaar

Linux device manager for Logitech devices
https://pwr-solaar.github.io/Solaar
GNU General Public License v2.0
5.18k stars 397 forks source link

Virtual Gesture Button does not show up in UI but does show up in solaar show #1925

Closed sidevesh closed 1 year ago

sidevesh commented 1 year ago

Information

``` Solaar version 1.1.7 USB and Bluetooth Devices 1: M585/M590 Multi-Device Mouse Device path : /dev/hidraw3 USB id : 046d:B01B Codename : M585/M590 Kind : mouse Protocol : HID++ 4.5 Serial number: Model ID: B01B406B0000 Unit ID: 25F556B4 Bootloader: BOT 48.01.B0002 Firmware: MPM 05.10.B0011 Other: Supports 30 HID++ 2.0 features: 0: ROOT {0000} V0 1: FEATURE SET {0001} V0 2: DEVICE FW VERSION {0003} V2 Firmware: Bootloader BOT 48.01.B0002 0000AE5E7277 Firmware: Firmware MPM 05.10.B0011 B01BAE5E7277 Firmware: Other Unit ID: 25F556B4 Model ID: B01B406B0000 Transport IDs: {'btleid': 'B01B', 'wpid': '406B'} 3: DEVICE NAME {0005} V0 Name: M585/M590 Multi-Device Mouse Kind: mouse 4: WIRELESS DEVICE STATUS {1D4B} V0 5: RESET {0020} V0 6: CRYPTO ID {0021} V1 7: DEVICE FRIENDLY NAME {0007} V0 Friendly Name: M585/M590 8: BATTERY STATUS {1000} V0 Battery: 90%, discharging, next level 50%. 9: CHANGE HOST {1814} V1 Change Host : 2:Lenovo-Yoga-7 10: HOSTS INFO {1815} V1 Host 0 (paired): Host 1 (paired): Lenovo-Yoga-7 11: REPROG CONTROLS V4 {1B04} V3 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, Left Tilt:Mouse Scroll Left Button , Right Tilt:Mouse Scroll Right Button} 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, Left Tilt:Mouse Scroll Left Button , Right Tilt:Mouse Scroll Right Button} Key/Button Diversion (saved): {Middle Button:Mouse Gestures, Back Button:Diverted, Forward Button:Diverted, Left Tilt:Diverted, Right Tilt:Diverted} Key/Button Diversion : {Middle Button:Diverted, Back Button:Diverted, Forward Button:Diverted, Left Tilt:Diverted, Right Tilt:Diverted} 12: PERSISTENT REMAPPABLE ACTION {1C00} V0 Persistent Key/Button Mapping : {Left Button:Mouse Button Left, Right Button:Mouse Button Right, Middle Button:Mouse Button Middle, Back Button:Mouse Button Back, Forward Button:Mouse Button Forward, Left Tilt:Horizontal Scroll Left, Right Tilt:Horizontal Scroll Right} 13: POINTER SPEED {2205} V0 Pointer Speed: 1.0 Sensitivity (Pointer Speed) (saved): 256 Sensitivity (Pointer Speed) : 256 14: VERTICAL SCROLLING {2100} V0 Roller type: standard Ratchet per turn: 18 Scroll lines: 0 15: DFUCONTROL SIGNED {00C2} V0 16: unknown:1803 {1803} V0 internal, hidden 17: unknown:1813 {1813} V0 internal, hidden 18: unknown:1830 {1830} V0 internal, hidden 19: unknown:18A1 {18A1} V0 internal, hidden 20: unknown:1DF3 {1DF3} V0 internal, hidden 21: unknown:1E00 {1E00} V0 hidden 22: unknown:1EB0 {1EB0} V0 internal, hidden 23: unknown:1861 {1861} V0 internal, hidden 24: unknown:18B1 {18B1} V0 internal, hidden 25: unknown:1850 {1850} V0 internal, hidden 26: unknown:1E22 {1E22} V0 27: unknown:1F03 {1F03} V0 internal, hidden 28: unknown:18C0 {18C0} V0 internal, hidden 29: LOWRES WHEEL {2130} V0 Wheel Reports: HID Scroll Wheel Diversion (saved): False Scroll Wheel Diversion : False Has 8 reprogrammable keys: 0: Left Button , default: Left Click => Left Click mse, reprogrammable, pos:0, group:1, group mask:g1 reporting: default 1: Right Button , default: Right Click => Right Click mse, reprogrammable, pos:0, group:1, group mask:g1 reporting: default 2: Middle Button , default: Mouse Middle Button => Mouse Middle Button mse, reprogrammable, divertable, persistently divertable, raw XY, pos:0, group:2, group mask:g1,g2 reporting: diverted, raw XY diverted 3: Back Button , default: Mouse Back Button => Mouse Back Button mse, reprogrammable, divertable, persistently divertable, raw XY, pos:0, group:2, group mask:g1,g2 reporting: diverted 4: Forward Button , default: Mouse Forward Button => Mouse Forward Button mse, reprogrammable, divertable, persistently divertable, raw XY, pos:0, group:2, group mask:g1,g2 reporting: diverted 5: Left Tilt , default: Mouse Scroll Left Button => Mouse Scroll Left Button mse, reprogrammable, divertable, persistently divertable, raw XY, pos:0, group:2, group mask:g1,g2 reporting: diverted 6: Right Tilt , default: Mouse Scroll Right Button => Mouse Scroll Right Button mse, reprogrammable, divertable, persistently divertable, raw XY, pos:0, group:2, group mask:g1,g2 reporting: diverted 7: 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 Has 7 persistent remappable keys: 0: Left Button => Mouse Button: Mouse Button Left 1: Right Button => Mouse Button: Mouse Button Right 2: Middle Button => Mouse Button: Mouse Button Middle 3: Back Button => Mouse Button: Mouse Button Back 4: Forward Button => Mouse Button: Mouse Button Forward 5: Left Tilt => Horizontal Scroll: Horizontal Scroll Left 6: Right Tilt => Horizontal Scroll: Horizontal Scroll Right Battery: 90%, discharging, next level 50%. 2: MX Keys Mini Device path : /dev/hidraw2 USB id : 046d:B369 Codename : MX Keys Mini Kind : ? Protocol : HID++ 4.5 Serial number: Model ID: B36900000000 Unit ID: 45215CFE Bootloader: BL1 53.01.B0006 Firmware: RBK 73.01.B0006 Other: Supports 32 HID++ 2.0 features: 0: ROOT {0000} V0 1: FEATURE SET {0001} V0 2: DEVICE FW VERSION {0003} V4 Firmware: Bootloader BL1 53.01.B0006 B369FD70F4 Firmware: Firmware RBK 73.01.B0006 B369FD70F4 Firmware: Other Unit ID: 45215CFE Model ID: B36900000000 Transport IDs: {'btleid': 'B369'} 3: DEVICE NAME {0005} V0 Name: MX Keys Mini Kind: keyboard 4: WIRELESS DEVICE STATUS {1D4B} V0 5: RESET {0020} V0 6: DEVICE FRIENDLY NAME {0007} V0 Friendly Name: MX Keys Mini 7: UNIFIED BATTERY {1004} V2 Battery: 95%, discharging. 8: REPROG CONTROLS V4 {1B04} V5 Key/Button Diversion (saved): {Backlight Down:Regular, Backlight Up:Regular, Play/Pause Fn:Regular, Mute Fn:Regular, Volume Down Fn:Regular, Volume Up Fn:Regular, Voice Dictation:Regular, Open Emoji Panel:Regular, Snipping Tool:Regular, Delete:Regular, Mute Microphone:Diverted} Key/Button Diversion : {Backlight Down:Regular, Backlight Up:Regular, Play/Pause Fn:Regular, Mute Fn:Regular, Volume Down Fn:Regular, Volume Up Fn:Regular, Voice Dictation:Regular, Open Emoji Panel:Regular, Snipping Tool:Regular, Delete:Regular, Mute Microphone:Diverted} 9: CHANGE HOST {1814} V1 Change Host : 2:Lenovo-Yoga-7 10: HOSTS INFO {1815} V1 Host 0 (unpaired): Host 1 (paired): Lenovo-Yoga-7 Host 2 (unpaired): 11: BACKLIGHT2 {1982} V1 Backlight (saved): True Backlight : True 12: K375S FN INVERSION {40A3} V0 Swap Fx function (saved): True Swap Fx function : True 13: LOCK KEY STATE {4220} V0 14: KEYBOARD DISABLE KEYS {4521} V0 Disable keys (saved): {Caps Lock:False, Insert:False, Win:False} Disable keys : {Caps Lock:False, Insert:False, Win:False} 15: MULTIPLATFORM {4531} V1 Set OS (saved): Windows Set OS : Windows 16: DFUCONTROL {00C3} V0 17: DEVICE RESET {1802} V0 internal, hidden, unknown:000010 18: unknown:1803 {1803} V0 internal, hidden, unknown:000010 19: CONFIG DEVICE PROPS {1806} V8 internal, hidden, unknown:000010 20: unknown:1816 {1816} V0 internal, hidden, unknown:000010 21: OOBSTATE {1805} V0 internal, hidden 22: unknown:1830 {1830} V0 internal, hidden, unknown:000010 23: unknown:1891 {1891} V6 internal, hidden, unknown:000008 24: unknown:18A1 {18A1} V0 internal, hidden, unknown:000010 25: unknown:1E00 {1E00} V0 hidden 26: unknown:1E02 {1E02} V0 internal, hidden 27: unknown:1602 {1602} V0 28: unknown:1EB0 {1EB0} V0 internal, hidden, unknown:000010 29: unknown:1861 {1861} V0 internal, hidden, unknown:000010 30: unknown:1A20 {1A20} V0 internal, hidden, unknown:000010 31: unknown:18B0 {18B0} V0 internal, hidden, unknown:000010 Has 16 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: diverted 9: Play/Pause Fn , default: Play/Pause => Play/Pause is FN, FN sensitive, reprogrammable, divertable, analytics key events, pos:10, group:0, group mask:empty reporting: default 10: Mute Fn , default: Mute => Mute is FN, FN sensitive, reprogrammable, divertable, analytics key events, pos:11, group:0, group mask:empty reporting: default 11: Volume Down Fn , default: Volume Down => Volume Down is FN, FN sensitive, reprogrammable, divertable, analytics key events, pos:12, group:0, group mask:empty reporting: default 12: Volume Up Fn , default: Volume Up => Volume Up nonstandard, reprogrammable, divertable, analytics key events, pos:13, group:0, group mask:empty reporting: default 13: Delete , default: Delete => Delete nonstandard, reprogrammable, divertable, analytics key events, pos:14, group:0, group mask:empty reporting: default 14: F Lock , default: Do Nothing One => Do Nothing One is FN, analytics key events, pos:0, group:0, group mask:empty reporting: default 15: FN Key , default: Do Nothing One => Do Nothing One nonstandard, analytics key events, pos:0, group:0, group mask:empty reporting: default Battery: 95%, discharging. ```
``` - 1.1.7 - _NAME: M720 Triathlon Multi-Device Mouse _absent: [hi-res-scroll, lowres-scroll-mode, smart-shift, thumb-scroll-invert, thumb-scroll-mode, onboard_profiles, report_rate, dpi, dpi-sliding, speed-change, backlight, backlight-timed, fn-swap, disable-keyboard-keys, crown-smooth, divert-crown, divert-gkeys, m-key-leds, mr-key-led, multiplatform, gesture2-gestures, gesture2-divert, gesture2-params, sidetone, equalizer, scroll-ratchet] _battery: 4096 _modelId: B015405E0000 _sensitive: {divert-keys: false, mouse-gestures: false, persistent-remappable-keys: false, reprogrammable-keys: false} _serial: 0F8FF352 _unitId: 6F502D64 _wpid: 405E change-host: null divert-keys: {82: 1, 83: 1, 86: 1, 91: 1, 93: 1, 208: 2} hires-scroll-mode: false hires-smooth-invert: false hires-smooth-resolution: true persistent-remappable-keys: null pointer_speed: 256 reprogrammable-keys: {80: 80, 81: 81, 82: 82, 83: 83, 86: 86, 91: 91, 93: 93, 208: 208} - _NAME: Wireless Keyboard K375s _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, backlight-timed, reprogrammable-keys, crown-smooth, divert-crown, divert-gkeys, m-key-leds, mr-key-led, gesture2-gestures, gesture2-divert, gesture2-params, sidetone, equalizer, scroll-ratchet] _battery: 4096 _modelId: B34C40610000 _sensitive: {divert-keys: false, persistent-remappable-keys: false} _serial: 06E177DF _unitId: 58EFD8E0 _wpid: '4061' change-host: null disable-keyboard-keys: {1: false, 2: false, 4: false, 8: false, 16: false} divert-keys: {1: 0, 2: 0, 3: 0, 4: 0, 5: 0, 6: 0, 10: 0, 189: 0, 191: 1, 192: 0, 193: 0, 209: 0, 210: 0, 211: 0, 212: 0, 213: 0, 214: 1, 221: 1} fn-swap: true multiplatform: 0 persistent-remappable-keys: null - _NAME: MX Keys Mini _absent: [hi-res-scroll, lowres-scroll-mode, hires-smooth-invert, hires-smooth-resolution, hires-scroll-mode, scroll-ratchet, smart-shift, thumb-scroll-invert, thumb-scroll-mode, onboard_profiles, report_rate, pointer_speed, dpi, speed-change, 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] _battery: 4100 _modelId: B36900000000 _sensitive: {backlight: false, change-host: false, divert-keys: false} _unitId: 45215CFE backlight: true change-host: null disable-keyboard-keys: {1: false, 8: false, 16: false} divert-keys: {226: 0, 227: 0, 229: 0, 231: 0, 232: 0, 233: 0, 259: 0, 264: 0, 266: 0, 279: 0, 284: 1} fn-swap: true multiplatform: 0 - _NAME: M585/M590 Multi-Device Mouse _absent: [hi-res-scroll, hires-smooth-invert, hires-smooth-resolution, hires-scroll-mode, scroll-ratchet, smart-shift, thumb-scroll-invert, thumb-scroll-mode, onboard_profiles, report_rate, dpi, speed-change, backlight, backlight-timed, fn-swap, disable-keyboard-keys, crown-smooth, divert-crown, divert-gkeys, m-key-leds, mr-key-led, multiplatform, gesture2-gestures, gesture2-divert, gesture2-params, sidetone, equalizer] _battery: 4096 _modelId: B01B406B0000 _sensitive: {change-host: false, divert-keys: false, persistent-remappable-keys: false, reprogrammable-keys: false} _unitId: 25F556B4 change-host: null divert-keys: {82: 2, 83: 1, 86: 1, 91: 1, 93: 1} lowres-scroll-mode: false persistent-remappable-keys: null pointer_speed: 256 ```

Describe the bug I can't see the Virtual Gesture Button in the Key/Button Diversion, Persistent Key/Button Mapping, Key/Button Actions dropdowns, I can see it in the solaar show output so not sure why it isnt being shown in the UI. Not sure if it matters but both the mouse and the keyboard is connected via bluetooth. Also, am I correct in my understanding that if I divert this button and then use it as a condition then that would allow me to have another set of gestures or button mapping when the key is pressed, atleast that's what I am trying to accomplish.

pfps commented 1 year ago

The Virtual Gesture Button is a virtual button. It should be possible to use this button to set the mouse into gesture mode, but Solaar doesn't (yet) do that.

As this is not a real button it should not show up as a button that can be diverted, etc.

sidevesh commented 1 year ago

Cool, that makes sense, so then is it possible as of now to have another set of mouse gestures when the fn key is pressed ?

pfps commented 1 year ago

No, but under X11 you could use shift and a Modifier condition to do this.