blob: 9b284bba24ba21faef432fa9c536c1d2d3476340 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
|
#!/bin/sh
set -eu
set -o pipefail
on() {
xmodmap -e 'keycode 10 = exclam 1'
xmodmap -e 'keycode 11 = at 2'
xmodmap -e 'keycode 12 = numbersign 3'
xmodmap -e 'keycode 13 = dollar 4'
xmodmap -e 'keycode 14 = percent 5'
xmodmap -e 'keycode 15 = asciicircum 6'
xmodmap -e 'keycode 16 = ampersand 7'
xmodmap -e 'keycode 17 = asterisk 8'
xmodmap -e 'keycode 18 = parenleft 9'
xmodmap -e 'keycode 19 = parenright 0'
xmodmap -e 'keycode 20 = underscore minus'
xmodmap -e 'keycode 34 = braceleft bracketleft'
xmodmap -e 'keycode 35 = braceright bracketright'
xmodmap -e 'keycode 49 = asciitilde grave'
xmodmap -e 'keycode 51 = bar backslash'
}
off() {
xmodmap -e 'keycode 10 = 1 exclam'
xmodmap -e 'keycode 11 = 2 at'
xmodmap -e 'keycode 12 = 3 numbersign'
xmodmap -e 'keycode 13 = 4 dollar'
xmodmap -e 'keycode 14 = 5 percent'
xmodmap -e 'keycode 15 = 6 asciicircum'
xmodmap -e 'keycode 16 = 7 ampersand'
xmodmap -e 'keycode 17 = 8 asterisk'
xmodmap -e 'keycode 18 = 9 parenleft'
xmodmap -e 'keycode 19 = 0 parenright'
xmodmap -e 'keycode 20 = minus underscore'
xmodmap -e 'keycode 34 = bracketleft braceleft'
xmodmap -e 'keycode 35 = bracketright braceright'
xmodmap -e 'keycode 49 = grave asciitilde'
xmodmap -e 'keycode 51 = backslash bar'
}
toggle() {
if xmodmap -pk | grep -q '(1).*(exclam).*(1).*(exclam)'; then
on
else
off
fi
}
case "$1" in
on) on ;;
off) off ;;
toggle) toggle ;;
*)
echo invalid 1>&2
exit 1
;;
esac
|