]> git.sesse.net Git - pistorm/blobdiff - input/input.c
menu is not code 8b, it's 7f
[pistorm] / input / input.c
index 32a51915e8e62e3816d4b752aa0a2f25c1b07715..e4d995dd5eea33f3bb68dfbc095bb8868ad788fa 100644 (file)
@@ -22,7 +22,7 @@ char keymap_amiga[256] = { \
 /*40*/ 0x55, 0x56, 0x57, 0x58, 0x69, 0x5B, NONE, 0x3D, 0x3E, 0x3F, 0x4A, 0x2D, 0x2E, 0x2F, 0x4E, 0x1D, \
 /*50*/ 0x1E, 0x1F, 0x0F, 0x3C, NONE, NONE, 0x30, NONE, NONE, NONE, NONE, NONE, NONE, NONE, NONE, NONE, \
 /*60*/ 0x43, NONE, 0x5C, NONE, NONE, NONE, 0x5F, 0x4C, 0x5A, 0x4F, 0x4E, NONE, 0x4D, NONE, 0x0D, 0x46, \
-/*70*/ NONE, NONE, NONE, NONE, NONE, NONE, NONE, NONE, NONE, NONE, NONE, NONE, NONE, 0x66, 0x67, NONE, \
+/*70*/ NONE, NONE, NONE, NONE, NONE, NONE, NONE, NONE, NONE, NONE, NONE, NONE, NONE, 0x66, 0x67, 0x67, \
 /*80*/ NONE, NONE, NONE, NONE, NONE, NONE, NONE, NONE, NONE, NONE, NONE, NONE, NONE, NONE, NONE, NONE, \
 /*90*/ NONE, NONE, NONE, NONE, NONE, NONE, NONE, NONE, NONE, NONE, NONE, NONE, NONE, NONE, NONE, NONE, \
 /*A0*/ NONE, NONE, NONE, NONE, NONE, NONE, NONE, NONE, NONE, NONE, NONE, NONE, NONE, NONE, NONE, NONE, \
@@ -65,6 +65,12 @@ int handle_modifier(struct input_event *ev) {
 
 #define KEYCASE(a, b, c)case a: return (lshift || rshift) ? c : b;
 
+/**
+ * translates keycodes back into a simpler enumerable value for handling emulator command events
+ *
+ * @param *struct/input_event  ev  pointer to input layer event structure
+ * @return char
+ */
 char char_from_input_event(struct input_event *ev) {
   switch(ev->code) {
     KEYCASE(KEY_A, 'a', 'A');
@@ -104,6 +110,7 @@ char char_from_input_event(struct input_event *ev) {
     KEYCASE(KEY_9, '9', '(');
     KEYCASE(KEY_0, '0', ')');
     KEYCASE(KEY_F12, 0x1B, 0x1B);
+    KEYCASE(KEY_PAUSE, 0x01, 0x01);
     default:
       return 0;
   }
@@ -170,7 +177,7 @@ int queue_keypress(uint8_t keycode, uint8_t event_type, uint8_t platform) {
   if (keymap != NULL) {
     if (keymap[keycode] != NONE) {
       if (queued_keypresses < 255) {
-        printf("Keypress queued, matched %.2X to host key code %.2X\n", keycode, keymap[keycode]);
+        //printf("Keypress queued, matched %.2X to host key code %.2X\n", keycode, keymap[keycode]);
         queued_keys[queue_output_pos] = keymap[keycode];
         queued_events[queue_output_pos] = event_type;
         queue_output_pos++;