-
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 |
{PG UP} | Pg Up | Pg Up | \E[5~ |
{PG DN} | 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.
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.