Re: custom keyboard layout - select and middle-click paste in xterm -lc
On 14.09.17 18:48, Zenaan Harkness wrote:
> On Thu, Sep 14, 2017 at 06:35:16PM +1000, Zenaan Harkness wrote:
> > So I've mapped the function (mathematical) symbol to Level3-Shift + `
> > (backtick) - created a custom keyboard layout in
> > /usr/share/X11/xkb/symbols/...
>
> Further, I just copied the "us" file, gave it a custom name, and
> modified the first "key <TLDE> ..." line to read as follows:
>
> key <TLDE> { [ grave, asciitilde, function, U266E ] };
>
> and also added the following line to the bottom of that first section
> in that file:
>
> include "level3(lwin_switch)"
>
>
> Additionally ("of course") I added a "layout" entry to the file:
> /usr/share/X11/xkb/rules/base/evdev.xml (or "base.xml" - they look
> the same, dunno what's the diff sorry);
>
> edited:
> /etc/default/keyboard
> XKBLAYOUT="mycustomlayoutfilename"
> XKBVARIANT="basic" # needed ??
> XKBOPTIONS="lv3:lwin_switch,terminate:ctrl_alt_bksp"
>
> ran:
> sudo setupcon
> sudo dpkg-reconfigure xkb-data keyboard-configuration
>
> double-checked /etc/default/keyboard and re-ran setupcon,
>
> and finally rebooted.
>
> Nothing to it (at least not after you've tried many combinations,
> searched and read a lot, and rebooted more times than my second
> memory cell is capable of remembering :)
All of that looks rather complicated, compared to just using xmodmap.
As an example, I change the CapsLock key to Escape, especially on
laptops, where Escape is tiny as well as more distant than CapsLock.
For permanence, all I do is add the lines:
keycode 0x42 = Escape
clear Lock
to ~/.Xmodmap , but for a once-off, it can be done with xmodmap
directly:
$ xmodmap -e 'clear Lock'
$ xmodmap -e 'keycode 0x42 = Escape'
What is the keycode for the key you want to remap? Run xev, move the
cursor into its focus, and hit the key. Buried in 3 or 4 lines of
verbose output, there's the word "keycode" followed by the number you're
looking for. (Don't move the mouse while checking keys, as there's a
barrage of output, then. ;)
There's also "keysym" followed by a hex value and the key name.
So we could use the keysym value, instead of keysym name, to make the
numeric pad '.' provide the European decimal comma:
$ xmodmap -e 'keycode 91 = 0x2c' # Change numeric pad '.' to ','
or vice versa:
$ xmodmap -e 'keycode 91 = 0x2e' # Change numeric pad ',' to '.'
ISTM to be a lot simpler, and has worked here for many a year.
There's an example of swapping keys in "man xmodmap".
Erik
Reply to: