unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
From: Po Lu via "Bug reports for GNU Emacs, the Swiss army knife of text editors" <bug-gnu-emacs@gnu.org>
To: Eli Zaretskii <eliz@gnu.org>
Cc: 74423@debbugs.gnu.org, Cecilio Pardo <cpardo@imayhem.com>,
	monnier@iro.umontreal.ca
Subject: bug#74423: Low level key events
Date: Fri, 06 Dec 2024 09:01:30 +0800	[thread overview]
Message-ID: <87ttbhhbf9.fsf@yahoo.com> (raw)
In-Reply-To: <867c8ezny3.fsf@gnu.org> (Eli Zaretskii's message of "Thu, 05 Dec 2024 07:41:24 +0200")

Eli Zaretskii <eliz@gnu.org> writes:

>> Date: Wed, 4 Dec 2024 22:25:32 +0100
>> Cc: monnier@iro.umontreal.ca, luangruo@yahoo.com, 74423@debbugs.gnu.org
>> From: Cecilio Pardo <cpardo@imayhem.com>
>> 
>> 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.
>
> This should be explicitly told in the doc string.  Also, if the xk-*
> variables are platform-independent, the rule to map their names to
> keyboard keys should be explained somewhere, perhaps in the manual, so
> that Lisp programmers could easily know how to identify the keys which
> they stand for.
>
>> I can translate the Windows numbers to the X equivalents, so that they 
>> are equal on both platforms.
>
> I'm not sure this is needed, if the xk-* names are the same.
>
>> In any case, I will document this better, with a manual change
>> proposal.
>
> Thanks.  This facility definitely needs to be in the ELisp manual
> before we install it.

I suggest calling XKeysymToString rather than interning the numerical
value of keysyms received.  This gives users some indication of the
identity of these keysyms without tediously referring to (at times
vendor-specific) keysymdef.h files.





  reply	other threads:[~2024-12-06  1:01 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <fb50ec11-7aec-481e-8a3a-ecdcf22eb7c0@imayhem.com>
     [not found] ` <31bdc55d-8c13-4de0-9cef-bd6cc4fb033f@imayhem.com>
     [not found]   ` <s1r8qtzsvbe.fsf@yahoo.com>
2024-11-18 20:35     ` bug#74423: Low level key events Cecilio Pardo
2024-11-18 23:49       ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-11-23 12:08         ` Cecilio Pardo
2024-11-19 15:29       ` Eli Zaretskii
2024-11-19 16:43       ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-11-19 20:05         ` Cecilio Pardo
2024-11-20  4:21           ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-02 16:54             ` Cecilio Pardo
2024-12-04 20:01               ` Eli Zaretskii
2024-12-04 21:25                 ` Cecilio Pardo
2024-12-05  5:41                   ` Eli Zaretskii
2024-12-06  1:01                     ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors [this message]
2024-12-07 21:52                       ` Cecilio Pardo

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87ttbhhbf9.fsf@yahoo.com \
    --to=bug-gnu-emacs@gnu.org \
    --cc=74423@debbugs.gnu.org \
    --cc=cpardo@imayhem.com \
    --cc=eliz@gnu.org \
    --cc=luangruo@yahoo.com \
    --cc=monnier@iro.umontreal.ca \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).