GNU bug report logs -
#74016
29.4; emacs-pgtk doesnt receive numpad events on wayland(sway)
Previous Next
Reported by: joakim <at> verona.se
Date: Fri, 25 Oct 2024 19:37:02 UTC
Severity: normal
Found in version 29.4
Full log
View this message in rfc822 format
> From: joakim <at> verona.se
> Date: Fri, 25 Oct 2024 21:35:48 +0200
>
>
> Emacs-pgtk doesnt seem to receive numpad events, instead number events
> are received.
>
> There was a thread about this on emacs-help:
>
> https://lists.gnu.org/archive/html/help-gnu-emacs/2024-10/msg00094.html
>
> I have attempted to summarize the thread here, wherein Stefan Monier
> recomended I report this as a bug, and I also received knowledgeable
> advice from several others.
>
> Heres the bug:
>
> I used to use a numpad to bind to do things in emacs.
>
> This used to work really well on the i3wm window manager and a gtk emacs
> build.
>
> Then I bought a nice new framework laptop which has a hidpi screen, so I
> switched to using the sway wm, and emacs-pgtk.
>
> Now the numpad no longer sends keypad events in a way that emacs
> recognizes, instead just plain numbers are received.
>
> below is an example of the code I use, but normally I just test with c-h
> k to see which key emacs receives.
>
> I also tried xev, and there it seems I get kp events, at least under
> xwayland I guess.
>
> (define-key cider-mode-map (kbd "<kp-enter>") 'sylt-stop)
> (define-key cider-mode-map (kbd "<kp-separator>") 'sylt-play-metro)
>
> (defmacro sylt-song-event-map-key (key num)
> `(define-key cider-mode-map (kbd ,key)
> (lambda () (interactive) (cider-nrepl-sync-request:eval
> ,(concat "(sylt.core/song-event \"" num "\")")))))
>
>
>
> (sylt-song-event-map-key "<kp-0>" "init")
> (sylt-song-event-map-key "<kp-1>" "1")
>
>
> Instead of xev, I tried wev, and got this, which seems expected:
>
> Using wev, installed from Fedora repos I get, for numpad 4, and normal 4:
>
> [14: wl_keyboard] key: serial: 60293; time: 61646320; key: 83; state: 0
> (released)
> sym: KP_4 (65460), utf8: ''
> [14: wl_keyboard] key: serial: 60294; time: 61651642; key: 13; state: 1
> (pressed)
> sym: 4 (52), utf8: '4'
>
> That is, the numpad and the number pad sends distinct events that are
> received by wev.
>
> using (read-key) in emacs-pgtk, both the numpad and the number row are
> received as the same event:
>
> 52 (#o64, #x34, ?4) [2 times]
>
> I get the same in a emacs gtk session.
>
> Maybe gtk is doing something weird?
>
> so now I tried emacs-29.4-gtk+x11 -Q
>
> and then I get "4 (translated from <kp-4>)"
> on c-h k, numpad 4, so xwayland is doing something correctly in this
> case, which pgtk isnt doing in the same way(imho incorrectly but what do
> I know)
>
> (and as a reminder, I run emacs-pgtk because it looks super nice on
> wayland, with the scaling hints I use on my framework hidpi screen, but
> emacs-29.4-gtk+x11 doesnt look good.)
Po Lu, is this another manifestation of problems with keyboard input
under PGTK? If so, should we add something to etc/PROBLEMS?
This bug report was last modified 171 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.