about summary refs log tree commit diff stats
path: root/src
diff options
context:
space:
mode:
authorKartik K. Agaram <vc@akkartik.com>2021-11-10 14:25:45 -0800
committerKartik K. Agaram <vc@akkartik.com>2021-11-10 14:26:38 -0800
commitdc05a10e23cc341fe76e6021f06f08cbc1e6a339 (patch)
tree044a37cdac2b1e73c84c9c56d5fd23aa033f8111 /src
parent38f46a4e9201e1a66b3c5ca0a8784a5c77dbed80 (diff)
downloadteliva-dc05a10e23cc341fe76e6021f06f08cbc1e6a339.tar.gz
life: move starting pattern around on the screen
This assumes we're doing it early soon after opening a new pattern, when
it hasn't yet reached the margins. Quick and dirty, but seems good
enough.
Diffstat (limited to 'src')
-rw-r--r--src/lcurseslib.c92
-rw-r--r--src/lua.c1
2 files changed, 93 insertions, 0 deletions
diff --git a/src/lcurseslib.c b/src/lcurseslib.c
index f1a5849..67b842f 100644
--- a/src/lcurseslib.c
+++ b/src/lcurseslib.c
@@ -361,6 +361,98 @@ static void register_curses_constants (lua_State *L) {
   CC(A_CHARTEXT);
   CC(A_ATTRIBUTES);
   CC(A_COLOR);
+
+  /* key functions */
+  CC(KEY_BREAK);
+  CC(KEY_DOWN);
+  CC(KEY_UP);
+  CC(KEY_LEFT);
+  CC(KEY_RIGHT);
+  CC(KEY_HOME);
+  CC(KEY_BACKSPACE);
+
+  CC(KEY_DL);
+  CC(KEY_IL);
+  CC(KEY_DC);
+  CC(KEY_IC);
+  CC(KEY_EIC);
+  CC(KEY_CLEAR);
+  CC(KEY_EOS);
+  CC(KEY_EOL);
+  CC(KEY_SF);
+  CC(KEY_SR);
+  CC(KEY_NPAGE);
+  CC(KEY_PPAGE);
+  CC(KEY_STAB);
+  CC(KEY_CTAB);
+  CC(KEY_CATAB);
+  CC(KEY_ENTER);
+  CC(KEY_SRESET);
+  CC(KEY_RESET);
+  CC(KEY_PRINT);
+  CC(KEY_LL);
+  CC(KEY_A1);
+  CC(KEY_A3);
+  CC(KEY_B2);
+  CC(KEY_C1);
+  CC(KEY_C3);
+  CC(KEY_BTAB);
+  CC(KEY_BEG);
+  CC(KEY_CANCEL);
+  CC(KEY_CLOSE);
+  CC(KEY_COMMAND);
+  CC(KEY_COPY);
+  CC(KEY_CREATE);
+  CC(KEY_END);
+  CC(KEY_EXIT);
+  CC(KEY_FIND);
+  CC(KEY_HELP);
+  CC(KEY_MARK);
+  CC(KEY_MESSAGE); /* ncurses extension: CC(KEY_MOUSE); */
+  CC(KEY_MOVE);
+  CC(KEY_NEXT);
+  CC(KEY_OPEN);
+  CC(KEY_OPTIONS);
+  CC(KEY_PREVIOUS);
+  CC(KEY_REDO);
+  CC(KEY_REFERENCE);
+  CC(KEY_REFRESH);
+  CC(KEY_REPLACE);
+  CC(KEY_RESIZE);
+  CC(KEY_RESTART);
+  CC(KEY_RESUME);
+  CC(KEY_SAVE);
+  CC(KEY_SBEG);
+  CC(KEY_SCANCEL);
+  CC(KEY_SCOMMAND);
+  CC(KEY_SCOPY);
+  CC(KEY_SCREATE);
+  CC(KEY_SDC);
+  CC(KEY_SDL);
+  CC(KEY_SELECT);
+  CC(KEY_SEND);
+  CC(KEY_SEOL);
+  CC(KEY_SEXIT);
+  CC(KEY_SFIND);
+  CC(KEY_SHELP);
+  CC(KEY_SHOME);
+  CC(KEY_SIC);
+  CC(KEY_SLEFT);
+  CC(KEY_SMESSAGE);
+  CC(KEY_SMOVE);
+  CC(KEY_SNEXT);
+  CC(KEY_SOPTIONS);
+  CC(KEY_SPREVIOUS);
+  CC(KEY_SPRINT);
+  CC(KEY_SREDO);
+  CC(KEY_SREPLACE);
+  CC(KEY_SRIGHT);
+  CC(KEY_SRSUME);
+  CC(KEY_SSAVE);
+  CC(KEY_SSUSPEND);
+  CC(KEY_SUNDO);
+  CC(KEY_SUSPEND);
+  CC(KEY_UNDO);
 #undef CC
 }
 
diff --git a/src/lua.c b/src/lua.c
index 068af24..f41b1fa 100644
--- a/src/lua.c
+++ b/src/lua.c
@@ -405,6 +405,7 @@ int main (int argc, char **argv) {
   }
   setlocale(LC_ALL, "");
   initscr();
+  keypad(stdscr, 1);
   start_color();
   use_default_colors();
   draw_menu(L);