about summary refs log tree commit diff
path: root/Functions/Misc/zkbd
diff options
context:
space:
mode:
Diffstat (limited to 'Functions/Misc/zkbd')
-rw-r--r--Functions/Misc/zkbd248
1 files changed, 0 insertions, 248 deletions
diff --git a/Functions/Misc/zkbd b/Functions/Misc/zkbd
deleted file mode 100644
index 30cb4a248..000000000
--- a/Functions/Misc/zkbd
+++ /dev/null
@@ -1,248 +0,0 @@
-#! /bin/zsh -f
-
-[[ -o interactive ]] && {
-    local -i ARGC
-    (ARGC=0) 2>/dev/null || {
-        print -u2 ${0}: must be run as a function or shell script, not sourced
-        return 1
-    }
-}
-
-emulate -RL zsh
-local zkbd term key seq
-
-zkbd=${ZDOTDIR:-$HOME}/.zkbd
-[[ -d $zkbd ]] || mkdir $zkbd || return 1
-
-print 'typeset -g -A key\n' > $zkbd/$TERM.tmp || return 1
-trap "unfunction getkey getseq; command rm -f $zkbd/$TERM.tmp" 0
-trap "return 1" 1 2 15
-
-getkey () {
-    local k='' i
-    for ((i=10; i>0; --i))
-    do
-	read -t -k 1 k && break
-	sleep 1
-    done
-    [[ -n $k ]] || return 1
-    [[ $k = $'\012' || $k = $'\015' || $k = ' ' ]] && return 0
-    print -Rn $k
-}
-
-getseq () {
-    trap "stty ${$(stty -g 2>/dev/null):-echo -raw}" 0 1 2 15
-    stty raw -echo
-    local k='' seq='' i
-    for ((i=10; i>0; --i))
-    do
-	read -t -k 1 k && break
-	sleep 1
-    done
-    [[ -n $k ]] || return 1
-    [[ $k = $'\012' || $k = $'\015' || $k = ' ' ]] && return 0
-    seq=$k
-    while read -t -k 1 k
-    do
-       seq=$seq$k 
-    done
-    print -Rn ${(V)seq}
-}
-
-read term"?Enter current terminal type: [$TERM] "
-[[ -n $term ]] && TERM=$term
-
-cat <<\EOF
-
-We will now test some features of your keyboard and terminal.
-
-If you do not press the requested keys within 10 seconds, key reading will
-abort.  If your keyboard does not have a requested key, press Space to
-skip to the next key.
-
-EOF
-
-local ctrl alt meta
-
-print -n "Hold down Ctrl and press X: "
-ctrl=$(getkey) || return 1
-print
-
-if [[ $ctrl != $'\030' ]]
-then
-    print "Your keyboard does not have a working Ctrl key?"
-    print "Giving up ..."
-    return 1
-else
-    print
-fi
-
-print "Your Meta key may have a Microsoft Windows logo on the cap."
-print -n "Hold down Meta and press X: "
-meta=$(getkey) || return 1
-print
-
-if [[ $meta == x ]]
-then
-    print "Your keyboard or terminal does not recognize the Meta key."
-    unset meta
-elif [[ $meta > $'\177' ]]
-then
-    print "Your keyboard uses the Meta key to send high-order characters."
-else
-    unset meta
-fi
-print
-
-print -n "Hold down Alt and press X: "
-alt=$(getkey) || return 1
-print
-
-if [[ $alt == x ]]
-then
-    print "Your keyboard or terminal does not recognize the Alt key."
-    unset alt
-elif [[ $alt == $meta ]]
-then
-    print "Your keyboard does not distinguish Alt from Meta."
-elif [[ $alt > $'\177' ]]
-then
-    print "Your keyboard uses the Alt key to send high-order characters."
-else
-    unset alt
-fi
-
-(( $+alt + $+meta == 0 )) && cat <<EOF
-
----------
-
-Your current terminal and keyboard configuration does not appear to use
-high-order characters.  You may be able to enable the Meta or Alt keys
-with a command such as
-
-    stty pass8
-
-If you want to use these extra keys with zsh, try adding the above command
-to your ${ZDOTDIR:-$HOME}/.zshrc file.
-
-See also "man stty" or the documentation for your terminal or emulator.
-EOF
-
-(( $+alt || $+meta )) && cat <<EOF
-
----------
-
-You may enable keybindings that use the \
-${meta:+Meta}${meta:+${alt:+ and }}${alt:+Alt} key${meta:+${alt:+s}} \
-by adding
-
-    bindkey -m
-
-to your ${ZDOTDIR:-$HOME}/.zshrc file.
-EOF
-
-cat <<\EOF
-
----------
-
-You will now be asked to press in turn each of the 12 function keys, then
-the Backspace key, the 6 common keypad keys found on typical PC keyboards,
-plus the 4 arrow keys, and finally the Menu key (near Ctrl on the right).
-If your keyboard does not have the requested key, press Space to skip to
-the next key.
-
-Do not type ahead!  Wait at least one second after pressing each key for
-zsh to read the entire sequence and prompt for the next key.  If a key
-sequence does not echo within 2 seconds after you press it, that key may
-not be sending any sequence at all.  In this case zsh is not able to make
-use of that key.  Press Space to skip to the next key.
-
-EOF
-
-read -k 1 key"?Press any key when ready to begin: "
-[[ $key != $'\n' ]] && print
-
-cat <<\EOF
-
-If you do not press a key within 10 seconds, key reading will abort.
-If you make a mistake, stop typing and wait, then run this program again.
-
-EOF
-
-# There are 509 combinations of the following three arrays that represent
-# possible keystrokes.  (Actually, Sun keyboards don't have Meta or Menu,
-# though some have R{1..12} keys as well, so really there are either 433
-# or 517 combinations; but some X11 apps map Shift-F{1..11} to emulate the
-# unmodified Sun keys, so really only the 345 PC combinations are usable.
-# Let's not even get into distinguishing Left and Right Shift/Alt/Meta.)
-# No one would ever want to type them all into this program (would they?),
-# so by default ask for the 23 unmodified PC keys.  If you uncomment more,
-# you should fix the introductory text above.
-
-local -a pckeys sunkeys modifiers
-pckeys=(F{1..12}
-        Backspace  Insert  Home   PageUp 
-                   Delete  End   PageDown
-                            Up
-                    Left   Down   Right
-        Menu
-       )
-sunkeys=(Stop  Again
-         Props Undo
-         Front Copy
-         Open  Paste
-         Find  Cut
-            Help
-        )
-modifiers=(Shift- # Control- Alt- Meta-
-           # Control-Shift- Alt-Shift- Meta-Shift-
-           # Control-Alt- Control-Meta- Alt-Meta-
-           # Control-Alt-Shift- Control-Meta-Shift-
-           # Alt-Meta-Shift- Control-Alt-Meta-Shift-
-          )
-
-exec 3>/dev/tty
-
-for key in $pckeys # $^modifiers$^pckeys $sunkeys $^modifiers$^sunkeys
-do
-    print -u3 -Rn "Press $key: "
-    seq="$(getseq)" || return 1
-    print "key[$key]='${(q)seq}'"
-    print -u3 -R $seq
-done >> $zkbd/$TERM.tmp
-
-source $zkbd/$TERM.tmp || return 1
-if [[ "${key[Delete]}" == "${key[Backspace]}" ]]
-then
-    print
-    print Warning: Backspace and Delete key both send "${(q)key[Delete]}"
-else
-    if [[ "${key[Delete]}" != "^?" ]]
-    then
-	print
-        print Warning: Delete key sends "${(q)key[Delete]}" '(not ^?)'
-    fi
-    if [[ "${key[Backspace]}" != "^H" ]]
-    then
-	print
-        print Warning: Backspace sends "${(q)key[Backspace]}"
-    fi
-fi
-
-command mv $zkbd/$TERM.tmp $zkbd/$TERM-$VENDOR-$OSTYPE
-
-cat <<EOF
-
-Parameter assignments for the keys you typed have been written to the file:
-$zkbd/$TERM-$VENDOR-$OSTYPE
-
-You may read this file into ${ZDOTDIR:-$HOME}/.zshrc or another startup
-file with the "source" or "." commands, then reference the \$key parameter
-in bindkey commands, like this:
-
-    source ${zkbd/$HOME/~}/\$TERM-\$VENDOR-\$OSTYPE
-    [[ -n \${key[Left]} ]] && bindkey "\${key[Left]}" backward-char
-    [[ -n \${key[Right]} ]] && bindkey "\${key[Right]}" forward-char
-    # etc.
-
-EOF