From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: pillule Newsgroups: gmane.emacs.help Subject: Re: Modifier Keys and the Archaic Meta Key Date: Sat, 14 Nov 2020 21:51:54 +0000 Message-ID: <87lff3bo91.fsf@host.localdomain> References: Mime-Version: 1.0 Content-Type: text/plain; format=flowed Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="22127"; mail-complaints-to="usenet@ciao.gmane.io" To: Help Gnu Emacs Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane-mx.org@gnu.org Sat Nov 14 22:53:19 2020 Return-path: Envelope-to: geh-help-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1ke3Tz-0005do-C1 for geh-help-gnu-emacs@m.gmane-mx.org; Sat, 14 Nov 2020 22:53:19 +0100 Original-Received: from localhost ([::1]:50688 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ke3Ty-0000oI-DJ for geh-help-gnu-emacs@m.gmane-mx.org; Sat, 14 Nov 2020 16:53:18 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:46972) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ke3Tf-0000o7-6q for help-gnu-emacs@gnu.org; Sat, 14 Nov 2020 16:52:59 -0500 Original-Received: from mx1.riseup.net ([198.252.153.129]:36528) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ke3Tb-0001pA-Db for help-gnu-emacs@gnu.org; Sat, 14 Nov 2020 16:52:58 -0500 Original-Received: from capuchin.riseup.net (capuchin-pn.riseup.net [10.0.1.176]) (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)) (Client CN "*.riseup.net", Issuer "Sectigo RSA Domain Validation Secure Server CA" (not verified)) by mx1.riseup.net (Postfix) with ESMTPS id 4CYTbP0G8mzDsZY for ; Sat, 14 Nov 2020 13:52:49 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=riseup.net; s=squak; t=1605390769; bh=OsxC8Y9C+0isbZuRLIKggGtOeGaK1IRISBV5C6OCt3o=; h=References:From:To:Subject:In-reply-to:Date:From; b=p97usGcHBDdQmWJCh/BmypfONBR/GrxrrirTQZ8Wy4+1x3R37zyugD/svQBrCUl+f y16Or8v4mjp/mswcMaNmKT8Wszu3s72BeOZz0ybGm5gfhGmqnEv4U1XjXK8PdVfRLu m4MX5tsqg/KuDtrYS5TUZ+83AcC7SSGWoYqxCEpo= X-Riseup-User-ID: B9D66D11F4D111F520AAD6667CCB1404C5C4A4DE1B7717E6D7AD7AC9D5FF5978 Original-Received: from [127.0.0.1] (localhost [127.0.0.1]) by capuchin.riseup.net (Postfix) with ESMTPSA id 4CYTbL3pKhz8t9Y for ; Sat, 14 Nov 2020 13:52:44 -0800 (PST) In-reply-to: Received-SPF: pass client-ip=198.252.153.129; envelope-from=pillule@riseup.net; helo=mx1.riseup.net X-detected-operating-system: by eggs.gnu.org: First seen = 2020/11/14 16:52:51 X-ACL-Warn: Detected OS = Linux 3.11 and newer [fuzzy] X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: help-gnu-emacs@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Users list for the GNU Emacs text editor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: "help-gnu-emacs" Xref: news.gmane.io gmane.emacs.help:125263 Archived-At: Hi, I spent myself some time in the xkb configurations files, Alt and Meta are two different ~keysyms~ so we can attribute them a different Modifier. How Emacs interpret theses two specifically seems configurable inside the modifier map if not inside Emacs due to this confusion between old terminals and now (I read someone have already done it but don't remember the post. sorry). There is 8 slots for modifiers. More for Virtual Modifiers (but haven't played with theses yet and so I don't know if we can use them as a way to dramatically extend our modifiers). Control Shift Caps_Lock occupy the three first ones. The five others let users do some customisations but generally there is already : Alt / Meta on the same row Super Num_Lock ISO_Level3_Shift (aka Alt_gr) for europeans symbols ISO_Level5_Shift eventually for even more layers of symbols. Personally I cheat by putting the level5 on Num_Lock and so free place for hyper. But that's not all, there also indeed the group's modifiers and the controls keys such as Overlay1_Enable which can be used to dramatically increase the number of keys's combinaisons. Finally, 1. There are multiples possibilities to define a keysym on a key ( 8 layers or even more, 4 groups, 1 overlay ) 2. There are possibilities to Set/Latch/Lock/Redirect _multiple_ modifiers and/or a key, all on one key. 3. You can basically choose to define, let's say, Control_R+E to C-H-M-A-S-s- if it is your pleasure. XKB is somehow flexible. So, while it would be nice to have more modifier available ... let's face it, you can already do pretty damn things without any more of them. You mentionned to be an user of the colemak layout, I warmly suggest you to look at the sources of the extend mod to see some of theses things in practice. https://forum.colemak.com/topic/1438-dreymars-big-bag-of-keyboard-tricks-linuxxkb-files-included/ Cheers. Christopher Dimech writes: >> It seems to me that only makes sense on your keyboard, not >> mine. >> I have no problem with allowing users the ability to define >> other modifier keys, >> but that would likely require the underlying code to support >> more morifier bits >> that is does currently. > > C* I was just discussing the customary modifier keys > historically associated with > Emacs. There are five: {C,M,S,H,s}. > >> > Consequently the Alternate Control Modifier Key would simply >> > be associated with Alt, but to the key as Priority 2, which >> > can be Alt, Esc, etc. >> >> That seems like adding a lot of words with no real value-added. >> If there are >> no keyboards in existance today > with a key labeled Meta, then >> the meaning is >> clear that it is the other modifier key without needing to >> resort to excessive >> verbosity. > > C* That is not always precise because Emacs also recognises the > Hyper and Super > Keys as well, which I use - although using hardware remapping > for the location of > those keys. > >> On my keyboard the keys are labeled (center to left) space, >> command, alt/option, >> control, function. Depending on Emacs version the Meta key >> seems to change between >> Command and Option, I tend to adapt. However, I am getting to >> like using option > > C* The new idea is to dissociate what is actually written on a > particular keyboard. > We name the Modifier Keys as "Control, Alternate Control, Hyper, > Shift, Super". > Then associate the names to what one actual has printed on the > keyboard. One can > use xev and xmodmap for that. Example, one can say Alternate > Control is "Alt" > on Peter's Keyboard whilst it is "Meta" or "Esc" on Shirley's > Keyboard. Whilst > the Alternate Control Key is "Option" on Frances' Keyboard. > >> As far as I know the Function key is an OS-level key that >> modifies the keystrokes >> sent to the application, bnut I could be wrong. > > C* There are two key codes associated with each key, one > communicates with Applications, > whilst the other communicates with the Hardware. They are > different codes. > > > --------------------- > Christopher Dimech > Chief Administrator - Naiad Informatics - GNU Project > (Geocomputation) > - Geophysical Simulation > - Geological Subsurface Mapping > - Disaster Preparedness and Mitigation > - Natural Resource Exploration and Production > - Free Software Advocacy > > >> Sent: Sunday, October 25, 2020 at 9:12 PM >> From: "Francis Belliveau" >> To: No recipient address >> Cc: "Help Gnu Emacs" >> Subject: Re: Modifier Keys and the Archaic Meta Key >> >> >> >> > On Oct 25, 2020, at 09:46, Christopher Dimech >> > wrote: >> > >> > Rather than referring to the five principal Modifier Key, >> > immediately by Key Mnemonics, it is more useful to have >> > a name for them categorised by priority. >> > >> > The Five Principal Modifier Keys can be called Control, >> > Alternate, Hyper, Shift, Super, then associate any mnemonic >> > one wants (Ctrl, Ctl) (Meta, Alt, Esc). >> >> It seems to me that only makes sense on your keyboard, not >> mine. >> I have no problem with allowing users the ability to define >> other modifier keys, but >> that would likely require the underlying code to support more >> morifier bits that is >> does currently. > > C* One can split Ctrl_L from Ctrl_R (and Alt_L from Alt_R, ... > etc). > >> > It is recognised that the Control Modifier Key and the >> > Meta Modifier Key are exclusively and most widely used >> > Modifier Keys for Emacs Built-In Keybindings. Consequently >> > I group them together, one call it Control, whilst the other >> > as Alternate Control. It makes the use of key much more >> > precise. >> > >> > Consequently the Alternate Control Modifier Key would simply >> > be associated with Alt, but to the key as Priority 2, which >> > can be Alt, Esc, etc. >> >> That seems like adding a lot of words with no real value-added. >> If there are no keyboards in existance today with a key labeled >> Meta, then the meaning is clear that it is the other modifier >> key without needing to resort to excessive verbosity. >> >> > I agree of the utility of possibly more Modifier Keys. >> > However, sticking >> > with officially Five Major Modifier Key for now is adequate. >> > I customarily >> > use Mechanical Keyboards with Colemak Key Variation, and have >> > to rebind certain >> > Key Sequences that are built-in into Emacs. I also remap the >> > order of keys >> > from (C, s, M) to (s, M, C). In this way priority increases >> > from right to >> > left. The C Key is mapped to the key immediately to the left >> > of the space bar >> > as in the original setup of the Lisp Keyboards. However I do >> > not simply switch >> > the Meta and Control Key as many have done, but organise the >> > Keymaps by priority >> > going outward. >> > >> >> On my keyboard the keys are labeled (center to left) space, >> command, alt/option, control, function. >> Depending on Emacs version the Meta key seems to change between >> Command and Option, I tend to adapt. However, I am getting to >> like using option since it is distinct from the OS use of >> command. Option seems to be an application-specific modifier >> whereas Command has OS utility. As far as I know the Function >> key is an OS-level key that modifies the keystrokes sent to the >> application, bnut I could be wrong. >> >> Fran >> >> >> >> --