bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#74423: Low level key events


From: Cecilio Pardo
Subject: bug#74423: Low level key events
Date: Wed, 4 Dec 2024 22:25:32 +0100
User-agent: Mozilla Thunderbird

On 04/12/2024 21:01, Eli Zaretskii wrote:
+  DEFVAR_LISP ("enable-low-level-key-events", Venable_low_level_key_events,
+              doc: /* If non-nil, reception of low-level key events is enabled.
+
+The value configures the set of keys that are handled:
+
+If t, send events for all keys.
+
+If a number, send events for the corresponding keysym.  When calling
+'llk-init', a set of variables with the xk- prefix is initialized with
+the numeric values for keysyms.  This numbers are platform dependent.

This seems to say that it is impossible to make the value do the same
on all platforms?  If so, I think it's less useful than it could be,
because Emacs generally tries to abstract platform-specific issues as
much as possible, to facilitate platform-independent Lisp programs
that work the same on all supported systems.

Also, there's no information here where to find the list of these xk-
numbers.

Those are variables, like xk-shift-l, xk-a, xk-f1. There is also
llk-keysyms, that has a list of all xk-* symbols and their numeric values.

llk-init initializes all of these variables, using numbers that are platform dependent (XK_* constant KeySyms for X, VK_* "virtual keys" for windows. GDK keys match X keys.

Numbers are different, but users should use the variables, not the numbers, for binding and comparing to event values.

I can translate the Windows numbers to the X equivalents, so that they are equal on both platforms. In any case, I will document this better, with a manual change proposal.





reply via email to

[Prev in Thread] Current Thread [Next in Thread]