joshgoebel / keyszer

a smart, flexible keymapper for X11 (a fork/reboot of xkeysnail )
Other
69 stars 15 forks source link

updated to the latest from main repo, but does not detect devices #117

Closed zenny closed 1 year ago

zenny commented 1 year ago

Hi,

I compiled keyszner from the main repo. Unfortunately keszner list-devices fails to recognize anything except a tablet!

$ lsusb
Bus 003 Device 003: ID 28bd:080a XP-Pen 11.6 inch PenDisplay
Bus 003 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 093: ID 045e:00b0 Microsoft Corp. Digital Media Pro Keyboard
Bus 001 Device 101: ID 413c:301a Dell Computer Corp. Dell MS116 Optical Mouse
Bus 001 Device 008: ID 1a40:0101 Terminus Technology Inc. Hub
Bus 001 Device 006: ID 1a40:0101 Terminus Technology Inc. Hub
Bus 001 Device 118: ID 1a2c:405e China Resource Semico Co., Ltd USB Keyboard
Bus 001 Device 004: ID 045e:0083 Microsoft Corp. Basic Optical Mouse
Bus 001 Device 003: ID 0bda:0151 Realtek Semiconductor Corp. Mass Storage Device (Multicard Reader)
Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

$ keyszer --list-devices
keyszer v0.6.92
-------------------------------------------------------------------------------------
Device               Name                                Phys
-------------------------------------------------------------------------------------
/dev/input/event0    UGTABLET 11.6 inch PenDisplay Mouse usb-0000:00:1d.0-1.1/input0
/dev/input/event1    UGTABLET 11.6 inch PenDisplay       usb-0000:00:1d.0-1.1/input1
/dev/input/event2    UGTABLET 11.6 inch PenDisplay       usb-0000:00:1d.0-1.1/input1
/dev/input/event3    UGTABLET 11.6 inch PenDisplay Keyboard
                                                         usb-0000:00:1d.0-1.1/input1
RedBearAK commented 1 year ago

@zenny @joshgoebel @rbreaves

There has been an existing problem with xkeysnail not detecting certain keyboards, like Logitech MX Master keyboards, and possibly some Microsoft keyboards. This was inherited by keyszer. You can supposedly add the device manually, but I don't know how that is done.

Seems the auto-detection of keyboard devices really needs to be improved.

zenny commented 1 year ago

@zenny @joshgoebel @rbreaves

There has been an existing problem with xkeysnail not detecting certain keyboards, like Logitech MX Master keyboards, and possibly some Microsoft keyboards. This was inherited by keyszer. You can supposedly add the device manually, but I don't know how that is done.

Seems the auto-detection of keyboard devices really needs to be improved.

@RedBearAK Thanks for pointing out. But even non-microsoft and logitech keyboards like megamoda or delux keypad and PC-03 footswitch are not detected either! No keyboard and mouse are detected at all.

Anyway it is good to know about what you stated. Cheers, /z

RedBearAK commented 1 year ago

@zenny

Hmm, you're right, you may be having a different problem. I thought it was strange that two keyboards were missed, but I wasn't paying attention to the mice.

Did you follow the directions to give keyszer its own user and access to the right group? But the tablet shows up. Pretty strange situation. I don't know what could be causing that.

If you post the details about your system hardware, distro, DE and so on, maybe someone else will have some idea of how to proceed with troubleshooting.

zenny commented 1 year ago

@zenny

Hmm, you're right, you may be having a different problem. I thought it was strange that two keyboards were missed, but I wasn't paying attention to the mice.

Did you follow the directions to give keyszer its own user and access to the right group? But the tablet shows up. Pretty strange situation. I don't know what could be causing that.

If you post the details about your system hardware, distro, DE and so on, maybe someone else will have some idea of how to proceed with troubleshooting.

Thanks.

Distro: Voidlinux stable 5.15 kernel DM: LightDM WM: Herbstluftwm X11 GCC (not musl) list of usb devices are posted at http://ix.io/4gwV

joshgoebel commented 1 year ago

Sounds like a permission issue or something. List devices should do exactly what the name says - it does not try to detect the type of device, it lists all the USB inputs devices it can find... What are the permissions to /dev/input?

zenny commented 1 year ago

Sounds like a permission issue or something. List devices should do exactly what the name says - it does not try to detect the type of device, it lists all the USB inputs devices it can find... What are the permissions to /dev/input?

# ls -la /dev/input
total 0
drwxr-xr-x   4 root root     760 Nov 24 07:16 .
drwxr-xr-x  18 root root    4240 Nov 24 20:09 ..
drwxr-xr-x   2 root root     340 Nov 24 07:16 by-id
drwxr-xr-x   2 root root     360 Nov 24 07:16 by-path
crw-rw-rw-+  1 root input 13, 64 Nov 24 07:16 event0
crw-rw-rw-+  1 root input 13, 65 Nov 24 07:16 event1
crw-rw----+  1 root input 13, 74 Nov 24 07:16 event10
crw-rw----+  1 root input 13, 75 Nov 24 07:16 event11
crw-rw----+  1 root input 13, 76 Nov 24 07:16 event12
crw-rw----+  1 root input 13, 77 Nov 24 07:16 event13
crw-rw----+  1 root input 13, 78 Nov 24 07:16 event14
crw-rw----+  1 root input 13, 79 Nov 24 07:16 event15
crw-rw----+  1 root input 13, 80 Nov 24 07:16 event16
crw-rw----+  1 root input 13, 81 Nov 24 07:16 event17
crw-rw----+  1 root input 13, 82 Nov 24 07:16 event18
crw-rw----+  1 root input 13, 83 Nov 24 07:16 event19
crw-rw-rw-+  1 root input 13, 66 Nov 24 07:16 event2
crw-rw----+  1 root input 13, 84 Nov 24 07:16 event20
crw-rw----+  1 root input 13, 85 Nov 24 07:16 event21
crw-rw----+  1 root input 13, 86 Nov 24 07:16 event22
crw-rw----+  1 root input 13, 87 Nov 24 07:16 event23
crw-rw----+  1 root input 13, 88 Nov 24 07:16 event24
crw-rw----+  1 root input 13, 89 Nov 24 07:16 event25
crw-rw----+  1 root input 13, 90 Nov 24 07:16 event26
crw-rw----+  1 root input 13, 91 Nov 24 07:16 event27
crw-rw----+  1 root input 13, 92 Nov 24 07:16 event28
crw-rw-rw-+  1 root input 13, 67 Nov 24 07:16 event3
crw-rw----+  1 root input 13, 68 Nov 24 07:16 event4
crw-rw----+  1 root input 13, 69 Nov 24 07:16 event5
crw-rw----+  1 root input 13, 70 Nov 24 07:16 event6
crw-rw----+  1 root input 13, 71 Nov 24 07:16 event7
crw-rw----+  1 root input 13, 72 Nov 24 07:16 event8
crw-rw----+  1 root input 13, 73 Nov 24 07:16 event9
crw-rw----   1 root input 13, 63 Nov 24 07:16 mice
crw-rw-rw-   1 root input 13, 32 Nov 24 07:16 mouse0
crw-rw-rw-   1 root input 13, 33 Nov 24 07:16 mouse1
crw-rw----   1 root input 13, 34 Nov 24 07:16 mouse2
crw-rw----   1 root input 13, 35 Nov 24 07:16 mouse3
# cat /etc/passwd | grep keymapper
keymapper:x:1008:1010::/home/keymapper:/bin/bash
# cat /etc/udev/rules.d/90-keymapper-acl.rules
KERNEL=="event*", SUBSYSTEM=="input", RUN+="/usr/bin/setfacl -m user:keymapper:rw /dev/input/%k"
KERNEL=="uinput", SUBSYSTEM=="misc", RUN+="/usr/bin/setfacl -m user:keymapper:rw /dev/uinput"
# cat /etc/group | grep keymapper
input:x:25:keymapper,zenny
keymapper:x:1010:
# cat /etc/passwd | grep keymapper
keymapper:x:1008:1010::/home/keymapper:/bin/bash
joshgoebel commented 1 year ago

Is the list devices output different when running as root?

zenny commented 1 year ago

Sounds like a permission issue or something. List devices should do exactly what the name says - it does not try to detect the type of device, it lists all the USB inputs devices it can find... What are the permissions to /dev/input?

# ls -la /dev/input
total 0
drwxr-xr-x   4 root root     760 Nov 24 07:16 .
drwxr-xr-x  18 root root    4240 Nov 24 20:09 ..
drwxr-xr-x   2 root root     340 Nov 24 07:16 by-id
drwxr-xr-x   2 root root     360 Nov 24 07:16 by-path
crw-rw-rw-+  1 root input 13, 64 Nov 24 07:16 event0
crw-rw-rw-+  1 root input 13, 65 Nov 24 07:16 event1
crw-rw----+  1 root input 13, 74 Nov 24 07:16 event10
crw-rw----+  1 root input 13, 75 Nov 24 07:16 event11
crw-rw----+  1 root input 13, 76 Nov 24 07:16 event12
crw-rw----+  1 root input 13, 77 Nov 24 07:16 event13
crw-rw----+  1 root input 13, 78 Nov 24 07:16 event14
crw-rw----+  1 root input 13, 79 Nov 24 07:16 event15
crw-rw----+  1 root input 13, 80 Nov 24 07:16 event16
crw-rw----+  1 root input 13, 81 Nov 24 07:16 event17
crw-rw----+  1 root input 13, 82 Nov 24 07:16 event18
crw-rw----+  1 root input 13, 83 Nov 24 07:16 event19
crw-rw-rw-+  1 root input 13, 66 Nov 24 07:16 event2
crw-rw----+  1 root input 13, 84 Nov 24 07:16 event20
crw-rw----+  1 root input 13, 85 Nov 24 07:16 event21
crw-rw----+  1 root input 13, 86 Nov 24 07:16 event22
crw-rw----+  1 root input 13, 87 Nov 24 07:16 event23
crw-rw----+  1 root input 13, 88 Nov 24 07:16 event24
crw-rw----+  1 root input 13, 89 Nov 24 07:16 event25
crw-rw----+  1 root input 13, 90 Nov 24 07:16 event26
crw-rw----+  1 root input 13, 91 Nov 24 07:16 event27
crw-rw----+  1 root input 13, 92 Nov 24 07:16 event28
crw-rw-rw-+  1 root input 13, 67 Nov 24 07:16 event3
crw-rw----+  1 root input 13, 68 Nov 24 07:16 event4
crw-rw----+  1 root input 13, 69 Nov 24 07:16 event5
crw-rw----+  1 root input 13, 70 Nov 24 07:16 event6
crw-rw----+  1 root input 13, 71 Nov 24 07:16 event7
crw-rw----+  1 root input 13, 72 Nov 24 07:16 event8
crw-rw----+  1 root input 13, 73 Nov 24 07:16 event9
crw-rw----   1 root input 13, 63 Nov 24 07:16 mice
crw-rw-rw-   1 root input 13, 32 Nov 24 07:16 mouse0
crw-rw-rw-   1 root input 13, 33 Nov 24 07:16 mouse1
crw-rw----   1 root input 13, 34 Nov 24 07:16 mouse2
crw-rw----   1 root input 13, 35 Nov 24 07:16 mouse3
# cat /etc/passwd | grep keymapper
keymapper:x:1008:1010::/home/keymapper:/bin/bash
# cat /etc/udev/rules.d/90-keymapper-acl.rules
KERNEL=="event*", SUBSYSTEM=="input", RUN+="/usr/bin/setfacl -m user:keymapper:rw /dev/input/%k"
KERNEL=="uinput", SUBSYSTEM=="misc", RUN+="/usr/bin/setfacl -m user:keymapper:rw /dev/uinput"
# cat /etc/group | grep keymapper
input:x:25:keymapper,zenny
keymapper:x:1010:
# cat /etc/passwd | grep keymapper
keymapper:x:1008:1010::/home/keymapper:/bin/bash

Is the list devices output different when running as root?

Nope.

AS ROOT

# lsusb
Bus 003 Device 003: ID 28bd:080a XP-Pen 11.6 inch PenDisplay
Bus 003 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 007: ID 045e:00b0 Microsoft Corp. Digital Media Pro Keyboard
Bus 001 Device 012: ID 0c45:760a Microdia USB Keyboard
Bus 001 Device 009: ID 413c:301a Dell Computer Corp. Dell MS116 Optical Mouse
Bus 001 Device 008: ID 1a40:0101 Terminus Technology Inc. Hub
Bus 001 Device 013: ID 0c45:7404 Microdia Foot switch FS1-P
Bus 001 Device 006: ID 1a40:0101 Terminus Technology Inc. Hub
Bus 001 Device 011: ID 1a2c:405e China Resource Semico Co., Ltd USB Keyboard
Bus 001 Device 004: ID 045e:0083 Microsoft Corp. Basic Optical Mouse
Bus 001 Device 003: ID 0bda:0151 Realtek Semiconductor Corp. Mass Storage Device (Multicard Reader)
Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

AS A NORMAL USER

$ lsusb
Bus 003 Device 003: ID 28bd:080a XP-Pen 11.6 inch PenDisplay
Bus 003 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 007: ID 045e:00b0 Microsoft Corp. Digital Media Pro Keyboard
Bus 001 Device 012: ID 0c45:760a Microdia USB Keyboard
Bus 001 Device 009: ID 413c:301a Dell Computer Corp. Dell MS116 Optical Mouse
Bus 001 Device 008: ID 1a40:0101 Terminus Technology Inc. Hub
Bus 001 Device 013: ID 0c45:7404 Microdia Foot switch FS1-P
Bus 001 Device 006: ID 1a40:0101 Terminus Technology Inc. Hub
Bus 001 Device 011: ID 1a2c:405e China Resource Semico Co., Ltd USB Keyboard
Bus 001 Device 004: ID 045e:0083 Microsoft Corp. Basic Optical Mouse
Bus 001 Device 003: ID 0bda:0151 Realtek Semiconductor Corp. Mass Storage Device (Multicard Reader)
Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
joshgoebel commented 1 year ago

I meant if you ask keyszer both as root and non root.

zenny commented 1 year ago

@joshgoebel and @RedBearAK Thanks for your inputs. It worked after I updated python, and recompiled from the master. Thanks for your inputs. Have a nice week.