emacs-devel
[Top][All Lists]
Advanced

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

Re: Default Emacs keybindings


From: Alan Mackenzie
Subject: Re: Default Emacs keybindings
Date: Tue, 4 May 2004 07:42:03 +0000 (GMT)


On 4 May 2004, Eli Zaretskii wrote:

>> Date: Mon, 3 May 2004 17:59:47 -0500 (CDT)
>> From: Luc Teirlinck <address@hidden>

>> Richard Stallman wrote:

>>    What we should do is include prominent documentation telling users
>>    how to remap their caps-lock key, with specific recipes.  (I have
>>    no idea where to find this information for GNU/Linux.)

The relevant man pages are loadkeys(1), dumpkeys(1), showkey(1) and
keytables(5)

>> >From M-x man xmodmap:

>xmodmap is only for working on X, IIRC it doesn't help if one runs Emacs
>from a console or logs in remotely via a terminal emulator.  So this is
>not a universal solution, not even on a GNU/Linux machine.

The Right Way to do this is to modify the Linux keyboard driver.  For
Linux running on an Intel PC, create a two-line file called (say)
/etc/keytab.CoLo with the following contents:

keycode 29 = Caps_Lock
keycode 58 = Control

Then, at a bash prompt (or, eventually, in a start-up script), do:

# loadkeys /etc/keytab.CoLo

[The scan codes of the pertinent keys on different hardware can be found
with showkeys, for example.]

There is a bug in the keyboard driver of my (shamefully out of date)
Linux kernel, in which after running this file, the keyboard is left in
"permanent control" state.  This can be worked around by specifying in
/etc/keytab.CoLo "Caps_Lock" or "Control" individually for each modifier
combination, as follows. 

keycode 29 = Caps_Lock Caps_Lock Caps_Lock Caps_Lock Caps_Lock Caps_Lock 
Caps_Lock Caps_Lock Caps_Lock Caps_Lock Caps_Lock
keycode 58 = Control Control Control Control Control Control Control Control 
Control Control Control

The number of "Caps_Lock"s necessary can be found from "dumpkeys -i".

-- 
Alan Mackenzie (Munich, Germany)






reply via email to

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