🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

7 total messages Started by miller Tue, 26 Jan 1993 17:18
hand injuries
#3555
Author: miller
Date: Tue, 26 Jan 1993 17:18
29 lines
1832 bytes
This may have less to do with emacs and more to do with keyboard layout.
Unfortunately, in the last 20 years, I've only seen one (1) intelligent
keyboard layout, and that was on the symbolics lisp machines. I now use
a sun-4 keyboard, and have managed to map the keys similarly, and find
my hands are much less tired working 8-10 hour days than even a couple
hours on my home mac!

What the symbolics did was

a) recognize and control and meta were SHIFT type keys, and moved them
near the shift key, on BOTH sides of the keyboard. Control straddled the
space bar, and meta was just outbound of that.

b) moved the delete key from the upper right corner to the left of the
"A" key, where it can be hit more frequently with less pain and
suffering.

c) made outbound keys that were not in the normal touch typeist's reach
larger, so they were easier targets. Your finger is less accurate the
further it must travel from the home row, so making the targets larger
made them esier to hit without looking. E.g. virtually all of the
important funciton keys, the rubout key, the control key (so it's just
like the space key), etc.

d) integrated a palm rest into the keyboard.

I'd willingly pay real money to get this keyboard on my sun or mac if
there are any keyboard vendors (or Symbolics) listening...
Re: hand injuries
#3565
Author: Barry A. Warsaw
Date: Tue, 26 Jan 1993 21:02
7 lines
755 bytes
I keep hearing about new key input devices (not keyboards) which are
supposed to be much better for your hands. Can anybody give more
information on these things and does anybody use one regularly?  Any
Sun type-4 replacements available?

-Barry
Re: hand injuries
#3557
Author: Steven Byrnes
Date: Wed, 27 Jan 1993 02:16
20 lines
1270 bytes
On 26 Jan 93 21:02:32 GMT, Barry A. Warsaw said:

> I keep hearing about new key input devices (not keyboards) which are
> supposed to be much better for your hands.  Can anybody give more
> information on these things 

Yes.  Walk, don't run, to sci.med.occupational.  While you're at it, check
out the sci.med.occupational FAQ.  More specifically, part 2 mentions
keyboard alternatives.  (All three parts of the FAQ are archived under

   rtfm.mit.edu:/pub/usenet/sci.med.occupational/

.  Lots of other useful information in there.)

> and does anybody use one regularly? 

No, sorry.  I've been thinking seriously about getting a chording keyboard
lately, though.  Of course, thinking about it doesn't count.  :-)

Steven
Re: hand injuries
#3568
Author: Michael Bryan
Date: Wed, 27 Jan 1993 11:55
12 lines
951 bytes
In article <C1HqBo.9ru@rice.edu> sbyrnes@rice.edu (Steven Byrnes) writes:
>
>No, sorry.  I've been thinking seriously about getting a chording keyboard
>lately, though.  Of course, thinking about it doesn't count.  :-)

I'd *love* to try out the DataHand.  It looks like it is a remarkable
device, and might be just what I need.  However, until they go into
normal production, and the $2K pricetag is significantly reduced,
I'm afraid I won't be able to get one.

-- 
Michael Bryan     michael@resonex.com
]-mode (was Re: hand injuries
#3552
Author: Lawrence Buja
Date: Wed, 27 Jan 1993 16:13
159 lines
7109 bytes
Barry A. Warsaw writes:
>
>I keep hearing about new key input devices (not keyboards) which are
>supposed to be much better for your hands. Can anybody give more
>information on these things and does anybody use one regularly?  Any
>Sun type-4 replacements available?

Though this is not exactly what you are asking about, I thought I'd post
it up anyway.  I inherited the following set-up from a friend who was a
great programmer debilitated by a stroke/heart-attack which greatly
limited his motion.

Essentially it make ] act like another ESC key.  Since ]-anything is
not, by default, defined, you can make it anything you like and not
worry about nuking any emacs default key sequences.

First I set up the defaults sequences, then I apply the mode specific
definitions.  For example, my macs-lisp-mode-hook looks like:

    (setq emacs-lisp-mode-hook
          (function
            (lambda nil
              (load                   "my-modekeys"  nil t)
              (define-emacs-lisp-mode-keys)
              (setq comment-start     ";")
              (setq set-fill-prefix   "; ")
              (setq default-directory "~ccmproc2/emacs/")
             )
           )
    )

The first line after the "(lambda nil" line loads it, then the
next line applies the emacs-lisp specific definitions.


/\      Lawrence Buja           Climate and Global Dynamics Division
  \_][  southern@ncar.ucar.edu  National Center for Atmospheric Research
      \_________________________Boulder,_Colorado___80307-3000__________


;  
;   File:   /home/ccmproc2/emacs/my-modekeys.el  (4607 bytes) 
;   Date:   Wed Jan 27 08:57:45 1993
;   Author: Lawrence Buja <ccmproc2@sunny>
;  
;   ] key definitions functions to be called by mode hooks
;   
;   See ~ccmproc2/emacs/hooks.el for examples on loading the mode-specific definitions
;  
;   Default map to be used with all modes.  
;
;   Warning: Many of these functions are NOT generic emacs functions.
;
 (local-set-key "][" 'hide-all-non-matching-lines)
 (local-set-key "]'" 'other-window)
 (local-set-key "] " 'set-mark-command)
 (local-set-key "];" 'goto-line)
 (local-set-key "]!" 'shell-command)
 (local-set-key "]=" 'occur-all)
 (local-set-key "]-" 'line-boundary)
 (local-set-key "]1" 'delete-other-windows)
 (local-set-key "]2" 'split-window-vertically-find-file)
 (local-set-key "]3" 'scroll-other-window)
 (local-set-key "]0" 'change-case)
 (local-set-key "]a" 'show-file-buffers)
 (local-set-key "]b" 'switch-to-buffer-quick)
 (local-set-key "]c" 'comment-region)
 (local-set-key "]d" 'kill-line)
 (local-set-key "]i" 'overwrite-mode)
 (local-set-key "]j" 'merge-lines)
 (local-set-key "]k" 'kill-region)
 (local-set-key "]n" 'bury-buffer)
 (local-set-key "]o" 'open-line-below)
 (local-set-key "]r" 'search-forward)
 (local-set-key "]s" 'ispell-complete-word)
 (local-set-key "]t" 'toggle-truncate)
 (local-set-key "]u" 'uncomment-region)
 (local-set-key "]w" 'widen)
 (local-set-key "]y" 'yank)
 (local-set-key "]z" 'zap-to-char)
 (local-set-key "]]" 'self-insert-command)

(defvar fortran-mode-keys    nil "*Nil if fortran mode keys have not yet been defined.")
(defvar ccmfor-mode-keys     nil "*Nil if ccmfor mode keys have not yet been defined.")
(defvar text-mode-keys       nil "*Nil if text-mode keys have not yet been defined.")
(defvar emacs-lisp-mode-keys nil "*Nil if emacs-lisp mode keys have not yet been defined.")
(defvar tex-mode-keys        nil "*Nil if tex mode keys have not yet been defined.")

(defun define-fortran-mode-keys () "Define additional fortran-mode keys."
(if fortran-mode-keys  ()  (setq fortran-mode-keys t)
 (local-set-key "]j" 'ccmfor-unsplit-nextline)
 (local-set-key "]e" 'end-of-fortran-subprogram)
 (local-set-key "]ff" 'fortran-compile-buffer)
 (local-set-key "]fb" 'fortran-beautify-subprogram)    
 (local-set-key "]fc" 'fortran-compile-buffer)         
 (local-set-key "]fe" 'end-of-fortran-subprogram)      
 (local-set-key "]fm" 'mark-fortran-subprogram)        
 (local-set-key "]fn" 'narrow-to-fortran-subprogram)   
 (local-set-key "]fs" 'beginning-of-fortran-subprogram)
 (local-set-key "]g" 'get-subroutine)
 (local-set-key "]l" 'lock)
 (local-set-key "]m" 'mark-fortran-subprogram)
 (local-set-key "]pm" 'mark-jobstep)        
 (local-set-key "]pn" 'narrow-to-jobstep)   
 (local-set-key "]pb" 'beautify-jobstep)    
 (local-set-key "]pe" 'end-of-jobstep)      
 (local-set-key "]ps" 'beginning-of-jobstep)
 (local-set-key "]pp" 'printout)
 (local-set-key "]pd" 'printout-debug)
 (local-set-key "]s" 'fortran-split-line)
 (local-set-key "]w" 'fortran-window-create)
 (local-set-key "]x" 'f77-file)
))


(defun define-text-mode-keys () "Define additional text-mode keys."
(if text-mode-keys ()  (setq text-mode-keys t)
))

(defun define-emacs-lisp-mode-keys () "Define additional emacs-lisp-mode keys."
(if emacs-lisp-mode-keys  () 
 (setq emacs-lisp-mode-keys t)
 (local-set-key "]b" 'beginning-of-defun)
 (local-set-key "]e" 'end-of-defun)
 (local-set-key "]m" 'mark-defun)
 (local-set-key "]l" 'narrow-to-defun)
 (local-set-key "]x" 'eval-defun)
 ))

(defun define-tex-mode-keys () "Define additional tex-mode keys."
(if tex-mode-keys () (setq tex-mode-keys t)
 (local-set-key "]x" 'tex-file)
 (local-set-key "]g" 'ghostview-tex-file)
 (local-set-key "]p" 'print-tex-file)
))

(defun define-ccmfor-mode-keys () "Define additional ccmfor-mode keys."
(if ccmfor-mode-keys  ()  (setq ccmfor-mode-keys t)
 (local-set-key "]j" 'ccmfor-unsplit-nextline)
 (local-set-key "]-" 'ccmfor-insert-dash-comment)
 (local-set-key "]a" 'ccmfor-align-continuation)
 (local-set-key "]A" 'ccmfor-align-continuation)
 (local-set-key "]e" 'end-of-ccmfor-subprogram)
 (local-set-key "]E" 'end-of-ccmfor-subprogram)
 (local-set-key "]f" 'ccmfor-fill-align-continuation)
 (local-set-key "]F" 'ccmfor-fill-align-continuation)
 (local-set-key "]l" 'ccmfor-indent-line)
 (local-set-key "]L" 'ccmfor-indent-line)
 (local-set-key "]m" 'mark-ccmfor-subprogram)
 (local-set-key "]M" 'mark-ccmfor-subprogram)
 (local-set-key "]p" 'ccmfor-previous-statement)
 (local-set-key "]P" 'ccmfor-previous-statement)
 (local-set-key "]s" 'ccmfor-split-line)
 (local-set-key "]S" 'ccmfor-split-line)
 (local-set-key "]u" 'ccmfor-unsplit-line)
 (local-set-key "]U" 'ccmfor-unsplit-line)
 (local-set-key "]w" 'ccmfor-window-create)
 (local-set-key "]W" 'ccmfor-window-create)
 ))
Re: ]-mode (was Re: hand injuries
#3580
Author: Rodney Peck
Date: Wed, 27 Jan 1993 19:30
14 lines
1265 bytes
While it looks like you've done a lot of work to get this to function,
there's a much easier way...

(define-key global-map "]" esc-map)
(define-key esc-map    "]" 'self-insert-command)

will make ] act like escape everywhere at the top level and will
let you actually type a ] by pressing it twice.

It doesn't take care of sequences like C-x ESC, but those could be
handled with some define keys for those keymaps as needed.  In fact,
you could write a function that goes over a keymap and makes the new
bindings.
Re: ]-mode (was Re: hand injuries
#3571
Author: Lawrence Buja
Date: Thu, 28 Jan 1993 15:30
37 lines
2232 bytes
rodney@cabot.balltown.cma.com (Rodney Peck) writes:
>While it looks like you've done a lot of work to get this to function,
>there's a much easier way...
>
>(define-key global-map "]" esc-map)
>(define-key esc-map    "]" 'self-insert-command)
>
>will make ] act like escape everywhere at the top level and will
>let you actually type a ] by pressing it twice.

 Using esc-map is not any easier and it really degrades the generalness
 of this method.
 
 The intent is NOT to simply redefine the ] key to be an ESC key.
 
 I already have a large number of ESC- sequences defined, either through
 the Sun hot keys (L1-L10, F1-F12, R1-R15 which generate those ESC-[nnn
 sequences) or my own ESC-alpha definitions for short-cuts.
 
 I want ] to be my own personal prefix that I can define in any manner
 that I want without worrying about overridding or getting overridden by
 any other existing esc-maps.
 
 What this method does is make ] into it's own, separate prefix which
 acts like ESC, but is not ESC.  It is quite separate from any ESC
 sequences.  Essentially it doubles the number of prefixed hot keys that
 are available.  It also reflects my distaste for long CTL-c sequences.
 
 And ] is available in this definition by simply typing ]].  Since I
 very rarely have the need to type ], it's not a problem for my needs.
 If you wanted, you could define any other plain key you wanted in this
 manner.

 
/\      Lawrence Buja           Climate and Global Dynamics Division
  \_][  southern@ncar.ucar.edu  National Center for Atmospheric Research
      \_________________________Boulder,_Colorado___80307-3000__________
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads