User Tools

Site Tools


nonenglishchars

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
nonenglishchars [2016/03/11 16:51] tonynonenglishchars [2025/03/25 18:53] (current) tony
Line 1: Line 1:
 ====Non-English Character Support==== ====Non-English Character Support====
-From the factory, the Twiddler3 supports all languages.  Understanding why it has universal language support requires an understanding as to what the Twiddler3 is doing at a low level.  Simply put, the Twiddler3 sends HID codes.  The Twiddler3 does not send letters, like "A", or numbers line "1", or symbols like "!" Your OS handles the "presentation" part to print those characters on screen. +From the factory, the Twiddler supports all languages.  Understanding why it has universal language support requires an understanding as to what the Twiddler is doing at a low level.   
 + 
 +Simply put, **the Twiddler sends HID codes** (this concept is important).  The Twiddler does not send letters, like "A", or numbers line "1", or symbols like "!" Your OS handles the "presentation" part, through its local setting, to print those characters on screen. 
  
 The flow looks something like this: The flow looks something like this:
  
-Press 0 R000 on Twiddler \\   +Press 0 R000 on Twiddler \\   
-Twiddler Firmware looks up chord in config file  \\   +Twiddler Firmware looks up chord in config file  \\   
-Found to be HID(0x04)  \\   +Found to be HID(004) (use decimal not hex)  \\   
-Send HID Report 0x04 via USB/Bluetooth  \\   +Send HID Report 004 via USB/Bluetooth  \\   
-OS receives report and does a Language Table Lookup  \\   +OS receives HID Report 004 and does a Language Table Lookup  \\   
-"A" printed on-screen  \\  +"a" printed on-screen  \\  
  
 ===How to get non-English characters to print on screen=== ===How to get non-English characters to print on screen===
Line 17: Line 19:
 1) This is what your keyboard looks like to the OS: 1) This is what your keyboard looks like to the OS:
  
-{{http://forum.tekgear.com/uploads/default/optimized/1X/7119fbaf73bf8c736b7075652e07f85e4680f0c1_1_690x186.png}}+{{ https://tgimages.s3.amazonaws.com/twiddler/wiki/HID_Keyboard.png }}
  
-You will notice some familiar notation on some keys like "TAB" and "ESC" There are also keys that look just like a Row and Column notation. AC01 (Alpha, row C, position 01) is where the "A" key is on most keyboards. The number in the second row of all the keys is the HID Code.  So when you type that key, in "A"'s case, 0x04 is sent to the OS.  The OS then prints on screen the letter associated with that HID Code. You can silk screen whatever you want on the key cap, when the OS sees HID 0x04 it will print "A".+You will notice some familiar notation on some keys like "TAB" and "ESC" There are also keys that look just like a Row and Column notation. AC01 (Alpha, row C, position 01) is where the "A" key is on most keyboards. The number in the second row of all the keys is the HID Code.  So when you type that key, in "A"'s case, HID 004 is sent to the OS.  The OS then prints on screen the letter associated with that HID Code. You can silk screen whatever you want on the key cap, when the OS sees HID 004 it will print "a".
  
 2) USB HID Usage Tables 2) USB HID Usage Tables
  
-Download and go to page 53 of the [[http://www.usb.org/developers/hidpage/Hut1_12v2.pdf|HID Usage Table]].  It is a pretty long and boring document about HID.  There you will see all of the HID Codes available.  Notice that there are only "Latin" characters commonly found on a US Keyboard.  HID does not specify anything other than what you see in the Usage Name column of that table.  Support for non-English characters is handled at the OS level through your region settings and language tables.+Download and go to page 83 of the [[https://www.usb.org/sites/default/files/hut1_2.pdf|HID Usage Table]].  It is a pretty long and boring document about HID.  There you will see all of the HID Codes available. (The Twiddler only supports the codes found on - 10 Keyboard/Keypad Page (0x07).) The Usage ID is shown in HEX, you need to convert it to DECIMAL in order to use it in Tuner.   Notice that there are only "Latin" characters commonly found on a US Keyboard.  HID does not specify anything other than what you see in the Usage Name column of that table.  Support for non-English characters is handled at the OS level through your region settings and language tables.
  
 3) Keyboard Compare 3) Keyboard Compare
Line 37: Line 39:
 {{https://upload.wikimedia.org/wikipedia/commons/thumb/9/95/Keyboard_layout_ua_vista_ext.png/420px-Keyboard_layout_ua_vista_ext.png}} {{https://upload.wikimedia.org/wikipedia/commons/thumb/9/95/Keyboard_layout_ua_vista_ext.png/420px-Keyboard_layout_ua_vista_ext.png}}
  
-If you would like the Twiddler to print "Ф" find it on the Ukranian keyboard.  Using the notion from above, it is located at position AC01. Map that to the ANSI Keyboard - which is "A" This tells you to use the letter "A" in your chord.+If you would like the Twiddler to print "?" find it on the Ukranian keyboard.  Using the notion from above, it is located at position AC01. Map that to the ANSI Keyboard - which is "A" This tells you to use the letter "A" in your chord. 
  
-===Twiddler3 HID Mapping Table=== 
nonenglishchars.1457715098.txt.gz · Last modified: 2024/05/03 17:21 (external edit)