remove CFG_TUD_HID_ASCII_TO_KEYCODE_LOOKUP
This commit is contained in:
		| @@ -129,19 +129,6 @@ bool tud_hid_keyboard_report(uint8_t report_id, uint8_t modifier, uint8_t keycod | ||||
|   return tud_hid_report(report_id, &report, sizeof(report)); | ||||
| } | ||||
|  | ||||
| #if CFG_TUD_HID_ASCII_TO_KEYCODE_LOOKUP | ||||
| bool tud_hid_keyboard_key_press(uint8_t report_id, char ch) | ||||
| { | ||||
|   uint8_t keycode[6] = { 0 }; | ||||
|   uint8_t modifier   = 0; | ||||
|  | ||||
|   if ( HID_ASCII_TO_KEYCODE[(uint8_t)ch].shift ) modifier = KEYBOARD_MODIFIER_LEFTSHIFT; | ||||
|   keycode[0] = HID_ASCII_TO_KEYCODE[(uint8_t)ch].keycode; | ||||
|  | ||||
|   return tud_hid_keyboard_report(report_id, modifier, keycode); | ||||
| } | ||||
| #endif // CFG_TUD_HID_ASCII_TO_KEYCODE_LOOKUP | ||||
|  | ||||
| //--------------------------------------------------------------------+ | ||||
| // MOUSE APPLICATION API | ||||
| //--------------------------------------------------------------------+ | ||||
| @@ -337,143 +324,4 @@ bool hidd_xfer_cb(uint8_t rhport, uint8_t ep_addr, xfer_result_t event, uint32_t | ||||
|   return true; | ||||
| } | ||||
|  | ||||
|  | ||||
| //------------- Ascii to Keycode Lookup -------------// | ||||
| #if CFG_TUD_HID_ASCII_TO_KEYCODE_LOOKUP | ||||
| const hid_ascii_to_keycode_entry_t HID_ASCII_TO_KEYCODE[128] = | ||||
| { | ||||
|     {0, 0                     }, // 0x00 Null | ||||
|     {0, 0                     }, // 0x01 | ||||
|     {0, 0                     }, // 0x02 | ||||
|     {0, 0                     }, // 0x03 | ||||
|     {0, 0                     }, // 0x04 | ||||
|     {0, 0                     }, // 0x05 | ||||
|     {0, 0                     }, // 0x06 | ||||
|     {0, 0                     }, // 0x07 | ||||
|     {0, HID_KEY_BACKSPACE     }, // 0x08 Backspace | ||||
|     {0, HID_KEY_TAB           }, // 0x09 Horizontal Tab | ||||
|     {0, HID_KEY_RETURN        }, // 0x0A Line Feed | ||||
|     {0, 0                     }, // 0x0B | ||||
|     {0, 0                     }, // 0x0C | ||||
|     {0, HID_KEY_RETURN        }, // 0x0D Carriage return | ||||
|     {0, 0                     }, // 0x0E | ||||
|     {0, 0                     }, // 0x0F | ||||
|     {0, 0                     }, // 0x10 | ||||
|     {0, 0                     }, // 0x11 | ||||
|     {0, 0                     }, // 0x12 | ||||
|     {0, 0                     }, // 0x13 | ||||
|     {0, 0                     }, // 0x14 | ||||
|     {0, 0                     }, // 0x15 | ||||
|     {0, 0                     }, // 0x16 | ||||
|     {0, 0                     }, // 0x17 | ||||
|     {0, 0                     }, // 0x18 | ||||
|     {0, 0                     }, // 0x19 | ||||
|     {0, 0                     }, // 0x1A | ||||
|     {0, HID_KEY_ESCAPE        }, // 0x1B Escape | ||||
|     {0, 0                     }, // 0x1C | ||||
|     {0, 0                     }, // 0x1D | ||||
|     {0, 0                     }, // 0x1E | ||||
|     {0, 0                     }, // 0x1F | ||||
|  | ||||
|     {0, HID_KEY_SPACE         }, // 0x20 | ||||
|     {1, HID_KEY_1             }, // 0x21 ! | ||||
|     {1, HID_KEY_APOSTROPHE    }, // 0x22 " | ||||
|     {1, HID_KEY_3             }, // 0x23 # | ||||
|     {1, HID_KEY_4             }, // 0x24 $ | ||||
|     {1, HID_KEY_5             }, // 0x25 % | ||||
|     {1, HID_KEY_7             }, // 0x26 & | ||||
|     {0, HID_KEY_APOSTROPHE    }, // 0x27 ' | ||||
|     {1, HID_KEY_9             }, // 0x28 ( | ||||
|     {1, HID_KEY_0             }, // 0x29 ) | ||||
|     {1, HID_KEY_8             }, // 0x2A * | ||||
|     {1, HID_KEY_EQUAL         }, // 0x2B + | ||||
|     {0, HID_KEY_COMMA         }, // 0x2C , | ||||
|     {0, HID_KEY_MINUS         }, // 0x2D - | ||||
|     {0, HID_KEY_PERIOD        }, // 0x2E . | ||||
|     {0, HID_KEY_SLASH         }, // 0x2F / | ||||
|     {0, HID_KEY_0             }, // 0x30 0 | ||||
|     {0, HID_KEY_1             }, // 0x31 1 | ||||
|     {0, HID_KEY_2             }, // 0x32 2 | ||||
|     {0, HID_KEY_3             }, // 0x33 3 | ||||
|     {0, HID_KEY_4             }, // 0x34 4 | ||||
|     {0, HID_KEY_5             }, // 0x35 5 | ||||
|     {0, HID_KEY_6             }, // 0x36 6 | ||||
|     {0, HID_KEY_7             }, // 0x37 7 | ||||
|     {0, HID_KEY_8             }, // 0x38 8 | ||||
|     {0, HID_KEY_9             }, // 0x39 9 | ||||
|     {1, HID_KEY_SEMICOLON     }, // 0x3A : | ||||
|     {0, HID_KEY_SEMICOLON     }, // 0x3B ; | ||||
|     {1, HID_KEY_COMMA         }, // 0x3C < | ||||
|     {0, HID_KEY_EQUAL         }, // 0x3D = | ||||
|     {1, HID_KEY_PERIOD        }, // 0x3E > | ||||
|     {1, HID_KEY_SLASH         }, // 0x3F ? | ||||
|  | ||||
|     {1, HID_KEY_2             }, // 0x40 @ | ||||
|     {1, HID_KEY_A             }, // 0x41 A | ||||
|     {1, HID_KEY_B             }, // 0x42 B | ||||
|     {1, HID_KEY_C             }, // 0x43 C | ||||
|     {1, HID_KEY_D             }, // 0x44 D | ||||
|     {1, HID_KEY_E             }, // 0x45 E | ||||
|     {1, HID_KEY_F             }, // 0x46 F | ||||
|     {1, HID_KEY_G             }, // 0x47 G | ||||
|     {1, HID_KEY_H             }, // 0x48 H | ||||
|     {1, HID_KEY_I             }, // 0x49 I | ||||
|     {1, HID_KEY_J             }, // 0x4A J | ||||
|     {1, HID_KEY_K             }, // 0x4B K | ||||
|     {1, HID_KEY_L             }, // 0x4C L | ||||
|     {1, HID_KEY_M             }, // 0x4D M | ||||
|     {1, HID_KEY_N             }, // 0x4E N | ||||
|     {1, HID_KEY_O             }, // 0x4F O | ||||
|     {1, HID_KEY_P             }, // 0x50 P | ||||
|     {1, HID_KEY_Q             }, // 0x51 Q | ||||
|     {1, HID_KEY_R             }, // 0x52 R | ||||
|     {1, HID_KEY_S             }, // 0x53 S | ||||
|     {1, HID_KEY_T             }, // 0x55 T | ||||
|     {1, HID_KEY_U             }, // 0x55 U | ||||
|     {1, HID_KEY_V             }, // 0x56 V | ||||
|     {1, HID_KEY_W             }, // 0x57 W | ||||
|     {1, HID_KEY_X             }, // 0x58 X | ||||
|     {1, HID_KEY_Y             }, // 0x59 Y | ||||
|     {1, HID_KEY_Z             }, // 0x5A Z | ||||
|     {0, HID_KEY_BRACKET_LEFT  }, // 0x5B [ | ||||
|     {0, HID_KEY_BACKSLASH     }, // 0x5C '\' | ||||
|     {0, HID_KEY_BRACKET_RIGHT }, // 0x5D ] | ||||
|     {1, HID_KEY_6             }, // 0x5E ^ | ||||
|     {1, HID_KEY_MINUS         }, // 0x5F _ | ||||
|  | ||||
|     {0, HID_KEY_GRAVE         }, // 0x60 ` | ||||
|     {0, HID_KEY_A             }, // 0x61 a | ||||
|     {0, HID_KEY_B             }, // 0x62 b | ||||
|     {0, HID_KEY_C             }, // 0x63 c | ||||
|     {0, HID_KEY_D             }, // 0x66 d | ||||
|     {0, HID_KEY_E             }, // 0x65 e | ||||
|     {0, HID_KEY_F             }, // 0x66 f | ||||
|     {0, HID_KEY_G             }, // 0x67 g | ||||
|     {0, HID_KEY_H             }, // 0x68 h | ||||
|     {0, HID_KEY_I             }, // 0x69 i | ||||
|     {0, HID_KEY_J             }, // 0x6A j | ||||
|     {0, HID_KEY_K             }, // 0x6B k | ||||
|     {0, HID_KEY_L             }, // 0x6C l | ||||
|     {0, HID_KEY_M             }, // 0x6D m | ||||
|     {0, HID_KEY_N             }, // 0x6E n | ||||
|     {0, HID_KEY_O             }, // 0x6F o | ||||
|     {0, HID_KEY_P             }, // 0x70 p | ||||
|     {0, HID_KEY_Q             }, // 0x71 q | ||||
|     {0, HID_KEY_R             }, // 0x72 r | ||||
|     {0, HID_KEY_S             }, // 0x73 s | ||||
|     {0, HID_KEY_T             }, // 0x75 t | ||||
|     {0, HID_KEY_U             }, // 0x75 u | ||||
|     {0, HID_KEY_V             }, // 0x76 v | ||||
|     {0, HID_KEY_W             }, // 0x77 w | ||||
|     {0, HID_KEY_X             }, // 0x78 x | ||||
|     {0, HID_KEY_Y             }, // 0x79 y | ||||
|     {0, HID_KEY_Z             }, // 0x7A z | ||||
|     {1, HID_KEY_BRACKET_LEFT  }, // 0x7B { | ||||
|     {1, HID_KEY_BACKSLASH     }, // 0x7C | | ||||
|     {1, HID_KEY_BRACKET_RIGHT }, // 0x7D } | ||||
|     {1, HID_KEY_GRAVE         }, // 0x7E ~ | ||||
|     {0, HID_KEY_DELETE        }  // 0x7F Delete | ||||
| }; | ||||
| #endif // CFG_TUD_HID_ASCII_TO_KEYCODE_LOOKUP | ||||
|  | ||||
| #endif | ||||
|   | ||||
| @@ -38,9 +38,7 @@ | ||||
| //--------------------------------------------------------------------+ | ||||
| // Class Driver Default Configure & Validation | ||||
| //--------------------------------------------------------------------+ | ||||
| #ifndef CFG_TUD_HID_ASCII_TO_KEYCODE_LOOKUP | ||||
| #define CFG_TUD_HID_ASCII_TO_KEYCODE_LOOKUP 0 | ||||
| #endif | ||||
|  | ||||
|  | ||||
| //--------------------------------------------------------------------+ | ||||
| // Application API | ||||
| @@ -81,16 +79,6 @@ static inline bool tud_hid_keyboard_key_release(uint8_t report_id) | ||||
|   return tud_hid_keyboard_report(report_id, 0, NULL); | ||||
| } | ||||
|  | ||||
| #if CFG_TUD_HID_ASCII_TO_KEYCODE_LOOKUP | ||||
| bool tud_hid_keyboard_key_press(uint8_t report_id, char ch); | ||||
|  | ||||
| typedef struct{ | ||||
|   uint8_t shift; | ||||
|   uint8_t keycode; | ||||
| }hid_ascii_to_keycode_entry_t; | ||||
| extern const hid_ascii_to_keycode_entry_t HID_ASCII_TO_KEYCODE[128]; | ||||
| #endif | ||||
|  | ||||
| //--------------------------------------------------------------------+ | ||||
| // MOUSE API | ||||
| // Convenient helper to send mouse report if application use standard/boot | ||||
| @@ -281,8 +269,154 @@ static inline bool tud_hid_mouse_button_release(uint8_t report_id) | ||||
|     HID_INPUT        ( HID_DATA | HID_VARIABLE | HID_ABSOLUTE ) ,\ | ||||
|   HID_COLLECTION_END \ | ||||
|  | ||||
| /** @} */ | ||||
| /** @} */ | ||||
| /*-------------------------------------------------------------------- | ||||
|  * ASCII to KEYCODE Conversion | ||||
|  *  Expand to array of [128][2] (shift, keycode) | ||||
|  * | ||||
|  * Usage: example to convert input char into keyboard report (modifier + keycode) | ||||
|  * | ||||
|  *  uint8_t const conv_table[128][2] =  { HID_ASCII_TO_KEYCODE }; | ||||
|  * | ||||
|  *  uint8_t keycode[6] = { 0 }; | ||||
|  *  uint8_t modifier   = 0; | ||||
|  * | ||||
|  *  if ( conv_table[chr][0] ) modifier = KEYBOARD_MODIFIER_LEFTSHIFT; | ||||
|  *  keycode[0] = conv_table[chr][1]; | ||||
|  *  tud_hid_keyboard_report(report_id, modifier, keycode); | ||||
|  * | ||||
|  *--------------------------------------------------------------------*/ | ||||
| #define HID_ASCII_TO_KEYCODE \ | ||||
|     {0, 0                     }, /* 0x00 Null      */ \ | ||||
|     {0, 0                     }, /* 0x01           */ \ | ||||
|     {0, 0                     }, /* 0x02           */ \ | ||||
|     {0, 0                     }, /* 0x03           */ \ | ||||
|     {0, 0                     }, /* 0x04           */ \ | ||||
|     {0, 0                     }, /* 0x05           */ \ | ||||
|     {0, 0                     }, /* 0x06           */ \ | ||||
|     {0, 0                     }, /* 0x07           */ \ | ||||
|     {0, HID_KEY_BACKSPACE     }, /* 0x08 Backspace */ \ | ||||
|     {0, HID_KEY_TAB           }, /* 0x09 Tab       */ \ | ||||
|     {0, HID_KEY_RETURN        }, /* 0x0A Line Feed */ \ | ||||
|     {0, 0                     }, /* 0x0B           */ \ | ||||
|     {0, 0                     }, /* 0x0C           */ \ | ||||
|     {0, HID_KEY_RETURN        }, /* 0x0D CR        */ \ | ||||
|     {0, 0                     }, /* 0x0E           */ \ | ||||
|     {0, 0                     }, /* 0x0F           */ \ | ||||
|     {0, 0                     }, /* 0x10           */ \ | ||||
|     {0, 0                     }, /* 0x11           */ \ | ||||
|     {0, 0                     }, /* 0x12           */ \ | ||||
|     {0, 0                     }, /* 0x13           */ \ | ||||
|     {0, 0                     }, /* 0x14           */ \ | ||||
|     {0, 0                     }, /* 0x15           */ \ | ||||
|     {0, 0                     }, /* 0x16           */ \ | ||||
|     {0, 0                     }, /* 0x17           */ \ | ||||
|     {0, 0                     }, /* 0x18           */ \ | ||||
|     {0, 0                     }, /* 0x19           */ \ | ||||
|     {0, 0                     }, /* 0x1A           */ \ | ||||
|     {0, HID_KEY_ESCAPE        }, /* 0x1B Escape    */ \ | ||||
|     {0, 0                     }, /* 0x1C           */ \ | ||||
|     {0, 0                     }, /* 0x1D           */ \ | ||||
|     {0, 0                     }, /* 0x1E           */ \ | ||||
|     {0, 0                     }, /* 0x1F           */ \ | ||||
|                                                       \ | ||||
|     {0, HID_KEY_SPACE         }, /* 0x20           */ \ | ||||
|     {1, HID_KEY_1             }, /* 0x21 !         */ \ | ||||
|     {1, HID_KEY_APOSTROPHE    }, /* 0x22 "         */ \ | ||||
|     {1, HID_KEY_3             }, /* 0x23 #         */ \ | ||||
|     {1, HID_KEY_4             }, /* 0x24 $         */ \ | ||||
|     {1, HID_KEY_5             }, /* 0x25 %         */ \ | ||||
|     {1, HID_KEY_7             }, /* 0x26 &         */ \ | ||||
|     {0, HID_KEY_APOSTROPHE    }, /* 0x27 '         */ \ | ||||
|     {1, HID_KEY_9             }, /* 0x28 (         */ \ | ||||
|     {1, HID_KEY_0             }, /* 0x29 )         */ \ | ||||
|     {1, HID_KEY_8             }, /* 0x2A *         */ \ | ||||
|     {1, HID_KEY_EQUAL         }, /* 0x2B +         */ \ | ||||
|     {0, HID_KEY_COMMA         }, /* 0x2C ,         */ \ | ||||
|     {0, HID_KEY_MINUS         }, /* 0x2D -         */ \ | ||||
|     {0, HID_KEY_PERIOD        }, /* 0x2E .         */ \ | ||||
|     {0, HID_KEY_SLASH         }, /* 0x2F /         */ \ | ||||
|     {0, HID_KEY_0             }, /* 0x30 0         */ \ | ||||
|     {0, HID_KEY_1             }, /* 0x31 1         */ \ | ||||
|     {0, HID_KEY_2             }, /* 0x32 2         */ \ | ||||
|     {0, HID_KEY_3             }, /* 0x33 3         */ \ | ||||
|     {0, HID_KEY_4             }, /* 0x34 4         */ \ | ||||
|     {0, HID_KEY_5             }, /* 0x35 5         */ \ | ||||
|     {0, HID_KEY_6             }, /* 0x36 6         */ \ | ||||
|     {0, HID_KEY_7             }, /* 0x37 7         */ \ | ||||
|     {0, HID_KEY_8             }, /* 0x38 8         */ \ | ||||
|     {0, HID_KEY_9             }, /* 0x39 9         */ \ | ||||
|     {1, HID_KEY_SEMICOLON     }, /* 0x3A :         */ \ | ||||
|     {0, HID_KEY_SEMICOLON     }, /* 0x3B ;         */ \ | ||||
|     {1, HID_KEY_COMMA         }, /* 0x3C <         */ \ | ||||
|     {0, HID_KEY_EQUAL         }, /* 0x3D =         */ \ | ||||
|     {1, HID_KEY_PERIOD        }, /* 0x3E >         */ \ | ||||
|     {1, HID_KEY_SLASH         }, /* 0x3F ?         */ \ | ||||
|                                                       \ | ||||
|     {1, HID_KEY_2             }, /* 0x40 @         */ \ | ||||
|     {1, HID_KEY_A             }, /* 0x41 A         */ \ | ||||
|     {1, HID_KEY_B             }, /* 0x42 B         */ \ | ||||
|     {1, HID_KEY_C             }, /* 0x43 C         */ \ | ||||
|     {1, HID_KEY_D             }, /* 0x44 D         */ \ | ||||
|     {1, HID_KEY_E             }, /* 0x45 E         */ \ | ||||
|     {1, HID_KEY_F             }, /* 0x46 F         */ \ | ||||
|     {1, HID_KEY_G             }, /* 0x47 G         */ \ | ||||
|     {1, HID_KEY_H             }, /* 0x48 H         */ \ | ||||
|     {1, HID_KEY_I             }, /* 0x49 I         */ \ | ||||
|     {1, HID_KEY_J             }, /* 0x4A J         */ \ | ||||
|     {1, HID_KEY_K             }, /* 0x4B K         */ \ | ||||
|     {1, HID_KEY_L             }, /* 0x4C L         */ \ | ||||
|     {1, HID_KEY_M             }, /* 0x4D M         */ \ | ||||
|     {1, HID_KEY_N             }, /* 0x4E N         */ \ | ||||
|     {1, HID_KEY_O             }, /* 0x4F O         */ \ | ||||
|     {1, HID_KEY_P             }, /* 0x50 P         */ \ | ||||
|     {1, HID_KEY_Q             }, /* 0x51 Q         */ \ | ||||
|     {1, HID_KEY_R             }, /* 0x52 R         */ \ | ||||
|     {1, HID_KEY_S             }, /* 0x53 S         */ \ | ||||
|     {1, HID_KEY_T             }, /* 0x55 T         */ \ | ||||
|     {1, HID_KEY_U             }, /* 0x55 U         */ \ | ||||
|     {1, HID_KEY_V             }, /* 0x56 V         */ \ | ||||
|     {1, HID_KEY_W             }, /* 0x57 W         */ \ | ||||
|     {1, HID_KEY_X             }, /* 0x58 X         */ \ | ||||
|     {1, HID_KEY_Y             }, /* 0x59 Y         */ \ | ||||
|     {1, HID_KEY_Z             }, /* 0x5A Z         */ \ | ||||
|     {0, HID_KEY_BRACKET_LEFT  }, /* 0x5B [         */ \ | ||||
|     {0, HID_KEY_BACKSLASH     }, /* 0x5C '\'       */ \ | ||||
|     {0, HID_KEY_BRACKET_RIGHT }, /* 0x5D ]         */ \ | ||||
|     {1, HID_KEY_6             }, /* 0x5E ^         */ \ | ||||
|     {1, HID_KEY_MINUS         }, /* 0x5F _         */ \ | ||||
|                                                       \ | ||||
|     {0, HID_KEY_GRAVE         }, /* 0x60 `         */ \ | ||||
|     {0, HID_KEY_A             }, /* 0x61 a         */ \ | ||||
|     {0, HID_KEY_B             }, /* 0x62 b         */ \ | ||||
|     {0, HID_KEY_C             }, /* 0x63 c         */ \ | ||||
|     {0, HID_KEY_D             }, /* 0x66 d         */ \ | ||||
|     {0, HID_KEY_E             }, /* 0x65 e         */ \ | ||||
|     {0, HID_KEY_F             }, /* 0x66 f         */ \ | ||||
|     {0, HID_KEY_G             }, /* 0x67 g         */ \ | ||||
|     {0, HID_KEY_H             }, /* 0x68 h         */ \ | ||||
|     {0, HID_KEY_I             }, /* 0x69 i         */ \ | ||||
|     {0, HID_KEY_J             }, /* 0x6A j         */ \ | ||||
|     {0, HID_KEY_K             }, /* 0x6B k         */ \ | ||||
|     {0, HID_KEY_L             }, /* 0x6C l         */ \ | ||||
|     {0, HID_KEY_M             }, /* 0x6D m         */ \ | ||||
|     {0, HID_KEY_N             }, /* 0x6E n         */ \ | ||||
|     {0, HID_KEY_O             }, /* 0x6F o         */ \ | ||||
|     {0, HID_KEY_P             }, /* 0x70 p         */ \ | ||||
|     {0, HID_KEY_Q             }, /* 0x71 q         */ \ | ||||
|     {0, HID_KEY_R             }, /* 0x72 r         */ \ | ||||
|     {0, HID_KEY_S             }, /* 0x73 s         */ \ | ||||
|     {0, HID_KEY_T             }, /* 0x75 t         */ \ | ||||
|     {0, HID_KEY_U             }, /* 0x75 u         */ \ | ||||
|     {0, HID_KEY_V             }, /* 0x76 v         */ \ | ||||
|     {0, HID_KEY_W             }, /* 0x77 w         */ \ | ||||
|     {0, HID_KEY_X             }, /* 0x78 x         */ \ | ||||
|     {0, HID_KEY_Y             }, /* 0x79 y         */ \ | ||||
|     {0, HID_KEY_Z             }, /* 0x7A z         */ \ | ||||
|     {1, HID_KEY_BRACKET_LEFT  }, /* 0x7B {         */ \ | ||||
|     {1, HID_KEY_BACKSLASH     }, /* 0x7C |         */ \ | ||||
|     {1, HID_KEY_BRACKET_RIGHT }, /* 0x7D }         */ \ | ||||
|     {1, HID_KEY_GRAVE         }, /* 0x7E ~         */ \ | ||||
|     {0, HID_KEY_DELETE        }  /* 0x7F Delete    */ \ | ||||
|  | ||||
| //--------------------------------------------------------------------+ | ||||
| // Internal Class Driver API | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 hathach
					hathach