emacs-devel
[Top][All Lists]
Advanced

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

Re: master 3b41141708: Expose the name of an event's input device to Lis


From: Po Lu
Subject: Re: master 3b41141708: Expose the name of an event's input device to Lisp
Date: Sun, 10 Apr 2022 15:01:56 +0800
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.91 (gnu/linux)

Eli Zaretskii <eliz@gnu.org> writes:

> Why is this detail important?  Conceptually, some code that runs at
> Emacs startup will enumerate the mice and decide which one is which
> and how to name its buttons.  Are you saying that this is impossible
> in principle?

This is impossible in practice.  How will we know which button belongs
to which mouse?  What if the mice are enumerated in the wrong order?

We could sort the mice by some unique identifier (read: their names),
but the user will still have to know the names of the mice, and it seems
to me that will be very confusing.

> I think the question is rather "why do you think you _have_ to be able
> to do the same when a second mouse is connected?"  IOW, if this second
> mouse can be handled by existing Lisp-level infrastructure, why do we
> need to introduce new infrastructure, and one that leaks low-level
> information to Lisp on top of that?

I wasn't very convinced about the ability of the existing Lisp-level
infrastructure to handle this.

This information isn't also very low level anymore, when many other
programs are exposing the device information to their users and plugins.

Programs running in a browser, for example, can access the device name
information (and also many other details that we could expose in Emacs,
but I can't think of a use case for things such as mouse acceleration
profiles and haptic actuators in Lisp code.)

The KDE paint program Krita apparently has the ability to configure
individual tablet devices to behave differently.  The user is presented
the device name and a set of different behaviors for that device.

Being based on Qt, that device information is also available to Krita
plugins.

Thanks.


reply via email to

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