]> git.donarmstrong.com Git - qmk_firmware.git/blob - users/ericgebhart/switch-kbd
Merge branch 'master' of github.com:qmk/qmk_firmware into hf/shinydox
[qmk_firmware.git] / users / ericgebhart / switch-kbd
1 #!/usr/bin/env zsh
2
3 # Switch the keyboard to en-us by default, bepo, or en-dvorak.
4
5 help(){
6     print 'switch-kbd - helper for setxkbmap'
7     print ' '
8     print 'Change the keyboard to en-us, fr-bepo, or en-dvorak.'
9     print 'Uses setxkbmap, so the change only affects the current'
10     print 'session.  This mainly to avoid using a toggle key.'
11     print ' '
12     print ' -b           Bepo'
13     print ' -d           Dvorak'
14     print ' -n           do not execute'
15     print ' -h           help text.'
16     print ' '
17     print ' The default is to set the keyboard to en-us.'
18     exit
19 }
20
21 layout="-layout us"
22 variant=""
23 let "execute = 1"
24 let "verose = 0"
25
26 # $opt will hold the current option
27 local opt
28 while getopts bdnvh opt; do
29     # loop continues till options finished
30     # see which pattern $opt matches...
31     case $opt in
32         (b)
33             layout="-layout fr"
34             variant="-variant bepo"
35             ;;
36
37         (d)
38             layout="-layout en"
39             variant="-variant dvorak"
40             ;;
41         (n) 
42             let "execute = 0"
43             ;;
44         (v) 
45             let "verbose = 1"
46             ;;
47         (h)
48             help
49             ;;
50         # matches a question mark
51         # (and nothing else, see text)
52         (\?)
53             print "Bad option:" $*
54             print " "
55             help
56             return 1
57             ;;
58     esac
59 done
60 (( OPTIND > 1 )) && shift $(( OPTIND - 1 ))
61 ##print Remaining arguments are: $*
62
63 mycommand='setxkbmap '${layout}' '${variant}
64
65 if [[ ( $verbose -ne 0 ) ]]; then;
66         print "setxkbmap Command:" $mycommand
67 fi
68
69 if [[ ( $execute -ne 0 ) ]]
70 then;
71         eval $mycommand
72 else;
73         print "did not execute"
74 fi