HP3000-L Archives

December 1997, Week 1

HP3000-L@RAVEN.UTC.EDU

Options: Use Monospaced Font
Show Text Part by Default
Show All Mail Headers

Message: [<< First] [< Prev] [Next >] [Last >>]
Topic: [<< First] [< Prev] [Next >] [Last >>]
Author: [<< First] [< Prev] [Next >] [Last >>]

Print Reply
Subject:
From:
John Korb <[log in to unmask]>
Reply To:
John Korb <[log in to unmask]>
Date:
Fri, 5 Dec 1997 11:53:49 -0500
Content-Type:
TEXT/PLAIN
Parts/Attachments:
TEXT/PLAIN (38 lines)
If capturing the cursor keys is the problem and you are using REFLECTION
clients, you might want to try remapping the keyboard (with REFLECTION
commands) at the start of the application, and then mapping the keyboard
back to the "default" values just before the application terminates.

I use this approach in a screen oriented editor I wrote (sort of a subset
of EMACS).  I remap the cursor keys, insert/delete keys, home/end, page
up/down, etc. to non-printing characters (in the range 160+).  The program
operates with echo-of, (FCONTROL 13), so the application has to echo the
input itself.  When the system is really busy, there can be lost
characters, but most of the time it works just fine with the average
typist.

I think the REFLECTION Command Language for setting the cursor keys is
something like:

   keymap cpleft to "^(160)"
   keymap cpright to "^(161)"
   keymap cpup to "^(162)"
   keymap cpdown to "^(163)"

To get a list of the current key mapping, use simply:

   keymap

Depending upon what else you need to do (and which control characters
you need to have passed through), you may need to use FCONTROL 27 (binary
transfers), FCONTROL 25 (define line termination characters), and
FCONTROL 41 (set unedited terminal mode).

John
--------------------------------------------------------------
John Korb                            email: [log in to unmask]
Innovative Software Solutions, Inc.

The thoughts, comments, and opinions expressed herein are mine
and do not reflect those of my employer(s), or anyone else.

ATOM RSS1 RSS2