all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: "Óscar Fuentes" <ofv@wanadoo.es>
To: help-gnu-emacs@gnu.org
Subject: Re: Ctrl-[ ?
Date: Sat, 08 Jun 2019 23:38:53 +0200	[thread overview]
Message-ID: <874l4zoiz6.fsf@telefonica.net> (raw)
In-Reply-To: 63F9D100-CD25-445B-8184-93A25DB0FC38@comcast.net

Francis Belliveau <f.belliveau@comcast.net> writes:

[snip]

> However, my development experience is that there are some bindings
> that are at the OS interface level and therefore invisible to the
> application.

That's true, but it is not the case of the keybindings we are discussing
here. For security reasons, the OS does not pass certain keys to
applications (Ctrl+Alt+DEL on MS-Windows, for instance; AFAIK GNU-Linux
is more customizable on this aspect).

[exposition of how ASCII codes work on a terminal elided]

> So what I believe that many of you are complaining about is the
> inability to separate the actions by specialized keys on your keyboard
> from the "control code" that they actually generate.
>
> What I am saying is that if EMACS cannot tell the difference, then it
> cannot provide you with the ability to bind them differently. To fix
> the problem you will need to go deeper into things than just a simple
> key-mapping like what happens when you hit C-z.

GUIs are quite more sophisticated than what you explained. To begin
with, the GUI keyboard handling system does not work on ASCII, but on
key codes. (Since decades ago GUIs are expected to support non-ASCII
keyboards out of the box.) Also, it is possible to detect things such as
pressing the left or right Shift key (without combining it with another
key) or simultaneous presses of "printable" keys.

You can monitor those low-level events. The OS usually provides some
facilities to translate those events to higher level events. I don't
know at which level Emacs works for GUIs, probably the later. But that's
irrelevant, because Emacs can detect equally well C-[ as C-t, because
them come from the exact same mechanism, and no GUI I know of will
intercept a C-something key combination (some desktop environments, such
as KDE, define keybindings that overlap with with Emacs', quite
annoyingly, BTW, but the user is free from removing those KDE
keybindings).

In short, thinking about this issue on terms of ttys is missing the
point, because the key here (pun intended) is, precisely, that GUIs have
a keyboard handling model that has nothing to do with ttys and are not
subject to their limitations.





  reply	other threads:[~2019-06-08 21:38 UTC|newest]

Thread overview: 107+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-06-06  4:49 Ctrl-[ ? Jean-Christophe Helary
2019-06-06  7:26 ` Jean-Christophe Helary
2019-06-06  8:13   ` Andreas Schwab
2019-06-06 10:12   ` Eli Zaretskii
2019-06-06 12:37     ` Jean-Christophe Helary
2019-06-06 13:02       ` Eli Zaretskii
2019-06-06 13:28         ` Jean-Christophe Helary
2019-06-06 12:44     ` Mattias Engdegård
2019-06-06 13:01       ` Eli Zaretskii
2019-06-06 13:25         ` Jean-Christophe Helary
2019-06-06 14:35           ` Eli Zaretskii
2019-06-07  6:21             ` Marcin Borkowski
2019-06-07  8:34             ` joakim
2019-06-06 13:26         ` Clément Pit-Claudel
2019-06-06 13:32           ` Juanma Barranquero
2019-06-06 14:37           ` Eli Zaretskii
2019-06-06 15:01             ` Jean-Christophe Helary
2019-06-06 15:33             ` Clément Pit-Claudel
2019-06-06 17:28               ` Eli Zaretskii
2019-06-06 17:33                 ` Clément Pit-Claudel
2019-06-06 17:48                   ` Eli Zaretskii
2019-06-06 18:34                     ` Eli Zaretskii
2019-06-06 18:48                       ` Clément Pit-Claudel
2019-06-06 19:18                         ` Eli Zaretskii
2019-06-07 15:02                           ` Clément Pit-Claudel
2019-06-07 19:44                             ` Eli Zaretskii
2019-06-07 21:01                               ` Clément Pit-Claudel
2019-06-07 23:48                               ` Jean-Christophe Helary
2019-06-08  6:23                                 ` Eli Zaretskii
2019-06-12  8:08                               ` Søren Pilgård
2019-06-12  8:56                                 ` Ergus
2019-06-06 18:55                       ` Noam Postavsky
2019-06-10  0:23             ` Stefan Kangas
2019-06-10  0:42               ` Jean-Christophe Helary
2019-06-10 16:42               ` Eli Zaretskii
2019-06-11 15:36                 ` Michael Welsh Duggan
2019-06-11 15:55                   ` Eli Zaretskii
2019-06-11 16:31                   ` Yuri Khan
2019-06-12 12:22                   ` Stefan Kangas
2019-06-12 12:14                 ` Stefan Kangas
2019-06-12 13:12               ` Alan Mackenzie
2019-06-12 13:38                 ` Óscar Fuentes
2019-06-06 13:28         ` Óscar Fuentes
2019-06-06 14:00         ` Drew Adams
2019-06-06 12:58   ` Stefan Monnier
2019-06-06 12:58 ` Ralph Seichter
2019-06-06 13:42 ` tomas
2019-06-06 14:08   ` Jean-Christophe Helary
2019-06-06 14:25     ` Stefan Monnier
2019-06-06 15:27       ` Jean-Christophe Helary
2019-06-06 18:29         ` Noam Postavsky
2019-06-06 23:08           ` Jean-Christophe Helary
2019-06-06 23:26             ` Noam Postavsky
2019-06-06 23:35               ` Jean-Christophe Helary
2019-06-07  6:24               ` Eli Zaretskii
2019-06-07 11:43                 ` Noam Postavsky
2019-06-07 13:16                   ` Jean-Christophe Helary
2019-06-07 22:04       ` Stefan Monnier
2019-06-08  6:22         ` Eli Zaretskii
2019-06-08 14:14           ` Stefan Monnier
2019-06-07  3:36 ` Emanuel Berg via help-gnu-emacs
2019-06-07  4:30   ` Jean-Christophe Helary
2019-06-07  4:43     ` Emanuel Berg via help-gnu-emacs
2019-06-07  5:04       ` Jean-Christophe Helary
2019-06-07  6:15     ` Eli Zaretskii
2019-06-07  8:04       ` Óscar Fuentes
2019-06-07  8:44         ` Eli Zaretskii
2019-06-07 13:19           ` Jean-Christophe Helary
2019-06-07 13:54             ` Noam Postavsky
2019-06-07 14:23               ` Jean-Christophe Helary
2019-06-07 15:17                 ` Noam Postavsky
2019-06-07 13:45           ` Óscar Fuentes
2019-06-07 14:20             ` Eli Zaretskii
2019-06-07 18:20               ` Óscar Fuentes
2019-06-07 20:16                 ` Eli Zaretskii
2019-06-07 16:30             ` tomas
2019-06-08  0:05               ` Francis Belliveau
2019-06-08  0:31                 ` Óscar Fuentes
2019-06-08  8:44                   ` tomas
2019-06-08 11:48                     ` 조성빈 via help-gnu-emacs
2019-06-08 11:56                       ` tomas
2019-06-08 13:06                     ` Óscar Fuentes
2019-06-08 13:30                       ` Eli Zaretskii
2019-06-08 13:54                         ` Jean-Christophe Helary
2019-06-08 14:03                           ` tomas
2019-06-08 14:22                             ` Jean-Christophe Helary
2019-06-08 15:42                           ` Eli Zaretskii
2019-06-09  0:52                             ` Jean-Christophe Helary
2019-06-09  6:19                               ` Eli Zaretskii
2019-06-09  6:51                                 ` Jean-Christophe Helary
2019-06-08 13:58                         ` tomas
2019-06-08 19:40                           ` Óscar Fuentes
2019-06-08 20:09                             ` Eli Zaretskii
2019-06-08 20:28                             ` tomas
2019-06-08 21:03                   ` Francis Belliveau
2019-06-08 21:38                     ` Óscar Fuentes [this message]
2019-06-09  0:25                       ` Stefan Monnier
2019-06-09  1:24                         ` Óscar Fuentes
2019-06-18 22:25                           ` Stefan Monnier
2019-06-11 23:05                         ` Francis Belliveau
2019-06-14  6:51                           ` Stefan Monnier
2019-06-14 12:06                             ` [offtopic] " Van L
2019-06-14 12:24                               ` tomas
2019-06-15  9:12                                 ` Van L
2019-06-15  9:44                                   ` tomas
2019-06-15 12:38                                     ` Van L
2019-06-09  6:37                     ` Eli Zaretskii

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

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

  git send-email \
    --in-reply-to=874l4zoiz6.fsf@telefonica.net \
    --to=ofv@wanadoo.es \
    --cc=help-gnu-emacs@gnu.org \
    /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 external index

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

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.