Zsh Mailing List Archive
Messages sorted by:
Reverse Date,
Date,
Thread,
Author
Zsh and the MyTouch Slide
- X-seq: zsh-users 15417
- From: Bart Schaefer <schaefer@xxxxxxxxxxxxxxxx>
- To: zsh-users@xxxxxxx
- Subject: Zsh and the MyTouch Slide
- Date: Mon, 20 Sep 2010 09:55:53 -0700
- List-help: <mailto:zsh-users-help@zsh.org>
- List-id: Zsh Users List <zsh-users.zsh.org>
- List-post: <mailto:zsh-users@zsh.org>
- Mailing-list: contact zsh-users-help@xxxxxxx; run by ezmlm
I recently replaced my poor old discontinued SideKick with a MyTouch
Slide, which is an Android phone. I installed the ConnectBot SSH client
so I can log in to my desktop at work from the phone. So far so good.
Problem: The hardware keypad on this particular phone doesn't have a "|"
key, and it's four taps to get one via softkeys. Also, you can't see the
screen when using the softkeys, which is kind of annoying. There are a
number of other keys it's similarly difficult to access.
However, there is a hardware key labeled SYM for which ConnectBot sends
an unlikely four-byte sequence, perfect for bindkey. The following is
deliberately written to avoid "modern" zsh features so it should work on
zsh installations up to several years old, but it may not work if you
are using a multibyte character set.
Tweak the value of "replace" per your preferences.
--- 8< --- snip --- 8< ---
#autoload
# For ConnectBot on the MyTouch Slide
# autoload -U mytouch
# zle -N mytouch
# bindkey '\M-n\M-<\M-^A' mytouch
emulate -LR zsh
local key
local -A replace
replace=(
/ \\
L '|'
l '|'
j '['
k ']'
J '{'
K '}'
'(' '<'
')' '>'
',' '<'
'.' '>'
)
zle -R "SYMBOL:"
read -k 1 key
if (( $+replace[$key] ))
then LBUFFER="$LBUFFER"$replace[$key]
else LBUFFER="$LBUFFER"$key
fi
Messages sorted by:
Reverse Date,
Date,
Thread,
Author