|
|
- #!/usr/bin/env zsh
-
- # Switch the keyboard to en-us by default, bepo, or en-dvorak.
-
- help(){
- print 'switch-kbd - helper for setxkbmap'
- print ' '
- print 'Change the keyboard to en-us, fr-bepo, or en-dvorak.'
- print 'Uses setxkbmap, so the change only affects the current'
- print 'session. This mainly to avoid using a toggle key.'
- print ' '
- print ' -b Bepo'
- print ' -d Dvorak'
- print ' -n do not execute'
- print ' -h help text.'
- print ' '
- print ' The default is to set the keyboard to en-us.'
- exit
- }
-
- layout="-layout us"
- variant=""
- let "execute = 1"
- let "verose = 0"
-
- # $opt will hold the current option
- local opt
- while getopts bdnvh opt; do
- # loop continues till options finished
- # see which pattern $opt matches...
- case $opt in
- (b)
- layout="-layout fr"
- variant="-variant bepo"
- ;;
-
- (d)
- layout="-layout en"
- variant="-variant dvorak"
- ;;
- (n)
- let "execute = 0"
- ;;
- (v)
- let "verbose = 1"
- ;;
- (h)
- help
- ;;
- # matches a question mark
- # (and nothing else, see text)
- (\?)
- print "Bad option:" $*
- print " "
- help
- return 1
- ;;
- esac
- done
- (( OPTIND > 1 )) && shift $(( OPTIND - 1 ))
- ##print Remaining arguments are: $*
-
- mycommand='setxkbmap '${layout}' '${variant}
-
- if [[ ( $verbose -ne 0 ) ]]; then;
- print "setxkbmap Command:" $mycommand
- fi
-
- if [[ ( $execute -ne 0 ) ]]
- then;
- eval $mycommand
- else;
- print "did not execute"
- fi
|