-
Notifications
You must be signed in to change notification settings - Fork 43
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
Pass on the hw button keycodes #46
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
FWIW, I think its probably better to modify the kernel driver to send the proper evdev codes, now that they're available. Back when the buttons debuted with the 24HD, it was hard to say if they would show up on more products. I hooked them up to KEY_PROG* as a temporary solution since it would be hard to get new evdev codes added. The recently introduced KEY_BUTTONCONFIG
, KEY_ONSCREEN_KEYBOARD
, KEY_CONTROLPANEL
, and SW_MUTE_DEVICE
should cover the features of the 24HD, 22HD, and 27QHD and we just need to update the kernel.
tbh, I doubt you'd get that change through. You'd be breaking userspace by changing the button codes. |
I kinda doubt there's any userspace code to be broken. Definitely not xf86-input-wacom or libinput, and a vanishingly small chance of some custom script or program going to the trouble of watching the evdev device to read the state of these buttons. If its a concern though, we could continue posting the KEY_PROG* events and just post the "proper" events alongside them. |
Well, from my POV anything you do to make the kernel report saner events is going to be welcomed. I'd be ok with posting both as an emergency case, I can disable/ignore those quite easily. So if you submit a patch for that, just picture me with pom-poms on the side, cheering you on. Or not, if not picturing that is more helpful ;) |
Support for some of the missing key codes needed by older wacom devices was added with commit ____. These keys previously reported the anonymous KEY_PROG* rage, and they continue to do so so as not to break any unknown applications that may depend on them. We add the proper key codes and track the state of the touch button in the pad report. Signed-off-by: Aaron Armstrong Skomra <aaron.skomra@wacom.com> Link: https://gitlab.freedesktop.org/libinput/libinput/merge_requests/155 Link: linuxwacom/xf86-input-wacom#46
Support for some of the missing key codes needed by older wacom devices was added with commit ____. These keys previously reported the anonymous KEY_PROG* rage, and they continue to do so so as not to break any unknown applications that may depend on them. We add the proper key codes and track the state of the touch button in the pad report. Signed-off-by: Aaron Armstrong Skomra <aaron.skomra@wacom.com> Link: https://gitlab.freedesktop.org/libinput/libinput/merge_requests/155 Link: linuxwacom/xf86-input-wacom#46
Support for some of the missing key codes needed by older wacom devices was added with commit ____. These keys previously reported the anonymous KEY_PROG* rage, and they continue to do so so as not to break any unknown applications that may depend on them. We add the proper key codes and track the state of the touch button in the pad report. Signed-off-by: Aaron Armstrong Skomra <aaron.skomra@wacom.com> Link: https://gitlab.freedesktop.org/libinput/libinput/merge_requests/155 Link: linuxwacom/xf86-input-wacom#46
Support for some of the missing key codes needed by older wacom devices was added with commit ____. These keys previously reported the anonymous KEY_PROG* rage, and they continue to do so so as not to break any unknown applications that may depend on them. We add the proper key codes and track the state of the touch button in the pad report. Signed-off-by: Aaron Armstrong Skomra <aaron.skomra@wacom.com> Link: https://gitlab.freedesktop.org/libinput/libinput/merge_requests/155 Link: linuxwacom/xf86-input-wacom#46
Support for some of the missing key codes needed by older wacom devices was added with commit ____. These keys previously reported the anonymous KEY_PROG* rage, and they continue to do so so as not to break any unknown applications that may depend on them. We add the proper key codes and track the state of the touch button in the pad report. Signed-off-by: Aaron Armstrong Skomra <aaron.skomra@wacom.com> Link: https://gitlab.freedesktop.org/libinput/libinput/merge_requests/155 Link: linuxwacom/xf86-input-wacom#46
Support for some of the missing key codes needed by older wacom devices was added with commit ____. These keys previously reported the anonymous KEY_PROG* rage, and they continue to do so so as not to break any unknown applications that may depend on them. We add the proper key codes and track the state of the touch button in the pad report. Signed-off-by: Aaron Armstrong Skomra <aaron.skomra@wacom.com> Link: https://gitlab.freedesktop.org/libinput/libinput/merge_requests/155 Link: linuxwacom/xf86-input-wacom#46
Support for some of the missing key codes needed by older wacom devices was added with commit ____. These keys previously reported the anonymous KEY_PROG* rage, and they continue to do so so as not to break any unknown applications that may depend on them. We add the proper key codes and track the state of the touch button in the pad report. Signed-off-by: Aaron Armstrong Skomra <aaron.skomra@wacom.com> Link: https://gitlab.freedesktop.org/libinput/libinput/merge_requests/155 Link: linuxwacom/xf86-input-wacom#46
Support for some of the missing key codes needed by older wacom devices was added with commit ____. These keys previously reported the anonymous KEY_PROG* rage, and they continue to do so so as not to break any unknown applications that may depend on them. We add the proper key codes and track the state of the touch button in the pad report. Signed-off-by: Aaron Armstrong Skomra <aaron.skomra@wacom.com> Link: https://gitlab.freedesktop.org/libinput/libinput/merge_requests/155 Link: linuxwacom/xf86-input-wacom#46
Some of the missing key codes needed by older Wacom devices were added with commit 4eb220cb35a9 ("HID: wacom: generic: add 3 tablet touch keys"). These keys were originally reported in the anonymous KEY_PROG* range, and they continue to do so so as not to break any unknown applications that may depend on them. We add the proper key codes that are now available and track the state of the touch button in the pad report. Signed-off-by: Aaron Armstrong Skomra <aaron.skomra@wacom.com> Link: https://gitlab.freedesktop.org/libinput/libinput/merge_requests/155 Link: linuxwacom/xf86-input-wacom#46
Some of the missing key codes needed by older Wacom devices were added with commit 4eb220cb35a9 ("HID: wacom: generic: add 3 tablet touch keys"). These keys were originally reported in the numbered KEY_PROG* range, and they continue to do so so as not to break any unknown applications that may depend on them. We add the proper key codes that are now available and track the state of the touch button in the pad report. Signed-off-by: Aaron Armstrong Skomra <aaron.skomra@wacom.com> Link: https://gitlab.freedesktop.org/libinput/libinput/merge_requests/155 Link: linuxwacom/xf86-input-wacom#46
Some of the missing key codes needed by older Wacom devices were added with commit 4eb220cb35a9 ("HID: wacom: generic: add 3 tablet touch keys"). These keys were originally reported in the numbered KEY_PROG* range, and they continue to do so so as not to break any unknown applications that may depend on them. We add the proper key codes that are now available and track the state of the touch key in the pad report. Signed-off-by: Aaron Armstrong Skomra <aaron.skomra@wacom.com> Link: https://gitlab.freedesktop.org/libinput/libinput/merge_requests/155 Link: linuxwacom/xf86-input-wacom#46
Some of the missing key codes needed by older Wacom devices were added with commit 4eb220cb35a9 ("HID: wacom: generic: add 3 tablet touch keys"). These keys were originally reported in the numbered KEY_PROG* range, and they continue to do so so as not to break any unknown applications that may depend on them. We add the proper key codes that are now available and track the state of the touch key in the pad report. Signed-off-by: Aaron Armstrong Skomra <aaron.skomra@wacom.com> Link: https://gitlab.freedesktop.org/libinput/libinput/merge_requests/155 Link: linuxwacom/xf86-input-wacom#46
Some Wacom devices have keys with predefined meanings. However, when support was originally added for these devices, the codes for these keys were not available yet. These keys were thus reported with the numbered KEY_PROG* range. Some missing key codes were added with commit 4eb220cb35a9 ("HID: wacom: generic: add 3 tablet touch keys") and we are now able to report the proper key codes. We continue to report the original KEY_PROG codes so as not to break any unknown applications that may depend on them. Also, to support the touch key, track its state in the pad report. Signed-off-by: Aaron Armstrong Skomra <aaron.skomra@wacom.com> Link: https://gitlab.freedesktop.org/libinput/libinput/merge_requests/155 Link: linuxwacom/xf86-input-wacom#46
Some Wacom devices have keys with predefined meanings. However, when support was originally added for these devices, the codes for these keys were not available yet. These keys were thus reported with the numbered KEY_PROG* range. Some missing key codes were added with commit 4eb220cb35a9 ("HID: wacom: generic: add 3 tablet touch keys") and we are now able to report the proper key codes. We continue to report the original KEY_PROG codes so as not to break any unknown applications that may depend on them. Also, to support the touch key, track its state in the pad report. Link: https://gitlab.freedesktop.org/libinput/libinput/merge_requests/155 Link: linuxwacom/xf86-input-wacom#46
Kernel patch queued for 5.4: https://patchwork.kernel.org/patch/11098125/ |
Some Wacom devices have keys with predefined meanings. However, when support was originally added for these devices, the codes for these keys were not available yet. These keys were thus reported with the numbered KEY_PROG* range. Some missing key codes were added with commit 4eb220c ("HID: wacom: generic: add 3 tablet touch keys") and we are now able to report the proper key codes. We continue to report the original KEY_PROG codes so as not to break any unknown applications that may depend on them. Also, to support the touch key, track its state in the pad report. Signed-off-by: Aaron Armstrong Skomra <aaron.skomra@wacom.com> Link: https://gitlab.freedesktop.org/libinput/libinput/merge_requests/155 Link: linuxwacom/xf86-input-wacom#46 Reviewed-by: Ping Cheng <ping.cheng@wacom.com> Reviewed-by: Jason Gerecke <jason.gerecke@wacom.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
Some Wacom devices have keys with predefined meanings. However, when support was originally added for these devices, the codes for these keys were not available yet. These keys were thus reported with the numbered KEY_PROG* range. Some missing key codes were added with commit 4eb220cb35a9 ("HID: wacom: generic: add 3 tablet touch keys") and we are now able to report the proper key codes. We continue to report the original KEY_PROG codes so as not to break any unknown applications that may depend on them. Also, to support the touch key, track its state in the pad report. Signed-off-by: Aaron Armstrong Skomra <aaron.skomra@wacom.com> Link: https://gitlab.freedesktop.org/libinput/libinput/merge_requests/155 Link: linuxwacom/xf86-input-wacom#46 Reviewed-by: Ping Cheng <ping.cheng@wacom.com> Reviewed-by: Jason Gerecke <jason.gerecke@wacom.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz> [aaron.skomra@wacom.com: Imported into input-wacom repository (670e90924bfe)] Signed-off-by: Aaron Armstrong Skomra <aaron.skomra@wacom.com>
Some Wacom devices have keys with predefined meanings. However, when support was originally added for these devices, the codes for these keys were not available yet. These keys were thus reported with the numbered KEY_PROG* range. Some missing key codes were added with commit 4eb220cb35a9 ("HID: wacom: generic: add 3 tablet touch keys") and we are now able to report the proper key codes. We continue to report the original KEY_PROG codes so as not to break any unknown applications that may depend on them. Also, to support the touch key, track its state in the pad report. Signed-off-by: Aaron Armstrong Skomra <aaron.skomra@wacom.com> Link: https://gitlab.freedesktop.org/libinput/libinput/merge_requests/155 Link: linuxwacom/xf86-input-wacom#46 Reviewed-by: Ping Cheng <ping.cheng@wacom.com> Reviewed-by: Jason Gerecke <jason.gerecke@wacom.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz> [aaron.skomra@wacom.com: Imported into input-wacom repository (670e90924bfe)] Signed-off-by: Aaron Armstrong Skomra <aaron.skomra@wacom.com>
Some Wacom devices have keys with predefined meanings. However, when support was originally added for these devices, the codes for these keys were not available yet. These keys were thus reported with the numbered KEY_PROG* range. Some missing key codes were added with commit 4eb220cb35a9 ("HID: wacom: generic: add 3 tablet touch keys") and we are now able to report the proper key codes. We continue to report the original KEY_PROG codes so as not to break any unknown applications that may depend on them. Also, to support the touch key, track its state in the pad report. Signed-off-by: Aaron Armstrong Skomra <aaron.skomra@wacom.com> Link: https://gitlab.freedesktop.org/libinput/libinput/merge_requests/155 Link: linuxwacom/xf86-input-wacom#46 Reviewed-by: Ping Cheng <ping.cheng@wacom.com> Reviewed-by: Jason Gerecke <jason.gerecke@wacom.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz> [aaron.skomra@wacom.com: Imported into input-wacom repository (670e90924bfe)] Signed-off-by: Aaron Armstrong Skomra <aaron.skomra@wacom.com>
Some Wacom devices have keys with predefined meanings. However, when support was originally added for these devices, the codes for these keys were not available yet. These keys were thus reported with the numbered KEY_PROG* range. Some missing key codes were added with commit 4eb220cb35a9 ("HID: wacom: generic: add 3 tablet touch keys") and we are now able to report the proper key codes. We continue to report the original KEY_PROG codes so as not to break any unknown applications that may depend on them. Also, to support the touch key, track its state in the pad report. Signed-off-by: Aaron Armstrong Skomra <aaron.skomra@wacom.com> Link: https://gitlab.freedesktop.org/libinput/libinput/merge_requests/155 Link: linuxwacom/xf86-input-wacom#46 Reviewed-by: Ping Cheng <ping.cheng@wacom.com> Reviewed-by: Jason Gerecke <jason.gerecke@wacom.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz> [aaron.skomra@wacom.com: Imported into input-wacom repository (670e90924bfe)] Signed-off-by: Aaron Armstrong Skomra <aaron.skomra@wacom.com> [aaron.skomra@wacom.com: Backported to input-wacom repository (ea97cd0)] Signed-off-by: Aaron Armstrong Skomra <aaron.skomra@wacom.com>
Some Wacom devices have keys with predefined meanings. However, when support was originally added for these devices, the codes for these keys were not available yet. These keys were thus reported with the numbered KEY_PROG* range. Some missing key codes were added with commit 4eb220cb35a9 ("HID: wacom: generic: add 3 tablet touch keys") and we are now able to report the proper key codes. We continue to report the original KEY_PROG codes so as not to break any unknown applications that may depend on them. Also, to support the touch key, track its state in the pad report. Signed-off-by: Aaron Armstrong Skomra <aaron.skomra@wacom.com> Link: https://gitlab.freedesktop.org/libinput/libinput/merge_requests/155 Link: linuxwacom/xf86-input-wacom#46 Reviewed-by: Ping Cheng <ping.cheng@wacom.com> Reviewed-by: Jason Gerecke <jason.gerecke@wacom.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz> [aaron.skomra@wacom.com: Imported into input-wacom repository (670e90924bfe)] Signed-off-by: Aaron Armstrong Skomra <aaron.skomra@wacom.com> [aaron.skomra@wacom.com: Backported to input-wacom repository (ea97cd0)] Signed-off-by: Aaron Armstrong Skomra <aaron.skomra@wacom.com>
Some Wacom devices have keys with predefined meanings. However, when support was originally added for these devices, the codes for these keys were not available yet. These keys were thus reported with the numbered KEY_PROG* range. Some missing key codes were added with commit 4eb220cb35a9 ("HID: wacom: generic: add 3 tablet touch keys") and we are now able to report the proper key codes. We continue to report the original KEY_PROG codes so as not to break any unknown applications that may depend on them. Also, to support the touch key, track its state in the pad report. Signed-off-by: Aaron Armstrong Skomra <aaron.skomra@wacom.com> Link: https://gitlab.freedesktop.org/libinput/libinput/merge_requests/155 Link: linuxwacom/xf86-input-wacom#46 Reviewed-by: Ping Cheng <ping.cheng@wacom.com> Reviewed-by: Jason Gerecke <jason.gerecke@wacom.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz> [aaron.skomra@wacom.com: Imported into input-wacom repository (670e90924bfe)] Signed-off-by: Aaron Armstrong Skomra <aaron.skomra@wacom.com> [aaron.skomra@wacom.com: Backported to input-wacom repository (ea97cd0)] Signed-off-by: Aaron Armstrong Skomra <aaron.skomra@wacom.com>
The kernel changes appear to be in place, so so we want to remove the references to |
Well... |
Some Wacom devices have keys with predefined meanings. However, when support was originally added for these devices, the codes for these keys were not available yet. These keys were thus reported with the numbered KEY_PROG* range. Some missing key codes were added with commit 4eb220c ("HID: wacom: generic: add 3 tablet touch keys") and we are now able to report the proper key codes. We continue to report the original KEY_PROG codes so as not to break any unknown applications that may depend on them. Also, to support the touch key, track its state in the pad report. Signed-off-by: Aaron Armstrong Skomra <aaron.skomra@wacom.com> Link: https://gitlab.freedesktop.org/libinput/libinput/merge_requests/155 Link: linuxwacom/xf86-input-wacom#46 Reviewed-by: Ping Cheng <ping.cheng@wacom.com> Reviewed-by: Jason Gerecke <jason.gerecke@wacom.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
f85b9f9
to
cb84887
Compare
Rebased, and I've dropped support for If merged, we can add an xkeyboard-config option to map those to some keysyms, but for now this here will do. |
@whot main obvious concern is missing support for
|
Forward the pad keys as keycodes KEY_PROG1-4. The evdev code has the right meaning, but we cannot route those keys (>255) so we just map them to KEY_PROG1-4 instead. This way we can in the future add a xkeyboard-config option to assign something to those keys. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
cb84887
to
9086899
Compare
Thanks, I've squashed that diff in (together with a few minor changes to the existing code etc). I think it's ready to merge but I haven't tested this since the last attempt (Sep. If you can fit a test in please do merge, otherwise better to hold off until I find time to do that. |
Quick test with |
Just to ask, as a layman. |
Yes, they should have keycodes 156, 157 and 210 ( |
I have a cintiq pro 24 and the only way I can even see the wacom devices is by running evemu as root. xev, for me, does not show anything when pressing these keys, either. How do I practically use this? |
that is expected, input devices cannot usually be opened by the user as this leads to keyloggers. What events do you see when you press the buttons? |
I see the EV_ABS and EV_MISC things when I use evemu as root. I get nothing using xev as a regular user, that's why I'm confused on how to actually, practically use this, in conjunction with something like xbindkeys and the like. No XF86Launch things either, even though I tested it with a keyboard that has media keys, which do work. So yeah, I have no idea how to use this apparently solved problem, lol. |
could be that your desktop environment grabs those calls to launch the matching program but then doesn't actually launch anything (maybe because there is nothing configured). Or could be that the driver has a bug, but a quick check shows that the code to convert those into The former can be ruled out if you start a plain X session (see |
Thank you for providing these elaborations, and your time. I cannot for sure say how 'plain' my x session is, but I think it's basically an xinit script that loads xmonad. As for the root window test from xev... I have to, sadly, report that no events are registered there, either. I have the following wacom related packages installed libwacom-2.6.0
Edit: Ignorance indeed, wacomtablet is a kde frontend. So, nevermind for that. modinfo wacom:
|
Fixes #45
This is still work in progress
This patch adds the code to pass on
KEY_PROG1
and friends to the X server, to be passed on to the clients from there. Realistically, this doesn't do anything for the other three codes because they're above the 255 keycode limit and will get dropped by the server immediately.The handling is hardcoded for the 6 buttons we care about, IMO there's little point to make this a fully generic.
I'm not sure if the events can occur on their own without any
EV_ABS
like we do for the normal buttons. Right now, the code assumes they are not affected by proximity, etc.cc @jigpu, @Pinglinux, @skomra