-
Notifications
You must be signed in to change notification settings - Fork 56
Keybindings
These are the default key bindings used by Lotus 1-2-3 in Xterm and Xterm-compatible terminals.
1-2-3 Function | 1-2-3 Key | Key Name | Key Output |
---|---|---|---|
{HOME} | Home | Home | \E[H |
{END} | End | End | \E[F |
{UP} | Up Arrow | Up Arrow | \E[A |
{DOWN} | Down Arrow | Down Arrow | \E[B |
{LEFT} | Left Arrow | Left Arrow | \E[D |
{RIGHT} | Right Arrow | Right Arrow | \E[C |
{PGUP} | Pg Up | Pg Up | \E[5~ |
{PGDN} | Pg Dn | Pg Dn | \E[6~ |
{BIG LEFT} | Ctrl-Left | Ctrl Left Arrow | \E[1;5D |
{BIG RIGHT} | Ctrl-Right | Ctrl Right Arrow | \E[1;5C |
{NEXT SHEET} | Ctrl-Pg Up | Ctrl Pg Up | \E[5;5~ |
{PREV SHEET} | Ctrl-Pg Dn | Ctrl Pg Dn | \E[6;5~ |
{FIRST CELL} | Ctrl-Home | Ctrl Home | \E[1;5H |
{FILE} | Ctrl-End | Ctrl End | \E[1;5F |
{TAB} | Tab | Tab | \t |
{BACKSPACE} | Backspace | Backspace | ^B |
{DEL} | Del | Del | \E[3~ |
{INS} | Ins | Ins | \E[2~ |
{RETURN} | Return | Enter | ^M |
{ESC} | Esc | Esc | \E |
{ESC} | Esc | F11 | \E[23~ |
{SCROLL LOCK} | Scroll Lock | F12 | \E[24~ |
{HELP} | F1 | F1 | \EOP |
{EDIT} | F2 | F2 | \EOQ |
{NAME} | F3 | F3 | \EOR |
{ABS} | F4 | F4 | \EOS |
{GOTO} | F5 | F5 | \E[15~ |
{WINDOW} | F6 | F6 | \E[17~ |
{QUERY} | F7 | F7 | \E[18~ |
{TABLE} | F8 | F8 | \E[19~ |
{CALC} | F9 | F9 | \E[20~ |
{GRAPH} | F10 | F10 | \E[21~ |
{COMPOSE} | Alt-F1 | Alt-F1 | \E[1;3P |
{RECORD} | Alt-F2 | Alt-F2 | \E[1;3Q |
{RUN} | Alt-F3 | Alt-F3 | \E[1;3R |
{UNDO} | Alt-F4 | Alt-F4 | \E[1;3S |
{UNDO} | Alt-F4 | Alt-F5 | \E[15;3~ |
{UNDO} | Alt-F4 | Ctrl-F4 | \E[[1;5S |
{ZOOM} | Alt-F6 | Alt-F6 | \E[17;3~ |
{REFRESH} | Undefined | Ctrl-L | ^L |
{BELL} | Undefined | ||
{MAC-A} | Alt-a | Alt-a | \Ea |
{MAC-A} | Alt-a | Alt-A | \EA |
{MAC-B} | Alt-b | Alt-b | \Eb |
{MAC-B} | Alt-b | Alt-B | \EB |
{MAC-C} | Alt-c | Alt-c | \Ec |
{MAC-C} | Alt-c | Alt-C | \EC |
{MAC-D} | Alt-d | Alt-d | \Ed |
{MAC-D} | Alt-d | Alt-D | \ED |
{MAC-E} | Alt-e | Alt-e | \Ee |
{MAC-E} | Alt-e | Alt-E | \EE |
{MAC-F} | Alt-f | Alt-f | \Ef |
{MAC-F} | Alt-f | Alt-F | \EF |
{MAC-G} | Alt-g | Alt-g | \Eg |
{MAC-G} | Alt-g | Alt-G | \EG |
{MAC-H} | Alt-h | Alt-h | \Eh |
{MAC-H} | Alt-h | Alt-H | \EH |
{MAC-I} | Alt-i | Alt-i | \Ei |
{MAC-I} | Alt-i | Alt-I | \EI |
{MAC-J} | Alt-j | Alt-j | \Ej |
{MAC-J} | Alt-j | Alt-J | \EJ |
{MAC-K} | Alt-k | Alt-k | \Ek |
{MAC-K} | Alt-k | Alt-K | \EK |
{MAC-L} | Alt-l | Alt-l | \El |
{MAC-L} | Alt-l | Alt-L | \EL |
{MAC-M} | Alt-m | Alt-m | \Em |
{MAC-M} | Alt-m | Alt-M | \EM |
{MAC-N} | Alt-n | Alt-n | \En |
{MAC-N} | Alt-n | Alt-N | \EN |
{MAC-O} | Alt-o | Alt-o | \Eo |
{MAC-P} | Alt-p | Alt-p | \Ep |
{MAC-P} | Alt-p | Alt-P | \EP |
{MAC-Q} | Alt-q | Alt-q | \Eq |
{MAC-Q} | Alt-q | Alt-Q | \EQ |
{MAC-R} | Alt-r | Atl-r | \Er |
{MAC-R} | Alt-r | Alt-R | \ER |
{MAC-S} | Alt-s | Alt-s | \Es |
{MAC-S} | Alt-s | Alt-S | \ES |
{MAC-T} | Alt-t | Alt-t | \Et |
{MAC-T} | Alt-t | Alt-T | \ET |
{MAC-U} | Alt-u | Alt-u | \Eu |
{MAC-U} | Alt-u | Alt-U | \EU |
{MAC-V} | Alt-v | Alt-v | \Ev |
{MAC-V} | Alt-v | Alt-V | \EV |
{MAC-W} | Alt-w | Alt-w | \Ew |
{MAC-W} | Alt-w | Alt-W | \EW |
{MAC-X} | Alt-x | Alt-x | \Ex |
If you're using 1-2-3 over a very slow connection, you might need to adjust how long 1-2-3 waits to make sure it received the whole input.
To do this, set the $LOTUS_ESCAPE_TIMEOUT
environment variable to the number of deciseconds to wait for more input. The default is 1
decisecond, a setting of 10
would wait a whole second.
The macro keys, Alt+A to Alt+Z, can be bound to any function per-worksheet within 1-2-3.
For example, you could assign /fs~b
to Alt+S to make a "Quick Save" key.
See the introduction to macros for more information.
If you don't want to use the macro keys, you need to edit the keymaps. In the future, we hope to have a convenient tool that can do this for you.
1-2-3 uses keymap files to map the keys you press to functions, these need to be regenerated for different terminals or if you want to rebind your keys.
To generate a keymap for a new terminal, try this:
$ mkdir -p share/lotus/keymaps/${TERM:0:1}
$ ./keymap/keymap > share/lotus/keymaps/${TERM:0:1}/${TERM}
Note: You can also specify a terminal name as a parameter.
If you get warnings about missing keys, it might not be possible for some key bindings to be automatically assigned. At the moment, you have to fix this issue manually.
- First, figure out what key you want to use as a replacement. For example, if you don't have a PgUp key, perhaps you can use Alt+Up instead.
- Figure out what
terminfo(5)
capability refers to that key, it might tell you in the manpage. If not, you might have to figure it out from the output ofinfocmp -x
. For example, Home is calledkhome
. - Modify the
keydefs
array at the top ofkeymap.c
. Find the entry for your missing key, and replace the missing capability name with the new one. - Recompile.