From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Corey Foote Newsgroups: gmane.emacs.help Subject: RE: Half-QWERTY keyboard minor mode Date: Mon, 29 Sep 2008 15:17:09 -0400 Message-ID: References: <7a1fe684-913f-4516-98a4-56c49c142682@j22g2000hsf.googlegroups.com> <2f1c7d020809291153r2c7f1018o80bb8d8e30b7c085@mail.gmail.com> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: multipart/alternative; boundary="_e927d9ed-a935-4986-9a07-b04cdf6ce3a8_" X-Trace: ger.gmane.org 1222715863 21603 80.91.229.12 (29 Sep 2008 19:17:43 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Mon, 29 Sep 2008 19:17:43 +0000 (UTC) To: Hugo Schmitt , Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Mon Sep 29 21:18:39 2008 connect(): Connection refused Return-path: Envelope-to: geh-help-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.50) id 1KkOGU-0002Oq-VQ for geh-help-gnu-emacs@m.gmane.org; Mon, 29 Sep 2008 21:18:39 +0200 Original-Received: from localhost ([127.0.0.1]:42576 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1KkOFR-0001lE-Uj for geh-help-gnu-emacs@m.gmane.org; Mon, 29 Sep 2008 15:17:33 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1KkOF6-0001kt-4N for help-gnu-emacs@gnu.org; Mon, 29 Sep 2008 15:17:12 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1KkOF5-0001kZ-JI for help-gnu-emacs@gnu.org; Mon, 29 Sep 2008 15:17:11 -0400 Original-Received: from [199.232.76.173] (port=46642 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1KkOF5-0001kW-8w for help-gnu-emacs@gnu.org; Mon, 29 Sep 2008 15:17:11 -0400 Original-Received: from blu0-omc4-s31.blu0.hotmail.com ([65.55.111.170]:6279) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1KkOF4-0003Zt-Sn for help-gnu-emacs@gnu.org; Mon, 29 Sep 2008 15:17:11 -0400 Original-Received: from BLU105-W14 ([65.55.111.136]) by blu0-omc4-s31.blu0.hotmail.com with Microsoft SMTPSVC(6.0.3790.3959); Mon, 29 Sep 2008 12:17:11 -0700 X-Originating-IP: [75.67.96.217] Importance: Normal In-Reply-To: <2f1c7d020809291153r2c7f1018o80bb8d8e30b7c085@mail.gmail.com> X-OriginalArrivalTime: 29 Sep 2008 19:17:11.0005 (UTC) FILETIME=[F8ED58D0:01C92267] X-detected-operating-system: by monty-python.gnu.org: Windows 2000 SP4, XP SP1+ X-BeenThere: help-gnu-emacs@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Users list for the GNU Emacs text editor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Errors-To: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.help:58209 Archived-At: --_e927d9ed-a935-4986-9a07-b04cdf6ce3a8_ Content-Type: text/plain; charset="Windows-1252" Content-Transfer-Encoding: quoted-printable Thanks! It works now. The only problem is I can't seem to type a space whil= e in right-hand-qwerty mode.=20 > Date: Mon=2C 29 Sep 2008 15:53:39 -0300 > From: hugows@gmail.com > To: coreyfoote@hotmail.com > Subject: Re: Half-QWERTY keyboard minor mode >=20 > Oh=2C Please eval (require 'cl) before=2C then :) >=20 > Cheers >=20 > On Mon=2C Sep 29=2C 2008 at 2:02 PM=2C Corey Foote wrote: > > Hi=2C 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 " ...)) (l= ist > > (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 ke= y > > ...) (eval ...) (setq --dolist-tail-- ...))) > > (dolist (key keypairs) (eval (\` ...))) > > (let ((keypairs ...)) (dolist (key keypairs) (eval ...)) (local-set-k= ey > > (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-Qw= erty > > 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 typi= ng." > > (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=2C 29 Sep 2008 09:30:55 -0700 > >> To: help-gnu-emacs@gnu.org > >> Subject: Re: Half-QWERTY keyboard minor mode > >> > >> On 29 set=2C 11:44=2C Corey Foote wrote: > >> > Hi everybody=2C > >> > > >> > I injured my left hand the other day=2C 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 keyboar= d. > >> > (The way half-QWERTY typing works is you hit SPACE-y for t=2C SPACE-= u for r=2C > >> > etc. For details on the half-QWERTY keyboard > >> > see:http://www.billbuxton.com/matiasHCI96.html#c2)I'mnot much of a L= ISP > >> > programmer=2C so any help I could get on this > >> > would be most appreciated. Once the minor mode is complete=2C I will= put > >> > the > >> > source code on the Emacs wiki accessibility section. Thanks! > >> > > >> > _________________________________________________________________ > >> > See how Windows Mobile brings your life together=97at home=2C work= =2C 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 =2C(concat "SPC " (second key))) (lambda > >> () (interactive) (insert =2C(first key)))))) > >> (local-set-key (kbd "SPC SPC") (lambda () (interactive) (insert " > >> "))))) > >> > >> This helps you? > >> -Hugo > > > > ________________________________ > > Stay up to date on your PC=2C the Web=2C and your mobile phone with Win= dows > > Live. See Now _________________________________________________________________ See how Windows connects the people=2C information=2C and fun that are part= of your life. http://clk.atdmt.com/MRT/go/msnnkwxp1020093175mrt/direct/01/= --_e927d9ed-a935-4986-9a07-b04cdf6ce3a8_ Content-Type: text/html; charset="Windows-1252" Content-Transfer-Encoding: quoted-printable Thanks! It works now. The only problem is I can't seem to type a space whil= e in right-hand-qwerty mode.

>=3B Date: Mon=2C 29 Sep 2008 15:53:= 39 -0300
>=3B From: hugows@gmail.com
>=3B To: coreyfoote@hotmail.= com
>=3B Subject: Re: Half-QWERTY keyboard minor mode
>=3B
&g= t=3B Oh=2C Please eval (require 'cl) before=2C then :)
>=3B
>=3B= Cheers
>=3B
>=3B On Mon=2C Sep 29=2C 2008 at 2:02 PM=2C Corey F= oote <=3Bcoreyfoote@hotmail.com>=3B wrote:
>=3B >=3B Hi=2C when = I evaluate that I get:
>=3B >=3B
>=3B >=3B Debugger entered--= Lisp error: (void-function second)
>=3B >=3B (second key)
>= =3B >=3B (concat "SPC " (second key))
>=3B >=3B (list (quote k= bd) (concat "SPC " (second key)))
>=3B >=3B (list (quote local-set= -key) (list (quote kbd) (concat "SPC " ...)) (list
>=3B >=3B (quote = lambda) nil (quote ...) (list ... ...)))
>=3B >=3B (\` (local-set-= key (kbd ...) (lambda nil ... ...)))
>=3B >=3B (eval (\` (local-se= t-key ... ...)))
>=3B >=3B (while --dolist-tail-- (setq key (car -= -dolist-tail--)) (eval (\` ...))
>=3B >=3B (setq --dolist-tail-- (cd= r --dolist-tail--)))
>=3B >=3B (let ((--dolist-tail-- keypairs) ke= y) (while --dolist-tail-- (setq key
>=3B >=3B ...) (eval ...) (setq = --dolist-tail-- ...)))
>=3B >=3B (dolist (key keypairs) (eval (\` = ...)))
>=3B >=3B (let ((keypairs ...)) (dolist (key keypairs) (eva= l ...)) (local-set-key
>=3B >=3B (kbd "SPC SPC") (lambda nil ... ...= )))
>=3B >=3B (defvar right-hand-qwerty (let (...) (dolist ... ...= ) (local-set-key ...
>=3B >=3B ...)) "Non-nil if Right-Hand-Qwerty m= ode is enabled.\nUse the command
>=3B >=3B `right-hand-qwerty' to ch= ange this variable.")
>=3B >=3B (progn (defvar right-hand-qwerty (= let ... ... ...) "Non-nil if
>=3B >=3B Right-Hand-Qwerty mode is ena= bled.\nUse the command `right-hand-qwerty' to
>=3B >=3B change this = variable.") (make-variable-buffer-local (quote
>=3B >=3B right-hand-= qwerty)))
>=3B >=3B (progn (progn (defvar right-hand-qwerty ... "N= on-nil if Right-Hand-Qwerty
>=3B >=3B mode is enabled.\nUse the comm= and `right-hand-qwerty' to change this
>=3B >=3B variable.") (make-v= ariable-buffer-local ...)) (defun right-hand-qwerty
>=3B >=3B (&= =3Boptional arg) "Qwerty for right-hand only typing." (interactive ...) (se= tq
>=3B >=3B right-hand-qwerty ...) (run-hooks ... ...) (if ... ...)=
>=3B >=3B (force-mode-line-update) right-hand-qwerty) :autoload-end= nil
>=3B >=3B (add-minor-mode (quote right-hand-qwerty) (quote nil)= (if ... ...)))
>=3B >=3B (define-minor-mode right-hand-qwerty "Qw= erty for right-hand only typing."
>=3B >=3B (let (...) (dolist ... .= ..) (local-set-key ... ...)))
>=3B >=3B eval((define-minor-mode ri= ght-hand-qwerty "Qwerty for right-hand only
>=3B >=3B typing." (let = (...) (dolist ... ...) (local-set-key ... ...))))
>=3B >=3B eval-l= ast-sexp-1(nil)
>=3B >=3B eval-last-sexp(nil)
>=3B >=3B c= all-interactively(eval-last-sexp)
>=3B >=3B
>=3B >=3B>=3B F= rom: hugows@gmail.com
>=3B >=3B>=3B Date: Mon=2C 29 Sep 2008 09:30= :55 -0700
>=3B >=3B>=3B To: help-gnu-emacs@gnu.org
>=3B >= =3B>=3B Subject: Re: Half-QWERTY keyboard minor mode
>=3B >=3B>= =3B
>=3B >=3B>=3B On 29 set=2C 11:44=2C Corey Foote <=3Bcoreyfo.= ..@hotmail.com>=3B wrote:
>=3B >=3B>=3B >=3B Hi everybody=2C>=3B >=3B>=3B >=3B
>=3B >=3B>=3B >=3B I injured my lef= t hand the other day=2C so I'm typing one
>=3B >=3B>=3B >=3B han= ded until it recovers. I was wondering if it would be possible to
>=3B= >=3B>=3B >=3B create an Emacs
>=3B >=3B>=3B >=3B minor mo= de which would allow half-QWERTY typing on a regular keyboard.
>=3B &g= t=3B>=3B >=3B (The way half-QWERTY typing works is you hit SPACE-y for = t=2C SPACE-u for r=2C
>=3B >=3B>=3B >=3B etc. For details on the= half-QWERTY keyboard
>=3B >=3B>=3B >=3B see:http://www.billbuxt= on.com/matiasHCI96.html#c2)I'mnot much of a LISP
>=3B >=3B>=3B >= =3B programmer=2C so any help I could get on this
>=3B >=3B>=3B &g= t=3B would be most appreciated. Once the minor mode is complete=2C I will p= ut
>=3B >=3B>=3B >=3B the
>=3B >=3B>=3B >=3B source c= ode on the Emacs wiki accessibility section. Thanks!
>=3B >=3B>=3B= >=3B
>=3B >=3B>=3B >=3B _____________________________________= ____________________________
>=3B >=3B>=3B >=3B See how Windows = Mobile brings your life together=97at home=2C work=2C or on
>=3B >= =3B>=3B >=3B the go.http://clk.atdmt.com/MRT/go/msnnkwxp1020093182mrt/d= irect/01/
>=3B >=3B>=3B
>=3B >=3B>=3B Something like this= seems to work:
>=3B >=3B>=3B
>=3B >=3B>=3B (define-minor= -mode right-hand-qwerty
>=3B >=3B>=3B "Qwerty for right-hand only = typing."
>=3B >=3B>=3B (let ((keypairs '(("q" "p") ("w" "o"))))>=3B >=3B>=3B (dolist (key keypairs)
>=3B >=3B>=3B (eval `(= local-set-key (kbd =2C(concat "SPC " (second key))) (lambda
>=3B >= =3B>=3B () (interactive) (insert =2C(first key))))))
>=3B >=3B>= =3B (local-set-key (kbd "SPC SPC") (lambda () (interactive) (insert "
&g= t=3B >=3B>=3B ")))))
>=3B >=3B>=3B
>=3B >=3B>=3B This= helps you?
>=3B >=3B>=3B -Hugo
>=3B >=3B
>=3B >=3B = ________________________________
>=3B >=3B Stay up to date on your P= C=2C the Web=2C and your mobile phone with Windows
>=3B >=3B Live. S= ee Now


See how Windows connects the people=2C information=2C= and fun that are part of your life. See Now = --_e927d9ed-a935-4986-9a07-b04cdf6ce3a8_--