home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Archive Magazine 1995
/
ARCHIVE95.iso
/
discs
/
pipeline
/
6_08
/
CmdKeys
/
CmdKeys1
next >
Wrap
Text File
|
1993-01-21
|
18KB
|
1,376 lines
%OP%VS4.13 (28-Apr-92), Keith H Matthews, R4001 0013 6765 8229
%OP%BON
%OP%WRY
%OP%DP0
%OP%IRY
%OP%GRN
%OP%HM0
%OP%FM0
%OP%BM6
%OP%LM8
%OP%PT1
%OP%PDfx80elite
%OP%WC2,1238,636,988,0,0,0,0
%CO:A,5,77%
%C%%H2%New Scope for Key Definitions
%C%by Keith Matthews
The following default key assignments (some of which may be undocumented)
exist in PipeDream 4.13, but most of them are reconfigurable with the Define
Function Key command (á\Cdfá). PD3 has more defaults (for which, please
refer to PipeL9101a.$.HintsTips.Matthews.CmdKeys ). The F12 definitions are
those of RISCáOSá3, which should not be altered.
%H2%KEY
Tab
BkSp
F12
Prnt
Ins
Home
Del
Copy
The following are NOT reconfigurable in PD4, and are consistent with !Edit
usage, except for column-based commands. The duplications between PageUp
and UpArrow, and between PageDown and DownArrow, are imposed by RISCáOS.
%H2%KEY
PgUp
PgDn
Up
Down
Left
Rght
%H2%NB:
The rest of this article is mainly for keyboard freaks who touch-type (more
or less), and find menus frustratingly slow for editing text and tables. It
is the first of a short series intended also to cover a set of memorable and
easily-typed Ctrl combinations, and one or more configurations of the
numbered function keys (leaving some blank for special temporary uses).
You are unlikely habitually to use more than two different key combinations
for the same command. You may have learned many of the command strings used
with Ctrl, but would probably like some easily-remembered short cuts too.
Leaving aside F12 and the other function keys, the seven reconfigurable keys
in the first table above have only six default actions between them which
are not duplicated within the two tables, and one of those (Insert Space) by
default requires only a CtrlU anyway. So it is sensible to seek a complete
and coherent set of commands for these seven keys, freeing for other
purposes as many function and Ctrl key combinations as practicable.
%H2%Configuration of Insert, Delete, Home and Copy
Those who graduated from the old BBC machine to the Archimedes (or have used
!Edit or Impression) are used to having Copy mirror the action of Delete, as
happens in dialogue boxes under RISCáOS. It therefore occurred to me that
all the PD4 deletion commands (except Block Delete) would fit on these two
keys, and the insertion commands similarly on Insert and Home.
Add the further idea of using Insert or Delete for operations on rows, and
Home or Copy for those on columns, and hey presto, there's room for a couple
of useful extra commands: Delete Word Backwards or something similar, and
Start of Document (which is what Home means in !Edit and most other word
processors). Clearly the default action of Delete must be kept, and I have
also retained the default use of Insert, as in !Edit, to insert a space.
Another useful principle is that Delete and Copy should behave consistently
with the left and right arrow movements (character, word, end of slot). The
definitions given below have been tested, using PD4.13, in a !PipeDream.Key
file, a fully commented copy of which is included as Key1 in this directory.
\Cdf|i "Copy" |i "\G|m" |m Delete next character
\Cdf|i "Shift Delete" |i "\Cpw|m\T|m" |m Delete 1 word starting before caret
\Cdf|i "Shift Copy" |i "\T|m" |m Delete forward to next word
\Cdf|i "Ctrl Copy" |i "\D|m" |m Delete forward to end of slot
\Cdf|i "Home" |i "\Cfc|m\Ctc|m" |m Start of document (slot A1)
\Cdf|i "Shift Insert" |i "\Eip|m" |m Insert page break (dialogue box)
\Cdf|i "Shift Home" |i "\I|m" |m Paste from buffer starting here
\Cdf|i "Ctrl Home" |i "\Cwi|m" |m Centre window at caret
\Cdf|i "Ctrl Insert" |i "\Eirc|m" |m Insert empty slot in column
\Cdf|i "Ctrl Delete" |i "\Edrc|m" |m Delete this slot from column
\Cdf|i "Ctrl-Shift Insert" |i "\N|m" |m Insert empty row before this
\Cdf|i "Ctrl-Shift Delete" |i "\Y|m" |m Delete this whole row
\Cdf|i "Ctrl-Shift Home" |i "\Eic|m" |m Insert empty column before this
\Cdf|i "Ctrl-Shift Copy" |i "\Edc|m" |m Delete this whole column
The decision on whether or not the ShiftDelete action string should include
an initial space was tricky. The permutations are:
In the end, I left the space out because it gets saved in the paste buffer,
and tends to be a nuisance if the deleted string is subsequently re-used.
Impression uses Insert by itself for the Paste command, but I prefer a
Shifted key for that, for use in quick succession with the single-word
commands ShiftDelete, ShiftCopy, ShiftLeft and ShiftRight, and even with
ShiftPageUp or ShiftPageDown to move one line at a time. One particularly
neat usage is the transposition two of words in the same line: put the
caret at the beginning of the second word, hold down Shift and tap Copy-
Delete-Home-Home. There is no easy equivalent for transposing two letters,
because single-letter deletions are not saved in the paste buffer.
One snag in the above command key assignments is that if you want to paste
back several deleted words in the right order, you may use ShiftDelete only
once, %H4%in front of%H4% a chain of ShiftCopy commands. The main purpose of
ShiftDelete is to throw away the last word (or part) you typed.
Remember not to use character- or word-based deletions in a number slot:
you will get either no effect, or an error message. Since in an active
number slot the caret is always at the left, use only CtrlCopy to clear it.
For editing in the formula line/window, see PD4 reference manual, pp.174-7;
many of the above short cuts will work, but the paste buffer will not. Some
problems which occur in using Tab and arrow-key combinations in the formula
line are examined in the Cuckoo directory on the November 1992 disc.
Unfortunately neither CtrlShiftDelete nor CtrlShiftCopy is available for
another composite new command, to delete the whole slot contents from any
position in the slot, like CtrlU in a dialogue box. I thought of redefining
CtrlU, now it is no longer required for Insert Space, but found that in
PD4.13 Define Command (á\Cdcá) will allow only one existing command to be
used in a definition, whereas I wanted two in one (á\Cbs followed by \Dá).
Nor could I use Define Key (á\Cdká): an attempt to redefine key 21 (the
relevant ASCII code) was a failure, leaving CtrlU with its default action.
It would be nice if, in some future version of PipeDream, a space could be
entered in the second parameter box of \Cdc as a command string separator.
Till then I'll settle for CtrlLeft-Copy, which works in dialogue boxes too.
A final word of caution about one of the most destructive commands: Delete
Column which is on CtrlShiftCopy. If you use this by mistake instead of
CtrlShiftDelete when you meant to delete a row, don't panic. You can
recover the whole column immediately by first inserting a blank column in
its place, then putting the cursor at the top and using ShiftHome to paste
the entire deleted contents back. If there were slot references to the
deleted column from elsewhere, bad luck: when did you last save the file?
%H2%Tab and BackSpace keys
Long practice with ShiftTab and ShiftDelete in PD3 still left me pausing to
think about using Shift to reverse an action. So I have gone back to using
different keys for opposite directions, despite the risk of hitting the
wrong one if like Delete and Copy they are adjacent. BackSpace now mirrors
the actions of Tab, instead of duplicating Delete. Fingers need retraining
if you habitually use both Delete and BackSpace to delete the previous
character, but BackSpace only moves the caret, and is not destructive.
A trawl through the keyname parameters in the \Cdf dialogue box reveals the
mysterious absence of both CtrlBackspace and CtrlShiftBackspace, and if you
try (in PD4.13) to redefine either of them in a command file, it grinds to a
halt with a Bad Parameter message. There must be a reason for this; maybe
it's to avoid a bug. But you can use \Cdc to change the action of the \H
command, which both of these keys return by default; so to keep Set Right
Margin on the keyboard I have put it for now on F11, though that may change
when I come to redefine other commands and numbered function keys.
In the following scheme, Tab and CtrlTab keep their PD4 default meanings of
Next Column and Last Column. Luckily, I didn't need CtrlShiftBackspace to
mirror the obvious choice of meaning for CtrlShiftTab:
\Cdf|i "Backspace" |i "\Cbs|m \Cpc|m" |m Previous column OR Start of slot
\Cdf|i "Shift Tab" |i "\Cpr|m" |m Windowful right
\Cdf|i "Shift BackSpace" |i "\Cpl|m" |m Windowful left
\Cdc|i "H" |i "Cfc" |m First column (\H on CtrlBackspace)
\Cdf|i "Ctrl-Shift Tab" |i "\Eac|m" |m Add empty column on far right
\Cdf|i "F11" |i "\H|m" |m Set right margin
The behaviour of the two new Windowful commands does not seem entirely
predictable, when columns are fixed on the left of the screen. The two-way
definition of Backspace helps its intuitive use where column A overlaps
several others. One other thing to watch out for: during formula line
editing, Backspace and ShiftBackSpace will both delete a character to the
left in the formula, unless Return is first pressed to terminate editing,
whilst ShiftTab (just like Tab, UpArrow and DownArrow) will automatically
terminate editing as a side-effect, for reasons explained in the Cuckoo
directory. The redefined action of ShiftTab is unaffected by this.
%H2%Print and other top-row keys
How you use the Print key will probably depend on your printer, but you
might want some more Print menu commands on it, such as:
\Cdf|i "Shift Print" |i "\Pd|m" |m Printer configuration dialogue box
\Cdf|i "Ctrl Print" |i "\Pfg|m" |m Document font dialogue box
\Cdf|i "Ctrl-Shift Print" |i "\Pfl|m" |m Local font dialogue box
As some of the more destructive defaults on the function keys are now placed
in a common-sense "controlled environment" on Delete and Copy, I neuter them
by assigning the innocuous \Fa (About this file) to F7, F8, F9 and F10 which
are too dangerous to hit by mistake. This would have happened to F11 as
well, if it hadn't been used for Set Right Margin.
%H2%Summary of dark grey key definitions
In the following table, which is reproduced in a less cramped form in the
file MemoryAid1, %H4%italics%H4% are used to highlight key %H4%duplications%H4% as before,
whilst %H2%boldátype%H2% indicates keys you need to be %H2%careful%H2% about because they do
not fit a pattern, because two conflicting patterns intersect, or just
because they are potentially very destructive:
%H2%KEY
Non-reconfigurable:
PgUp
PgDn
Up
Down
Left
Right
Mostly reconfigured:
H
F11
Prnt
Tab
BkSp
Ins
Home
Del
Copy
The file Key1 includes all the definitions in this article, plus (for the
sake of completeness) those PD4 defaults which I have retained. To try them
out, double-click on Key1 and print out the file MemoryAid1 for reference.
To make these your default definitions, copy Key1 as Key, add a new line at
the end of Key giving the command \Fq|m to close a window, and move it into
your !PipeDream directory. It takes a few extra seconds to run when you
load PipeDream.
%H2%Possible further developments
A long time ago I acquired for my BBC machine a Torch Z80 board, which came
bundled with a family of programmes called Perfect Writer, Perfect Calc and
Perfect Filer. They weren't perfect, but they were quite good if you could
remember your way around a labyrinth of Ctrl and Escape sequences. I never
did find out how to modify Filer commands, but some hard work on integrating
and rationalising the command sets for Calc and Writer (with maximum use of
the 64 definable key combinations) gave me years of easy "off the top of the
head" operation; I hardly used the command tables on the wall behind the
computer. Last year, when my Archimedes was away for nearly three weeks for
upgrading and repairs, I switched back to the old machine, and found my
command set easy to recall even after two years of using PipeDream 3 daily.
So I'm keen to get to grips with as much as possible of the PD4 command set.
The way I'm thinking at present (after only a few weeks with PD4) is:
%R%*
%R%*
%R%*
%R%*
%R%*
%R%*
%R%*
I shall undoubtedly finish up with more command families than function keys.
Two or more sets of commands could be defined for the same group of keys in
different contexts (eg. text or table editing), with a "hot" function key to
swap between them. Alternatively, there are many unused two-letter Ctrl
combinations which are easy to type (see PS below).
I have written this article to see if there is any demand from others for
such a tightly-structured set of key definitions. I shall define some more
keys for my own use, anyway. If you have any comments on what I have done
so far, favourable or otherwise, please write to me at this address:
PS:
%CO:B,18,72%
%H2%ALONE
Next column
%H4%Delete prev char
RISC OS command
Printing DB
Insert space
%H4%Top of column
%H4%Delete prev char
%H4%Bottom of column
%H2%ALONE
%H4%Windowful up
%H4%Windowful down
%H4%Row up
%H4%Row down
Prev char/column
Next char/column
DB = dialogue box
%H4%Italics%H4% indicate commands duplicated within the above key range
%H2%Bold%H2% type indicates anything positively different from PipeDream 3:
beware of the reversal of CtrlTab and CtrlShiftTab
Behaviour of Left/Right arrow keys by themselves varies with type of
slot (text/number, protected/unprotected) in a comprehensible way
Space bar and Return each have only one default action, except for
AltSpace which inserts a "hard" space (ASCII 160) and CtrlReturn (used
only in formula editing)
Under RISCáOSá2, CtrlShiftF12 is DANGEROUS: it just dumps you out of
the desktop, destroying all unsaved work! So unless you are prepared
to avoid using CtrlShiftF11, ShiftF12, CtrlF12 and CtrlShiftPrint,
Sod's Law says you'd better change CtrlShiftF12 for RISCáOSá2.
%H2%Caret position
Inside a word
Between words
Start of slot
%H2%ALONE
%H4%Windowful up
%H4%Windowful down
%H4%Row up
%H4%Row down
Prev char/%H4%column
Next char/%H4%column
Right margin DB
Print options DB
%H4%Next column
%H4%Previous column
%H2%Insert space
%H2%Start of document
Delete prev char
Delete next char
Identify "families" of 3 or 4 related commands, to be grouped either
ááhorizontally along function key groups or "vertically" on same key
No opposite commands on adjacent F-keys (eg. PD4 defaults for F7 & F8)
As much compatibility with !Edit and Impression commands as possible?
Some consistency between families in meanings of Shift and Ctrl
Use CtrlShift combinations for highly destructive commands
Priority to replacement of 3- or 4-letter commands, and of any 2-letter
ááones which tempt touch-typists to use "wrong" fingers
Include on function keys composite commands like Albert Kitchenside's
(if he agrees) for moving split-line blocks of text.
Keith Matthews
17 Main Avenue
Peterston-super-Ely
CARDIFF CF5 6LQ
The next stage of this project (Cmdkeys2) is already substantially
complete, with only a few minor problems still unsolved. It consists
of a comprehensive revision of the keyboard Ctrl sequences, each
restricted to two characters at most. If you want a draft copy before
May 1993, please send me a blank E-format disc and a stamped addressed
sticky label in a jiffy-bag marked "CmdKeys2". Stage 3, redefining at
least some of the numbered function keys, will be started when I have
thoroughly tested stage 2 in normal use.
%CO:C,19,0%
%H2%SHIFT
Previous column
%H4%Delete next char
Iconbar front/back
-----
-----
-----
%H4%Delete next char
-----
%H2%SHIFT
%H4%Row up
%H4%Row down
%H4%Windowful up
%H4%Windowful down
Back to word start
Next word start
%H2%Initial space
Del.word to caret
Delete prev.word
Delete next word
%H2%SHIFT
%H4%Row up
%H4%Row down
%H4%Windowful up
%H4%Windowful down
Back to word start
Next word start
Printer config DB
Windowful right
Windowful left
%H2%Page break DB
%H2%Paste from buffer
Delete word back
Del to next word
%CO:D,19,0%
%H2%CTRL
%H2%Last%H2% column
%H4%Right margin DB
New task window
-----
-----
%H4%%H2%Top of column
-----
%H4%Bottom of column
%H2%CTRL
%H4%Scroll up
%H4%Scroll down
%H4%Top of column
%H4%Bottom of column
Start of this slot
End of this slot
%H2%No initial space
Delete whole word,
Delete prev.word
Delete next word
%H2%CTRL
%H4%Scroll up
%H4%Scroll down
%H4%Top of column
%H4%Bottom of column
Start of this slot
End of this slot
%H4%First column
Document font DB
Last column
%H4%First column
Insert slot in col
%H2%Centre window
%H2%Del slot from col
%H2%Delete to end slot
-- or phone me on
0446á760362, if
your comments are
brief.
%CO:E,16,0%
%H2%CTRL+SHIFT
%H2%First%H2% column
%H4%Right margin DB
Shutdown
-----
-----
-----
-----
-----
%H2%CTRL+SHIFT
%H4%Top of column
%H4%Bottom of column
%H4%Scroll up
%H4%Scroll down
Scroll left
Scroll right
incl.after caret
%H2%CTRL+SHIFT
%H4%Top of column
%H4%Bottom of column
%H4%Scroll up
%H4%Scroll down
Scroll left
Scroll right
%H4%First column
Local font DB
Add col on right
%H4%First column
Insert empty row
Insert empty col
%H2%Delete whole row
%H2%Delete whole col
%CO:F,12,0%%CO:G,12,0%%CO:H,12,0%