tech-userlevel archive

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

Re: [SCRIPT CORRECTED] Xmodmap intra and inter-systems woes



There was a blunder in the previous script: redirection not in the right
place.

Please find below the corrected version:

-----8<----
#!/bin/sh
# C) 2020 Thierry Laronde <tlaronde%polynum.com@localhost>
# Public Domain.
# No warranty! Use at your own risk!

: ${TMPDIR:=/tmp}

cat <<EOT >&2
When the window will appear, click first in the xterm
and then in the window (the square in the blank window).

You can then start to press Meta keys: "Windows",
Alt, AltGr, arrows, home, end, page up, page down...
so that we can generate the xmodmap rules.

Press any key to start. Kill the xev window when done.
EOT
read ans

# Get keycode keysym name from xev.
#
xev -event keyboard 2>&1\
	| sed -n -e 's/^Outer window is \(0x[^,]*\).*$/\1/p' \
		-e 's/^.*keycode \([0-9][0-9]*\) (keysym 0x\([a-f0-9][a-f0-9]*\), \([^)][^)]*\)).*$/\1 \2 \3/p'\
	| sort | uniq\
	| while read keycode keysym name; do
		test "$keysym" || { wid=$keycode; continue; } # unused
		echo "keycode $keycode = $name"
		case $name in
			Shift_[LR]) echo "add shift = $name";;
			Control_[LR]) echo "add control = $name";;
			Alt_L|Meta_L) echo "add mod1 = $name";;
			Super_[LR]|Hyper_L) echo "add mod4 = $name";;
			ISO_Level3_Shift|Mode_switch) echo "add mod5 = $name";;
		esac
	done >$TMPDIR/xmodmap

xmodmap $TMPDIR/xmodmap
---->8-----
-- 
        Thierry Laronde <tlaronde +AT+ polynum +dot+ com>
                     http://www.kergis.com/
                    http://kertex.kergis.com/
                       http://www.sbfa.fr/
Key fingerprint = 0FF7 E906 FBAF FE95 FD89  250D 52B1 AE95 6006 F40C


Home | Main Index | Thread Index | Old Index