]> git.eshelyaron.com Git - emacs.git/commitdiff
Map some more keypad keys on Haiku
authorPo Lu <luangruo@yahoo.com>
Mon, 10 Jan 2022 01:59:34 +0000 (01:59 +0000)
committerPo Lu <luangruo@yahoo.com>
Mon, 10 Jan 2022 01:59:34 +0000 (01:59 +0000)
* src/haiku_support.cc (BMapKey): Rename to `be_map_key'.
(be_map_key): Recognize more key codes.
* src/haiku_support.h (BMapKey, be_map_key): Adjust accordingly.
* src/haikuterm.c (haiku_read_socket): Likewise.

src/haiku_support.cc
src/haiku_support.h
src/haikuterm.c

index 03d5dad7699f5726a5f5cf4b2af995f10826be2c..c4ff52a530538a511483c1f97cbe3e60048c786a 100644 (file)
@@ -1849,7 +1849,7 @@ BWindow_Flush (void *window)
 /* Map the keycode KC, storing the result in CODE and 1 in
    NON_ASCII_P if it should be used.  */
 void
-BMapKey (uint32_t kc, int *non_ascii_p, unsigned *code)
+be_map_key (uint32_t kc, int *non_ascii_p, unsigned *code)
 {
   if (*code == 10 && kc != 0x42)
     {
@@ -1884,21 +1884,27 @@ BMapKey (uint32_t kc, int *non_ascii_p, unsigned *code)
       *code = XK_Down;
       break;
     case 0x64:
+    case 0x1f:
       *code = XK_Insert;
       break;
     case 0x65:
+    case 0x34:
       *code = XK_Delete;
       break;
     case 0x37:
+    case 0x20:
       *code = XK_Home;
       break;
     case 0x58:
+    case 0x35:
       *code = XK_End;
       break;
     case 0x39:
+    case 0x21:
       *code = XK_Page_Up;
       break;
     case 0x5a:
+    case 0x36:
       *code = XK_Page_Down;
       break;
     case 0x1:
index 961d6d3a8922767427dc154afec64024092b18bb..114e8429ab5478271303e7ebddd37122571f019b 100644 (file)
@@ -561,7 +561,7 @@ extern "C"
   BWindow_Flush (void *window);
 
   extern void
-  BMapKey (uint32_t kc, int *non_ascii_p, unsigned *code);
+  be_map_key (uint32_t kc, int *non_ascii_p, unsigned *code);
 
   extern void *
   BScrollBar_make_for_view (void *view, int horizontal_p,
index dad40b8509ca5c709268ec56eddcc3b368efe277..e5bf917fb9a9359ff3d0acd1d20653c1ae7e3c89 100644 (file)
@@ -2688,7 +2688,7 @@ haiku_read_socket (struct terminal *terminal, struct input_event *hold_quit)
 
            inev.code = b->unraw_mb_char;
 
-           BMapKey (b->kc, &non_ascii_p, &inev.code);
+           be_map_key (b->kc, &non_ascii_p, &inev.code);
 
            if (non_ascii_p)
              inev.kind = NON_ASCII_KEYSTROKE_EVENT;