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

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

Re: Modifier Keys and the Archaic Meta Key


From: Jean Louis
Subject: Re: Modifier Keys and the Archaic Meta Key
Date: Sun, 25 Oct 2020 15:45:32 +0300
User-agent: Mutt/+ (1036f0e) (2020-10-18)

* Christopher Dimech <dimech@gmx.com> [2020-10-25 13:07]:
> Dear Compeers,
> 
> In 1975, when Richard Stallman and Guy Steele started designing
> keybindings they used the keyboards used by Lisp Machines which
> had Modifier Keys like Meta.

History is very interesting. I have read sometimes contradictory
hystorical statements, that both of them made the Emacs where it was
referred to GNU Emacs context.

Then before few days I found this Emacs development history:
https://www.jwz.org/doc/emacs-timeline.html

This shows that GNU Emacs is quite a different and separate peace of
software from the original 1976 Emacs, and I am not referring to
anything related to key design. Maybe RMS can tell us more about the
timeline.

> Today, Lisp Machines and their keyboards are only historical
> keyboards whose use has become academic.

>From a viewpoint of average user shopping for Microsoft-like keyboards
in stores, that is very undertstandable as market is overwhelmed by
those new keyboards that are everywhere around us in general.

Times are changing and we do not know the future. I would prefer more
different meta or modifiers keys, and I have them too few. For example
on my laptop I have special laptop modifier Fn, Ctrl, Super, Alt, on
left side Alt, Menu type and Ctrl, I would prefer more of such for
better keybindings and more efficient work.

Look at this interesting keyboard, it is configurable:
https://kono.store/products/sa-symbiosis-keycaps?variant=12358483968100

> Thusly, I disapprove of the practice of continuing with the use of
> the Modifier Key Mnemonic 'M' in documentation and code. Perhaps a
> historical note can be included in the documentation about
> historical aspects, however in terms of use and functionality, it is
> not strategically productive to continue with the 'M' Mnemonic for
> things that do not exist.

While I do not disapprove the practice itself, I suggest improvements
in documentation.

>From Emacs Glossary:

<Meta>

     Meta is the name of a modifier bit which you can use in a command
     character.  To enter a meta character, you hold down the <Meta> key
     while typing the character.  We refer to such characters with names
     that start with ‘Meta-’ (usually written ‘M-’ for short).  For
     example, ‘M-<’ is typed by holding down <Meta> and at the same time
     typing ‘<’ (which itself is done, on most terminals, by holding
     down <SHIFT> and typing ‘,’).  *Note Meta: User Input.

     On some terminals, the <Meta> key is actually labeled <Alt> or
     <Edit>.

<Alt>
     Alt is the name of a modifier bit that a keyboard input character
     may have.  To make a character Alt, type it while holding down the
     <Alt> key.  Such characters are given names that start with
     ‘<Alt>-’ (usually written ‘A-’ for short).  (Note that many
     terminals have a key labeled <Alt> that is really a <Meta> key.)
     *Note Alt: User Input.

That is true that references to Alt and Meta are there for historical
reasons. So it says in the manual.

Today there are other reasons and the definition of M-x is little
different than how it was originally meant.

Today M in M-x is not any more Alt only, it can be anything,
especially how it says in the manual, Meta is anyway converted
internally into ESC.

Maybe it will be surprising to you, I am one of people that often need
to use ESC as Meta key. There are examples of using Emacs on
LineageOS/Replicant/Android system where key such as ALT is not
displayed but ESC exists, depends of the keyboard being set. There are
examples when using Fvwm Crystal Window Manager where ALT is
automatically bound to its functions, there is example with the EXWM
Emacs X Window Manager where launching new instance of Emacs with
`emacs -q` especially for debugging purposes requires usage of ESC as
Meta key instead of Alt as Meta key.

Emacs was used widely on terminals, so it is understandable.

Me personally I know a military organization in Europe that uses many
terminals connected to main UNIX server. While obsolete in personal
computing they may not be obsolete for organizations world wide. I can
imagine that back in time computers were extremely expensive and using
multiple terminals was cost effective. Today it is not as terminals
are simply not easily to find on the market. But it is today less cost
effective to use computers who anyway only connects to their servers
for simple communication. Some companies like the Internet caffe in
Munich, Germany at the central train station used computers without
disks to boot from network, so they made it cost effective to spare on
hard disks, maybe they still do.

Terminals as such represent more safe technology as they are usually
directly connected through serial ports to the main server. They are
not using insecure wireless networking neither Internet. Yet they are
not available and serial ports are as well harder and harder to find,
right?

Some are creating terminals like these:

- https://hackaday.io/project/13273-diy-vt100-a-miniature-hardware-terminal

- https://thehighnibble.com/vt132/

yet they will not use any special keys on their whatever keyboards.

Today M-x means and could mean CAPS-LOCK-x and it could mean left menu
key, it could mean left Ctrl, it could mean ESC, or some other key,
that is all configurable (I guess). So meaning changed, it is not just
Meta, but it is better to refer to Meta for Emacs extended commands
then referring to ALT or S because settings are configurable, if Emacs
would refer to ALT,

> The Super Key Mnemonic is currently 's' (small letter s) which
> conflicts the the usual letter 's'.  To distinguish Modifier Keys,
> Upper Case should be made a rule, with the Super Key Mnemonic
> being set to 'P' (the middle letter in Super).

Interetsting observation.

> Modifier Keys customarily are categorised by priority as follows.
> Focus should be on Priority Levels rather just a letter among
> five Modifier Keys.  Such discussion would make commands much
> easier to figure out.
> 
> Priority 1: Control Key 'C'
> Priority 2: Alternate Key 'A'
> Priority 3: Hyper Key 'H'
> Priority 4: Super Key 'P' (for middle letter, instead of 's')
> Priority 5: Shift Key 'S'

I think even those priorities you mention are not widely known.

Another point is that LISP and dialects as Scheme are getting more and
more popular today, people seek the return of the Lisp Machines, there
is Mezzano (maybe spelling mistake) LISP OS, and so much more comes
back to Lisp these years and this may lead to sudden surge in
production of such specialized keyboards. I would be one buying such,
I need more modifiers.

Btw. there is new Symbolics http://symbolics-dks.com/ and still
providing Genera for Unix. Keyboards probably not.

What about those Apple based keyboards they have CONTROL, OPTION
(alt), COMMAND so in their case they write "alt" with small letters as
they did not probably have Alternative originally. On my Bluetooth
keyboard it is like that too, it is control, option, command.

It would not quite alright to say ALT-x instead of M-x as on their
keyboards it is "Option" and users are maybe (just guessing) used to
Option notation.

> This evaluation and modifications outlined is useful for users
> today, whilst continuing with archaic elaboration on 1975 Lisp
> Keyboards has become unproductive for new users.

>From viewpoint of using exclusively ALT yes or making it clear for new
users on Windoze computers, then maybe yes. And there are other
viewpoints:

- if notation is changed, then historical wide usage of notation M-x
  would become surprising for many existing Emacs users. It would be
  difficult to accommodate new users for the sake of existing
  users. It is easier to adopt some modification to the definition of
  the M-x then change the notation. There is also nothing wrong for
  users to understand the etymology of M-x.

- More important is how Emacs have got its image by the M-x, as M-x
  now became new meaning in itself, it became part of the
  culture. Examples: https://emacslife.wordpress.com/about/ where
  website has title M-x emacs-life RET and
  https://www.zazzle.com/m_x_mug_mode_emacs_mug-168997655186727276
  with the mug for Emacs with M-x

M-x sleep

-- 
Jean Louis



reply via email to

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