MCPcopy Create free account
hub / github.com/OpenDUNE/OpenDUNE / GUI_Widget_GetShortcut

Function GUI_Widget_GetShortcut

src/gui/widget.c:513–547  ·  view source on GitHub ↗

* Get shortcut key for the given char. * * @param c The (ASCII) char to get the shortcut for. * @return The shortcut key. (Dune II key code) */

Source from the content-addressed store, hash-verified

511 * @return The shortcut key. (Dune II key code)
512 */
513uint8 GUI_Widget_GetShortcut(uint8 c)
514{
515 /* This is for a US AT keyboard layout */
516 static const uint8 shortcuts[206] = {
517 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0 - 7 */
518 0x0f, 0x10, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x00, /* 8 - 15 : Backspace, Tab, return */
519 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 16 - 23 */
520 0x00, 0x00, 0x00, 0x6e, 0x00, 0x00, 0x00, 0x00, /* 24 - 31 : ESCAPE */
521 0x3d, 0x02, 0x29, 0x04, 0x05, 0x06, 0x08, 0x29, /* 32 - 39 : SPACE !1 '" #3 $4 %5 &7 '" */
522 0x0a, 0x0b, 0x64, 0x6a, 0x35, 0x0c, 0x36, 0x5f, /* 40 - 47 : (9 )0 KP* KP+ ,< -_ . / */
523 0x0b, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, /* 48 - 55 : 0 1 2 3 4 5 6 7 */
524 0x09, 0x0a, 0x28, 0x28, 0x35, 0x0d, 0x36, 0x41, /* 56 - 63 : 8 9 :; :; <, =+ >. ?/ */
525 0x03, 0x1f, 0x32, 0x30, 0x21, 0x13, 0x22, 0x23, /* 64 - 71 : @2 A B C D E F G */
526 0x24, 0x18, 0x25, 0x26, 0x27, 0x34, 0x33, 0x19, /* 72 - 79 : H I J K L M N O */
527 0x1a, 0x11, 0x14, 0x20, 0x15, 0x17, 0x31, 0x12, /* 80 - 87 : P Q R S T U V W */
528 0x2f, 0x16, 0x2e, 0x1b, 0x1d, 0x1c, 0x07, 0x0c, /* 88 - 95 : X Y Z [ \ ] ^6 _- */
529 0x01, 0x1f, 0x32, 0x30, 0x21, 0x13, 0x22, 0x23, /* 96 -103 : ` a b c d e f g */
530 0x24, 0x18, 0x25, 0x26, 0x27, 0x34, 0x33, 0x19, /*104 -111 : h i j k l m n o */
531 0x1a, 0x11, 0x14, 0x20, 0x15, 0x17, 0x31, 0x12, /*112 -119 : p q r s t u v w */
532 0x2f, 0x16, 0x2e, 0x1b, 0x1d, 0x1c, 0x01, 0x00, /*120 -127 : x y z { | } ~ */
533 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /*128 -135 */
534 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x79, /*136 -143 : F10 */
535 0x78, 0x77, 0x76, 0x75, 0x74, 0x73, 0x72, 0x71, /*144 -151 : F9 F8 F7 F6 F5 F4 F3 F2 */
536 0x70, 0x79, 0x78, 0x77, 0x76, 0x75, 0x74, 0x73, /*152 -159 : F1 F10 F9 F8 F7 F6 F5 F4 */
537 0x72, 0x71, 0x70, 0x79, 0x78, 0x77, 0x76, 0x75, /*160 -167 : F3 F2 F1 F10 F9 F8 F7 F6 */
538 0x74, 0x73, 0x72, 0x71, 0x70, 0x4c, 0x4b, 0x56, /*168 -175 : F5 F4 F3 F2 F1 DELETE INSERT RIGHT */
539 0x54, 0x51, 0x00, 0x59, 0x61, 0x4f, 0x00, 0x55, /*176 -183 : DOWN END KP/ KP5 END PGUP */
540 0x53, 0x50, 0x00, 0x00, 0x79, 0x78, 0x77, 0x76, /*184 -191 : UP HOME F10 F9 F8 F7 */
541 0x75, 0x74, 0x73, 0x72, 0x71, 0x70, 0x41, 0x42, /*192 -199 : F6 F5 F4 F3 F2 F1 LEFT_MOUSEB RIGHT_MOUSEB */
542 0x43, 0x44, 0x45, 0x46, 0x47, 0x48 /*200 -205 : ??? ??? ??? ??? ??? ??? */
543 };
544
545 if (c < sizeof(shortcuts)) return shortcuts[c];
546 else return 0;
547}
548
549/**
550 * Allocates a widget.

Callers 9

GUI_PickHouseFunction · 0.85
GUI_Widget_AllocateFunction · 0.85
GUI_Mentat_ShowDialogFunction · 0.85
GUI_Mentat_ShowHelpListFunction · 0.85
GUI_Window_CreateFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected