Hi, when I evaluate that I get: Debugger entered--Lisp error: (void-function second) (second key) (concat "SPC " (second key)) (list (quote kbd) (concat "SPC " (second key))) (list (quote local-set-key) (list (quote kbd) (concat "SPC " ...)) (list (quote lambda) nil (quote ...) (list ... ...))) (\` (local-set-key (kbd ...) (lambda nil ... ...))) (eval (\` (local-set-key ... ...))) (while --dolist-tail-- (setq key (car --dolist-tail--)) (eval (\` ...)) (setq --dolist-tail-- (cdr --dolist-tail--))) (let ((--dolist-tail-- keypairs) key) (while --dolist-tail-- (setq key ...) (eval ...) (setq --dolist-tail-- ...))) (dolist (key keypairs) (eval (\` ...))) (let ((keypairs ...)) (dolist (key keypairs) (eval ...)) (local-set-key (kbd "SPC SPC") (lambda nil ... ...))) (defvar right-hand-qwerty (let (...) (dolist ... ...) (local-set-key ... ...)) "Non-nil if Right-Hand-Qwerty mode is enabled.\nUse the command `right-hand-qwerty' to change this variable.") (progn (defvar right-hand-qwerty (let ... ... ...) "Non-nil if Right-Hand-Qwerty mode is enabled.\nUse the command `right-hand-qwerty' to change this variable.") (make-variable-buffer-local (quote right-hand-qwerty))) (progn (progn (defvar right-hand-qwerty ... "Non-nil if Right-Hand-Qwerty mode is enabled.\nUse the command `right-hand-qwerty' to change this variable.") (make-variable-buffer-local ...)) (defun right-hand-qwerty (&optional arg) "Qwerty for right-hand only typing." (interactive ...) (setq right-hand-qwerty ...) (run-hooks ... ...) (if ... ...) (force-mode-line-update) right-hand-qwerty) :autoload-end nil (add-minor-mode (quote right-hand-qwerty) (quote nil) (if ... ...))) (define-minor-mode right-hand-qwerty "Qwerty for right-hand only typing." (let (...) (dolist ... ...) (local-set-key ... ...))) eval((define-minor-mode right-hand-qwerty "Qwerty for right-hand only typing." (let (...) (dolist ... ...) (local-set-key ... ...)))) eval-last-sexp-1(nil) eval-last-sexp(nil) call-interactively(eval-last-sexp) > From: hugows@gmail.com > Date: Mon, 29 Sep 2008 09:30:55 -0700 > To: help-gnu-emacs@gnu.org > Subject: Re: Half-QWERTY keyboard minor mode > > On 29 set, 11:44, Corey Foote wrote: > > Hi everybody, > > > > I injured my left hand the other day, so I'm typing one > > handed until it recovers. I was wondering if it would be possible to create an Emacs > > minor mode which would allow half-QWERTY typing on a regular keyboard. (The way half-QWERTY typing works is you hit SPACE-y for t, SPACE-u for r, etc. For details on the half-QWERTY keyboard see:http://www.billbuxton.com/matiasHCI96.html#c2)I'mnot much of a LISP programmer, so any help I could get on this > > would be most appreciated. Once the minor mode is complete, I will put the > > source code on the Emacs wiki accessibility section. Thanks! > > > > _________________________________________________________________ > > See how Windows Mobile brings your life together—at home, work, or on the go.http://clk.atdmt.com/MRT/go/msnnkwxp1020093182mrt/direct/01/ > > Something like this seems to work: > > (define-minor-mode right-hand-qwerty > "Qwerty for right-hand only typing." > (let ((keypairs '(("q" "p") ("w" "o")))) > (dolist (key keypairs) > (eval `(local-set-key (kbd ,(concat "SPC " (second key))) (lambda > () (interactive) (insert ,(first key)))))) > (local-set-key (kbd "SPC SPC") (lambda () (interactive) (insert " > "))))) > > This helps you? > -Hugo _________________________________________________________________ Stay up to date on your PC, the Web, and your mobile phone with Windows Live. http://clk.atdmt.com/MRT/go/msnnkwxp1020093185mrt/direct/01/