Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

MX Master 3 mouse buttong being overridden to LMETA + TAB #3

Open
hanthor opened this issue Nov 16, 2024 · 6 comments
Open

MX Master 3 mouse buttong being overridden to LMETA + TAB #3

hanthor opened this issue Nov 16, 2024 · 6 comments

Comments

@hanthor
Copy link

hanthor commented Nov 16, 2024

RUST_LOG=trace sudo -E target/debug/fukomaster
 2024-11-16T08:53:47.397Z TRACE mio::poll > registering event source with poller: token=Token(0), interests=READABLE
 2024-11-16T08:53:47.397Z TRACE notify::inotify > adding inotify watch: /dev/input
 2024-11-16T08:53:47.397Z INFO  fukomaster      > Watching "/dev/input" for device changes
 2024-11-16T08:53:47.397Z INFO  fukomaster::swipe > Creating virtual trackpad
 2024-11-16T08:53:47.397Z TRACE notify::inotify   > inotify event: Event { wd: WatchDescriptor { id: 1, fd: (Weak) }, mask: CREATE, cookie: 0, name: Some("event20") }
 2024-11-16T08:53:47.397Z DEBUG fukomaster        > "/dev/input/event20" created
 2024-11-16T08:53:47.397Z TRACE notify::inotify   > inotify event: Event { wd: WatchDescriptor { id: 1, fd: (Weak) }, mask: ATTRIB, cookie: 0, name: Some("event20") }
 2024-11-16T08:53:47.599Z INFO  fukomaster::swipe > Created virtual trackpad
 2024-11-16T08:53:47.600Z INFO  fukomaster::swipe >   sys path = "/sys/devices/virtual/input/input61"
 2024-11-16T08:53:47.600Z INFO  fukomaster::swipe >   dev node = "/dev/input/event20"
 2024-11-16T08:53:47.600Z DEBUG fukomaster::swipe > Will not track "/dev/input/mice": file name does not start with "event"
 2024-11-16T08:53:47.600Z TRACE mio::poll         > registering event source with poller: token=Token(94430945742336), interests=READABLE | WRITABLE
 2024-11-16T08:53:47.600Z INFO  fukomaster::swipe > Tracking "Lid Switch" ("/dev/input/event0")
 2024-11-16T08:53:47.600Z TRACE mio::poll         > registering event source with poller: token=Token(94430945778688), interests=READABLE | WRITABLE
 2024-11-16T08:53:47.600Z INFO  fukomaster::swipe > Tracking "Sleep Button" ("/dev/input/event1")
 2024-11-16T08:53:47.600Z TRACE mio::poll         > registering event source with poller: token=Token(94430945779840), interests=READABLE | WRITABLE
 2024-11-16T08:53:47.600Z INFO  fukomaster::swipe > Tracking "Power Button" ("/dev/input/event2")
 2024-11-16T08:53:47.600Z TRACE mio::poll         > registering event source with poller: token=Token(94430945768704), interests=READABLE | WRITABLE
 2024-11-16T08:53:47.600Z INFO  fukomaster::swipe > Tracking "AT Translated Set 2 keyboard" ("/dev/input/event3")
 2024-11-16T08:53:47.600Z DEBUG fukomaster::swipe > Will not track "/dev/input/by-path": file name does not start with "event"
 2024-11-16T08:53:47.600Z DEBUG fukomaster::swipe > Will not track "/dev/input/mouse0": file name does not start with "event"
 2024-11-16T08:53:47.600Z TRACE mio::poll         > registering event source with poller: token=Token(94430945784576), interests=READABLE | WRITABLE
 2024-11-16T08:53:47.600Z INFO  fukomaster::swipe > Tracking "FTCS0038:00 2808:0106 Mouse" ("/dev/input/event4")
 2024-11-16T08:53:47.600Z DEBUG fukomaster::swipe > Will not track "/dev/input/mouse1": file name does not start with "event"
 2024-11-16T08:53:47.600Z TRACE mio::poll         > registering event source with poller: token=Token(94430945789440), interests=READABLE | WRITABLE
 2024-11-16T08:53:47.600Z INFO  fukomaster::swipe > Tracking "FTCS0038:00 2808:0106 Touchpad" ("/dev/input/event5")
 2024-11-16T08:53:47.600Z TRACE mio::poll         > registering event source with poller: token=Token(94430945790720), interests=READABLE | WRITABLE
 2024-11-16T08:53:47.600Z INFO  fukomaster::swipe > Tracking "Video Bus" ("/dev/input/event6")
 2024-11-16T08:53:47.600Z TRACE mio::poll         > registering event source with poller: token=Token(94430945780992), interests=READABLE | WRITABLE
 2024-11-16T08:53:47.600Z INFO  fukomaster::swipe > Tracking "Intel HID events" ("/dev/input/event7")
 2024-11-16T08:53:47.601Z TRACE mio::poll         > registering event source with poller: token=Token(94430945782144), interests=READABLE | WRITABLE
 2024-11-16T08:53:47.601Z INFO  fukomaster::swipe > Tracking "Intel HID 5 button array" ("/dev/input/event8")
 2024-11-16T08:53:47.601Z TRACE mio::poll         > registering event source with poller: token=Token(94430945783296), interests=READABLE | WRITABLE
 2024-11-16T08:53:47.601Z INFO  fukomaster::swipe > Tracking "Ideapad extra buttons" ("/dev/input/event9")
 2024-11-16T08:53:47.601Z TRACE mio::poll         > registering event source with poller: token=Token(94430945798656), interests=READABLE | WRITABLE
 2024-11-16T08:53:47.601Z INFO  fukomaster::swipe > Tracking "PC Speaker" ("/dev/input/event10")
 2024-11-16T08:53:47.601Z TRACE mio::poll         > registering event source with poller: token=Token(94430945799936), interests=READABLE | WRITABLE
 2024-11-16T08:53:47.601Z INFO  fukomaster::swipe > Tracking "HDA Intel PCH Mic" ("/dev/input/event11")
 2024-11-16T08:53:47.601Z TRACE mio::poll         > registering event source with poller: token=Token(94430945801216), interests=READABLE | WRITABLE
 2024-11-16T08:53:47.601Z INFO  fukomaster::swipe > Tracking "HDA Intel PCH Headphone" ("/dev/input/event12")
 2024-11-16T08:53:47.601Z TRACE mio::poll         > registering event source with poller: token=Token(94430945802368), interests=READABLE | WRITABLE
 2024-11-16T08:53:47.601Z INFO  fukomaster::swipe > Tracking "HDA Intel PCH HDMI/DP,pcm=3" ("/dev/input/event13")
 2024-11-16T08:53:47.601Z TRACE mio::poll         > registering event source with poller: token=Token(94430945792000), interests=READABLE | WRITABLE
 2024-11-16T08:53:47.601Z INFO  fukomaster::swipe > Tracking "HDA Intel PCH HDMI/DP,pcm=7" ("/dev/input/event14")
 2024-11-16T08:53:47.601Z TRACE mio::poll         > registering event source with poller: token=Token(94430945792896), interests=READABLE | WRITABLE
 2024-11-16T08:53:47.601Z INFO  fukomaster::swipe > Tracking "HDA Intel PCH HDMI/DP,pcm=8" ("/dev/input/event15")
 2024-11-16T08:53:47.601Z TRACE mio::poll         > registering event source with poller: token=Token(94430945794304), interests=READABLE | WRITABLE
 2024-11-16T08:53:47.601Z INFO  fukomaster::swipe > Tracking "HDA Intel PCH HDMI/DP,pcm=9" ("/dev/input/event16")
 2024-11-16T08:53:47.601Z DEBUG fukomaster::swipe > Will not track "/dev/input/mouse2": file name does not start with "event"
 2024-11-16T08:53:47.601Z TRACE mio::poll         > registering event source with poller: token=Token(94430945795968), interests=READABLE | WRITABLE
 2024-11-16T08:53:47.601Z INFO  fukomaster::swipe > Tracking "Logitech MX Master3 Mac" ("/dev/input/event17")
 2024-11-16T08:53:47.601Z DEBUG fukomaster::swipe > Will not track "/dev/input/mouse3": file name does not start with "event"
 2024-11-16T08:53:47.601Z TRACE mio::poll         > registering event source with poller: token=Token(94430945796352), interests=READABLE | WRITABLE
 2024-11-16T08:53:47.601Z INFO  fukomaster::swipe > Tracking "Logitech MX Keys Mac" ("/dev/input/event18")
 2024-11-16T08:53:47.601Z DEBUG fukomaster::swipe > Will not track "/dev/input/by-id": file name does not start with "event"
 2024-11-16T08:53:47.601Z TRACE mio::poll         > registering event source with poller: token=Token(94430945818624), interests=READABLE | WRITABLE
 2024-11-16T08:53:47.601Z INFO  fukomaster::swipe > Tracking "PBP (AVRCP)" ("/dev/input/event19")
 2024-11-16T08:53:47.601Z DEBUG fukomaster::swipe > Will not track "/dev/input/event20": this is our own virtual device
 2024-11-16T08:53:47.791Z TRACE notify::inotify   > inotify event: Event { wd: WatchDescriptor { id: 1, fd: (Weak) }, mask: ATTRIB, cookie: 0, name: Some("event20") }
 2024-11-16T08:53:47.792Z TRACE notify::inotify   > inotify event: Event { wd: WatchDescriptor { id: 1, fd: (Weak) }, mask: ATTRIB, cookie: 0, name: Some("event20") }
 2024-11-16T08:53:47.796Z TRACE notify::inotify   > inotify event: Event { wd: WatchDescriptor { id: 1, fd: (Weak) }, mask: CLOSE_WRITE, cookie: 0, name: Some("event20") }
 2024-11-16T08:53:48.198Z TRACE notify::inotify   > inotify event: Event { wd: WatchDescriptor { id: 1, fd: (Weak) }, mask: MODIFY, cookie: 0, name: Some("event19") }
 2024-11-16T08:53:48.199Z TRACE notify::inotify   > inotify event: Event { wd: WatchDescriptor { id: 1, fd: (Weak) }, mask: MODIFY, cookie: 0, name: Some("event18") }
 2024-11-16T08:53:48.199Z TRACE notify::inotify   > inotify event: Event { wd: WatchDescriptor { id: 1, fd: (Weak) }, mask: MODIFY, cookie: 0, name: Some("event17") }
 2024-11-16T08:53:48.199Z TRACE notify::inotify   > inotify event: Event { wd: WatchDescriptor { id: 1, fd: (Weak) }, mask: MODIFY, cookie: 0, name: Some("event3") }
 2024-11-16T08:53:48.199Z TRACE notify::inotify   > inotify event: Event { wd: WatchDescriptor { id: 1, fd: (Weak) }, mask: MODIFY, cookie: 0, name: Some("event8") }
 2024-11-16T08:53:48.199Z TRACE notify::inotify   > inotify event: Event { wd: WatchDescriptor { id: 1, fd: (Weak) }, mask: MODIFY, cookie: 0, name: Some("event7") }
 2024-11-16T08:53:48.199Z TRACE notify::inotify   > inotify event: Event { wd: WatchDescriptor { id: 1, fd: (Weak) }, mask: MODIFY, cookie: 0, name: Some("event9") }
 2024-11-16T08:53:48.199Z TRACE notify::inotify   > inotify event: Event { wd: WatchDescriptor { id: 1, fd: (Weak) }, mask: MODIFY, cookie: 0, name: Some("event1") }
 2024-11-16T08:53:48.199Z TRACE notify::inotify   > inotify event: Event { wd: WatchDescriptor { id: 1, fd: (Weak) }, mask: MODIFY, cookie: 0, name: Some("event2") }
 2024-11-16T08:53:48.199Z TRACE notify::inotify   > inotify event: Event { wd: WatchDescriptor { id: 1, fd: (Weak) }, mask: MODIFY, cookie: 0, name: Some("event6") }
@hanthor
Copy link
Author

hanthor commented Nov 16, 2024

Tured out that something was making it be LMETA + TAB. Can you link to your Solaar settings? I was able to workaround by mapping the gesture button to middle mouse click, and then using middle mouse as my 3 finger swipe

@hanthor hanthor changed the title NOt tracking MX Master 3 mouse be default MX Master 3 mouse buttong being overridden to LMETA + TAB Nov 16, 2024
@aecsocket
Copy link
Owner

image

Here are my Solaar settings. My code shouldn't be starting any keypresses other than the touchpad gesture, and it especially shouldn't be triggering two keypresses at once. Maybe something else is mapping your mouse buttons to another button?

@hanthor
Copy link
Author

hanthor commented Nov 16, 2024

image
I think Solaar is definitely doing it, as it stops if I kill solaar. Solaar registers a keyboard device and seems to take over, not matter what I do to the settings. That how I discovered that if a remap my gesture button to middle mouse click that it will allow that

@hanthor
Copy link
Author

hanthor commented Nov 16, 2024

Here's what is looks like in wev

[14:     wl_keyboard] modifiers: serial: 0; group: 16
                      depressed: 00002040: Mod4 Super 
                      latched: 00000000
                      locked: 00000010: Mod2 
[13:      wl_pointer] leave: surface: 3
[13:      wl_pointer] frame
[14:     wl_keyboard] leave: serial: 53622; surface: 3
[10:    xdg_toplevel] configure: width: 640; height: 1673
[09:     xdg_surface] configure: serial: 8870

With Solaar not running it shows:

[13:      wl_pointer] frame
[13:      wl_pointer] leave: surface: 3
[13:      wl_pointer] frame
[13:      wl_pointer] enter: serial: 54088; surface: 3, x, y: 151.640625, 981.328125

@hanthor
Copy link
Author

hanthor commented Nov 16, 2024

So I have to override it to something else for it to work

@aecsocket
Copy link
Owner

You can check:

  1. Key/Button Actions and Key/Button Diversion for Middle Button is set to default

image

  1. Key/Button Actions and Key/Button Diversion for Mouse Gesture Button is set to default

image

  1. Solaar version - I'm on 1.1.13

image

  1. Your configured rules

image

Other than that, if the issue goes away when Solaar is closed, then it sounds like Solaar is doing something weird. Does this only happen when fukomaster and Solaar are both open? Or just Solaar?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants