![]() |
Forum Index : Microcontroller and PC projects : Spanish Keyboard Layout
Page 1 of 2 ![]() ![]() |
|||||
Author | Message | ||||
Hark0![]() Newbie ![]() Joined: 02/07/2020 Location: SpainPosts: 31 |
Hi! About Spanish Layout .... can be added in next release? I add two images about keyboard layout for spanish keyboards... First are normal keys: ![]() Second are ALT GR + key: ![]() My CMM2 are avaliable for all needed tests. Thanks in advance. PS Codes are from: http://www.asciitable.com/ Edited 2020-08-10 21:02 by Hark0 ZX-UNO: ZX-Spectrum Clone with FPGA |
||||
matherp Guru ![]() Joined: 11/12/2012 Location: United KingdomPosts: 10310 |
Please see this thread Can you prepare a keyboard definition as per the details there and below which is the French version and I'll certainly include it const int FRkeyValue[] = { 0,0,// USB_HID_KEYBOARD_KEYPAD_RESERVED_NO_EVENT_INDICATED = 0x00, 0,0,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_ERROR_ROLL_OVER = 0x01, 0,0,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_POST_FAIL = 0x02, 0,0,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_ERROR_UNDEFINED = 0x03, 113,81,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_A = 0x04, FR Q 98,66,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_B = 0x05, 99,67,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_C = 0x06, 100,68,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_D = 0x07, 101,69,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_E = 0x08, 102,70,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_F = 0x09, 103,71,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_G = 0x0A, 104,72,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_H = 0x0B, 105,73,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_I = 0x0C, 106,74,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_J = 0x0D, 107,75,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_K = 0x0E, 108,76,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_L = 0x0F, 44,63,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_M = 0x10, FR ,? 110,78,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_N = 0x11, 111,79,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_O = 0x12, 112,80,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_P = 0x13, 97,65,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_Q = 0x14, FR A 114,82,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_R = 0x15, 115,83,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_S = 0x16, 116,84,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_T = 0x17, 117,85,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_U = 0x18, 118,86,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_V = 0x19, 122,90,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_W = 0x1A, FR Z 120,88,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_X = 0x1B, 121,89,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_Y = 0x1C, 119,87,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_Z = 0x1D, FR W 38,49,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_1_AND_EXCLAMATION_POINT = 0x1E, FR & 1 00,50,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_2_AND_AT = 0x1F, FR é 2 ~ 34,51,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_3_AND_HASH = 0x20, FR " 3 # 39,52,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_4_AND_DOLLAR = 0x21, FR ' 4 { 40,53,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_5_AND_PERCENT = 0x22, FR ( 5 [ 45,54,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_6_AND_CARROT = 0x23, FR - 6 96,55,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_7_AND_AMPERSAND = 0x24, FR è 7 ` 95,56,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_8_AND_ASTERISK = 0x25, FR _ 8 '\' 00,57,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_9_AND_OPEN_PARENTHESIS = 0x26, FR ç 9 ^ 00,48,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_0_AND_CLOSE_PARENTHESIS = 0x27, FR à 0 @ 10,10,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_RETURN_ENTER = 0x28, 27,27,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_ESCAPE = 0x29, 8,8,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_DELETE = 0x2A, 9,9,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_TAB = 0x2B, 32,32,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_SPACEBAR = 0x2C, 41,00,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_MINUS_AND_UNDERSCORE = 0x2D, FR ) ] 61,43,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_EQUAL_AND_PLUS = 0x2E, 94,123,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_OPEN_BRACKET_AND_OPEN_CURLY_BRACE = 0x2F, FR ^ ¨ 36,125,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_CLOSE_BRACKET_AND_CLOSE_CURLY_BRACE = 0x30, FR $ £ 60,62,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_BACK_SLASH_AND_PIPE = 0x31, FR < > (not sure !!) 35,126,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_NON_US_HASH_AND_TILDE = 0x32, 109,77,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_SEMICOLON_AND_COLON = 0x33, FR M 42,00,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_APOSTROPHE_AND_QUOTE = 0x34, FR * µ 00,00,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_GRAVE_ACCENT_AND_TILDE = 0x35, FR ² 59,46,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_COMMA_AND_LESS_THAN = 0x36, FR ; . 58,47,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_PERIOD_AND_GREATER_THAN = 0x37, FR : / 33,00,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_FORWARD_SLASH_AND_QUESTION_MARK = 0x38, FR ! § 0,0,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_CAPS_LOCK = 0x39, 0x91,0x91,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_F1 = 0x3A, 0x92,0x92,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_F2 = 0x3B, 0x93,0x93,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_F3 = 0x3C, 0x94,0x94,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_F4 = 0x3D, 0x95,0x95,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_F5 = 0x3E, 0x96,0x96,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_F6 = 0x3F, 0x97,0x97,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_F7 = 0x40, 0x98,0x98,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_F8 = 0x41, 0x99,0x99,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_F9 = 0x42, 0x9a,0x9a,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_F10 = 0x43, 0x9b,0x9b,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_F11 = 0x44, 0x9c,0x9c,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_F12 = 0x45, 0,0,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_PRINT_SCREEN = 0x46, 0,0,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_SCROLL_LOCK = 0x47, 0,0,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_PAUSE = 0x48, 0,0,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_INSERT = 0x49, 0x86,0x86,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_HOME = 0x4A, 0x88,0x88,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_PAGE_UP = 0x4B, 0x7f,0x7f,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_DELETE_FORWARD = 0x4C, 0x87,0x87,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_END = 0x4D, 0x89,0x89,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_PAGE_DOWN = 0x4E, 0x83,0x83,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_RIGHT_ARROW = 0x4F, 0x82,0x82,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_LEFT_ARROW = 0x50, 0x81,0x81,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_DOWN_ARROW = 0x51, 0x80,0x80,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_UP_ARROW = 0x52, 0,0,// USB_HID_KEYBOARD_KEYPAD_KEYPAD_NUM_LOCK_AND_CLEAR = 0x53, 47,47,// USB_HID_KEYBOARD_KEYPAD_KEYPAD_BACK_SLASH = 0x54, 42,42,// USB_HID_KEYBOARD_KEYPAD_KEYPAD_ASTERISK = 0x55, 45,45,// USB_HID_KEYBOARD_KEYPAD_KEYPAD_MINUS = 0x56, 43,43,// USB_HID_KEYBOARD_KEYPAD_KEYPAD_PLUS = 0x57, 10,10,// USB_HID_KEYBOARD_KEYPAD_KEYPAD_ENTER = 0x58, 49,0x87,// USB_HID_KEYBOARD_KEYPAD_KEYPAD_1_AND_END = 0x59, 50,0x81,// USB_HID_KEYBOARD_KEYPAD_KEYPAD_2_AND_DOWN_ARROW = 0x5A, 51,0x89,// USB_HID_KEYBOARD_KEYPAD_KEYPAD_3_AND_PAGE_DOWN = 0x5B, 52,0x82,// USB_HID_KEYBOARD_KEYPAD_KEYPAD_4_AND_LEFT_ARROW = 0x5C, 53,53,// USB_HID_KEYBOARD_KEYPAD_KEYPAD_5 = 0x5D, 54,0x83,// USB_HID_KEYBOARD_KEYPAD_KEYPAD_6_AND_RIGHT_ARROW = 0x5E, 55,0x86,// USB_HID_KEYBOARD_KEYPAD_KEYPAD_7_AND_HOME = 0x5F, 56,0x80,// USB_HID_KEYBOARD_KEYPAD_KEYPAD_8_AND_UP_ARROW = 0x60, 57,0x88,// USB_HID_KEYBOARD_KEYPAD_KEYPAD_9_AND_PAGE_UP = 0x61, 48,0x84,// USB_HID_KEYBOARD_KEYPAD_KEYPAD_0_AND_INSERT = 0x62, 46,0x7f, //USB_HID_KEYBOARD_KEYPAD_KEYPAD_PERIOD_AND_DELETE = 0x63, 92,124 //USB_HID_KEYBOARD_KEYPAD_KEYBOARD_NON_US_FORWARD_SLASH_AND_PIPE = 0x64, }; // Special entry for characters ' ~ # { [ | \ ^ @ ] } ' if(info->ralt && Option.USBKeyboard==CONFIG_FR){ if(keyCode==0x1F) return 126;// ~ else if(keyCode==0x20)return 35; // # else if(keyCode==0x21)return 123;// { else if(keyCode==0x22)return 91; // [ else if(keyCode==0x23)return 124;// | else if(keyCode==0x25)return 92; // '\' else if(keyCode==0x26)return 94; // ^ else if(keyCode==0x27)return 64; // @ else if(keyCode==0x2D)return 93; // ] else if(keyCode==0x2E)return 125;// } } Edited 2020-08-11 00:13 by matherp |
||||
Hark0![]() Newbie ![]() Joined: 02/07/2020 Location: SpainPosts: 31 |
Ok, working on! ZX-UNO: ZX-Spectrum Clone with FPGA |
||||
darthvader Regular Member ![]() Joined: 31/01/2020 Location: FrancePosts: 87 |
Hi Peter ![]() I don't have get my CMM2 yet from Australia , and don't have test the French KB version. When it's here , i will do the requested KB layout as needed so you can made the other great stuff ![]() Cheers. Theory is when we know everything but nothing work ... Practice is when everything work but no one know why ;) |
||||
Sasquatch![]() Guru ![]() Joined: 08/05/2020 Location: United StatesPosts: 377 |
I believe Peter already did the French layout. See "OPTION USBKEYBOARD FR" in the manual. -Carl |
||||
Geoffg![]() Guru ![]() Joined: 06/06/2011 Location: AustraliaPosts: 3292 |
Fabrice (darthvader) provided the codes for the French keyboard for the CMM2. I think that he is saying that he can properly test it and perhaps add others (difficult when English is not your first language). He provided most of the foreign language keyboards for the original Colour Maximite so he has practice in this. Geoff Geoff Graham - http://geoffg.net |
||||
Hark0![]() Newbie ![]() Joined: 02/07/2020 Location: SpainPosts: 31 |
I think all are correct... const int SPkeyValue[] = { 0,0,// USB_HID_KEYBOARD_KEYPAD_RESERVED_NO_EVENT_INDICATED = 0x00, 0,0,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_ERROR_ROLL_OVER = 0x01, 0,0,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_POST_FAIL = 0x02, 0,0,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_ERROR_UNDEFINED = 0x03, 97,65,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_A = 0x04, 98,66,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_B = 0x05, 99,67,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_C = 0x06, 100,68,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_D = 0x07, 101,69,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_E = 0x08, 102,70,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_F = 0x09, 103,71,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_G = 0x0A, 104,72,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_H = 0x0B, 105,73,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_I = 0x0C, 106,74,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_J = 0x0D, 107,75,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_K = 0x0E, 108,76,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_L = 0x0F, 109,77,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_M = 0x10, 110,78,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_N = 0x11, 111,79,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_O = 0x12, 112,80,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_P = 0x13, 113,81,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_Q = 0x14, 114,82,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_R = 0x15, 115,83,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_S = 0x16, 116,84,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_T = 0x17, 117,85,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_U = 0x18, 118,86,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_V = 0x19, 119,87,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_W = 0x1A, 120,88,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_X = 0x1B, 121,89,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_Y = 0x1C, 122,90,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_Z = 0x1D,· 49,33,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_1_AND_EXCLAMATION_POINT = 0x1E, ALT GR -> | 50,34,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_2_AND_AT = 0x1F, ALT GR -> @ 51,250,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_3_AND_HASH = 0x20, ALT GR -> # 52,36,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_4_AND_DOLLAR = 0x21, 53,37,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_5_AND_PERCENT = 0x22, 54,38,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_6_AND_CARROT = 0x23, ALT GR -> ¬ 55,47,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_7_AND_AMPERSAND = 0x24, 56,40,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_8_AND_ASTERISK = 0x25, 57,41,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_9_AND_OPEN_PARENTHESIS = 0x26, 48,61,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_0_AND_CLOSE_PARENTHESIS = 0x27, 10,10,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_RETURN_ENTER = 0x28, 27,27,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_ESCAPE = 0x29, 8,8,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_DELETE = 0x2A, 9,9,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_TAB = 0x2B, 32,32,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_SPACEBAR = 0x2C, 39,63,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_MINUS_AND_UNDERSCORE = 0x2D, 173,168,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_EQUAL_AND_PLUS = 0x2E, 96,94,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_OPEN_BRACKET_AND_OPEN_CURLY_BRACE = 0x2F, ALT GR -> [ 43,42,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_CLOSE_BRACKET_AND_CLOSE_CURLY_BRACE = 0x30, ALT GR -> ] 135,128,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_BACK_SLASH_AND_PIPE = 0x31, ALT GR -> } 60,62,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_NON_US_HASH_AND_TILDE = 0x32, 164,165,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_SEMICOLON_AND_COLON = 0x33, 239,249,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_APOSTROPHE_AND_QUOTE = 0x34, ALT GR -> { 167,166,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_GRAVE_ACCENT_AND_TILDE = 0x35, ALT GR -> \ 44,59,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_COMMA_AND_LESS_THAN = 0x36, 46,58,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_PERIOD_AND_GREATER_THAN = 0x37, 45,95,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_FORWARD_SLASH_AND_QUESTION_MARK = 0x38, 0,0,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_CAPS_LOCK = 0x39, 0x91,0x91,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_F1 = 0x3A, 0x92,0x92,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_F2 = 0x3B, 0x93,0x93,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_F3 = 0x3C, 0x94,0x94,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_F4 = 0x3D, 0x95,0x95,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_F5 = 0x3E, 0x96,0x96,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_F6 = 0x3F, 0x97,0x97,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_F7 = 0x40, 0x98,0x98,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_F8 = 0x41, 0x99,0x99,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_F9 = 0x42, 0x9a,0x9a,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_F10 = 0x43, 0x9b,0x9b,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_F11 = 0x44, 0x9c,0x9c,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_F12 = 0x45, 0,0,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_PRINT_SCREEN = 0x46, 0,0,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_SCROLL_LOCK = 0x47, 0,0,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_PAUSE = 0x48, 0x84,0x84,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_INSERT = 0x49, 0x86,0x86,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_HOME = 0x4A, 0x88,0x88,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_PAGE_UP = 0x4B, 0x7f,0x7f,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_DELETE_FORWARD = 0x4C, 0x87,0x87,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_END = 0x4D, 0x89,0x89,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_PAGE_DOWN = 0x4E, 0x83,0xA3,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_RIGHT_ARROW = 0x4F, 0x82,0x82,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_LEFT_ARROW = 0x50, 0x81,0xA1,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_DOWN_ARROW = 0x51, 0x80,0x80,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_UP_ARROW = 0x52, 0,0,// USB_HID_KEYBOARD_KEYPAD_KEYPAD_NUM_LOCK_AND_CLEAR = 0x53, 47,47,// USB_HID_KEYBOARD_KEYPAD_KEYPAD_BACK_SLASH = 0x54, 42,42,// USB_HID_KEYBOARD_KEYPAD_KEYPAD_ASTERISK = 0x55, 45,45,// USB_HID_KEYBOARD_KEYPAD_KEYPAD_MINUS = 0x56, 43,43,// USB_HID_KEYBOARD_KEYPAD_KEYPAD_PLUS = 0x57, 10,10,// USB_HID_KEYBOARD_KEYPAD_KEYPAD_ENTER = 0x58, 49,0x87,// USB_HID_KEYBOARD_KEYPAD_KEYPAD_1_AND_END = 0x59, 50,0x81,// USB_HID_KEYBOARD_KEYPAD_KEYPAD_2_AND_DOWN_ARROW = 0x5A, 51,0x89,// USB_HID_KEYBOARD_KEYPAD_KEYPAD_3_AND_PAGE_DOWN = 0x5B, 52,0x82,// USB_HID_KEYBOARD_KEYPAD_KEYPAD_4_AND_LEFT_ARROW = 0x5C, 53,53,// USB_HID_KEYBOARD_KEYPAD_KEYPAD_5 = 0x5D, 54,0x83,// USB_HID_KEYBOARD_KEYPAD_KEYPAD_6_AND_RIGHT_ARROW = 0x5E, 55,0x86,// USB_HID_KEYBOARD_KEYPAD_KEYPAD_7_AND_HOME = 0x5F, 56,0x80,// USB_HID_KEYBOARD_KEYPAD_KEYPAD_8_AND_UP_ARROW = 0x60, 57,0x88,// USB_HID_KEYBOARD_KEYPAD_KEYPAD_9_AND_PAGE_UP = 0x61, 48,0x84,// USB_HID_KEYBOARD_KEYPAD_KEYPAD_0_AND_INSERT = 0x62, 46,0x7f,// USB_HID_KEYBOARD_KEYPAD_KEYPAD_PERIOD_AND_DELETE = 0x63, 92,124 // USB_HID_KEYBOARD_KEYPAD_KEYBOARD_NON_US_FORWARD_SLASH_AND_PIPE = 0x64, }; // Special entry for characters ALT_GR + KEY // List key 0x35 - alt_gr= \ -> 92 // List key 0x1E - alt_gr= | -> 124 // List key 0x1F - alt_gr= @ -> 64 // List key 0x20 - alt_gr= # -> 35 // List key 0x23 - alt_gr= ¬ -> 170 // List key 0x2F - alt_gr= [ -> 91 // List key 0x30 - alt_gr= ] -> 93 // List key 0x31 - alt_gr= { -> 123 // List key 0x34 - alt_gr= } -> 125 if(info->ralt && Option.USBKeyboard == CONFIG_SP){ if(keyCode==0x35) return 92; // \ else if(keyCode==0x1E)return 124; // | else if(keyCode==0x1F)return 64; // @ else if(keyCode==0x20)return 35; // # else if(keyCode==0x23)return 170; // ¬ else if(keyCode==0x2F)return 91; // [ else if(keyCode==0x30)return 93; // ] else if(keyCode==0x31)return 123; // { else if(keyCode==0x34)return 125; // } } ZX-UNO: ZX-Spectrum Clone with FPGA |
||||
matherp Guru ![]() Joined: 11/12/2012 Location: United KingdomPosts: 10310 |
Support for ES keyboard added in V5.05.05b7 Let me know if there are any changes needed. Note I'm using the ISO 3166 country codes so Spain is ES http://geoffg.net/Downloads/Maximite/CMM2_Beta.zip |
||||
Hark0![]() Newbie ![]() Joined: 02/07/2020 Location: SpainPosts: 31 |
Downloading... and testing... ![]() ZX-UNO: ZX-Spectrum Clone with FPGA |
||||
Hark0![]() Newbie ![]() Joined: 02/07/2020 Location: SpainPosts: 31 |
Firmware tested. ES are the same keys as US layout.... none changed. Row 1 us shift key cmm2 ES ~ -> ~ -> ª (Normal º, Shift ª, AltGr \) 1 -> ! -> ! normal OK 2 -> " -> " normal OK 3 -> # -> · normal OK 4 -> $ -> $ normal OK 5 -> % -> % normal OK 6 -> ^ -> & normal OK 7 -> & -> / normal OK 8 -> * -> ( normal OK 9 -> ( -> ) normal OK 0 -> ) -> = - -> _ -> ? = -> + -> ¿ +ALT GR us key cmm2 ES ~ -> º -> \ (Normal º, Shift ª, AltGr \) 1 -> 1 -> | 2 -> 2 -> @ 3 -> 3 -> # 6 -> 6 -> ¬ Row 2 us ES ES ES key cmm2 shift alt gr [ -> [ -> ` -> ^ -> [ ] -> ] -> + -> * -> ] \ -> \ -> ç -> Ç -> } Row 3 us ES ES ES key cmm2 shift alt gr ; -> ; -> ñ -> Ñ -> none ' -> ' -> < -> > -> none # -> # -> ´ -> ¨ -> { Row 4 us ES ES ES key cmm2 shift alt gr , -> , -> , -> ; -> none normal OK . -> . -> . -> : -> none normal OK / -> / -> - -> _ -> none Edited 2020-08-12 08:41 by Hark0 ZX-UNO: ZX-Spectrum Clone with FPGA |
||||
matherp Guru ![]() Joined: 11/12/2012 Location: United KingdomPosts: 10310 |
I don't understand what you are saying. I just implemented the code you provided and it certainly changes things for me. You do understand that the CMM2 can only show ascii characters? So no accented characters will work. These keys should be set to 0 in the mapping table so they don't respond at all. You did use OPTION USBKEYBOARD ES Then check with OPTION LIST Looks like you haven't changed this line 92,124 // USB_HID_KEYBOARD_KEYPAD_KEYBOARD_NON_US_FORWARD_SLASH_AND_PIPE = 0x64, This is the key to the left of Z Edited 2020-08-12 17:25 by matherp |
||||
Hark0![]() Newbie ![]() Joined: 02/07/2020 Location: SpainPosts: 31 |
I changed the layout to US to ES.... and ES to US... but the keys are the same! My first program when I receved the CMM2 was: for n=32 to 255 print chr$(n) next n Hmmmm Basically the ES layout works "similar" to US layout, only change some keys: First row.... from key ~ to = (us layout) The 9 keys [ { , ; etc.... And the AltGr combinations... I know about accent letters... I no add none accent combination. Let me I check for the keys... I post new message. Thanks for your patiente. ZX-UNO: ZX-Spectrum Clone with FPGA |
||||
TassyJim![]() Guru ![]() Joined: 07/08/2011 Location: AustraliaPosts: 6283 |
for n=32 to 255 print chr$(n) next n Will always print the built-in font which contains ASCII characters for the lower characters and a selection of various characters for the high number characters. If you want to print international characters, you can define your own font and then print them using chr$(xx) The CMM2 will not be able to use unicode or uTF8 to print all international characters. Jim VK7JH MMedit |
||||
Hark0![]() Newbie ![]() Joined: 02/07/2020 Location: SpainPosts: 31 |
Hello again... reflashed my CMM2 for three times... Now it seem works (¿?).... and option info shows "OPTION USB KEYBOARD ES". ;-) This Keys NOT work correctly Key º in US Layout (left to key 1): Normal: none, expected º chr$(96) Shift: none, expected ª none char in CMM2 - ASCII 166 Alt Gr: \ OK. Correct Key = in US Layout (right to key -): Normal: none, expected ¡ none char in CMM2 - ASCII 173 Shift: none, expected ¿ none char in CMM2 - ASCII 168 Alt Gr: none OK. Correct hmmmm about this key... i think "OK".... don't modify. ;-) Key [ in US Layout (right to key P): Normal: º, expected ` chr$(248) Shift: ^, expected ^ OK. Correct Alt Gr: [, expected [ OK. Correct Key ; in US Layout (right to key L): Normal: none, expected ñ chr$() Shift: none, expected Ñ chr$() Alt Gr: none, OK. Correct I think about "Ñ" key.... are "OK"... none char in CMM... or maybe.... n and N. Key ' in US Layout (right to key ;): Normal: none, expected ´ none char in CMM2 - ASCII 239 Shift: none, expected ¨ none char in CMM2 - ASCII 249 Alt Gr: }, expected { chr$(123) Hmmm the keys \ and / "are exchanged", codes are OK. Key E: Alt Gr: e, expected € chr$(238) Key 3 + Shift: none, expected · chr$(250) Hmm for the keys that not have graphic defined.... hmmm the best "solution" IMHO... are use the same graphic... like not existent ª... use º I used the chr$ from the photo... ![]() Edited 2020-08-12 19:02 by Hark0 ZX-UNO: ZX-Spectrum Clone with FPGA |
||||
twofingers![]() Guru ![]() Joined: 02/06/2014 Location: GermanyPosts: 1593 |
Hi Hark0, I'm sure you are aware that the CMM2 only supports ASCII characters up to 127 for the keyboard. AFAIK! The german version supports also no umlauts (ÄÖÜöäüß). Kind regards MIchael causality ≠correlation ≠coincidence |
||||
matherp Guru ![]() Joined: 11/12/2012 Location: United KingdomPosts: 10310 |
Hark0 If there are bugs then make the changes and repost the definition. I'm sorry but I haven't got the time to sort out every keyboard variation. The code implements exactly what is in the definition file. Edited 2020-08-12 21:43 by matherp |
||||
Hark0![]() Newbie ![]() Joined: 02/07/2020 Location: SpainPosts: 31 |
@twofingers hmmm I find for these post. Thanks. @matherp Ok, I examine my definition file... and reupload. ZX-UNO: ZX-Spectrum Clone with FPGA |
||||
Hark0![]() Newbie ![]() Joined: 02/07/2020 Location: SpainPosts: 31 |
Hmmm Thanks! First, I translating "normal" keys... ![]() ZX-UNO: ZX-Spectrum Clone with FPGA |
||||
Hark0![]() Newbie ![]() Joined: 02/07/2020 Location: SpainPosts: 31 |
@matherp Here is a new version. I read German post, and I set keys vith +128 code to 0. const int ESkeyValue[] = { 0,0,// USB_HID_KEYBOARD_KEYPAD_RESERVED_NO_EVENT_INDICATED = 0x00, 0,0,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_ERROR_ROLL_OVER = 0x01, 0,0,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_POST_FAIL = 0x02, 0,0,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_ERROR_UNDEFINED = 0x03, 97,65,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_A = 0x04, 98,66,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_B = 0x05, 99,67,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_C = 0x06, 100,68,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_D = 0x07, 101,69,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_E = 0x08, ALT GR -> € 102,70,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_F = 0x09, 103,71,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_G = 0x0A, 104,72,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_H = 0x0B, 105,73,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_I = 0x0C, 106,74,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_J = 0x0D, 107,75,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_K = 0x0E, 108,76,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_L = 0x0F, 109,77,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_M = 0x10, 110,78,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_N = 0x11, 111,79,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_O = 0x12, 112,80,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_P = 0x13, 113,81,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_Q = 0x14, 114,82,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_R = 0x15, 115,83,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_S = 0x16, 116,84,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_T = 0x17, 117,85,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_U = 0x18, 118,86,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_V = 0x19, 119,87,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_W = 0x1A, 120,88,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_X = 0x1B, 121,89,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_Y = 0x1C, 122,90,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_Z = 0x1D,· 49,33,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_1_AND_EXCLAMATION_POINT = 0x1E, ALT GR -> | 50,34,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_2_AND_AT = 0x1F, ALT GR -> @ 51,0,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_3_AND_HASH = 0x20, ALT GR -> # 52,36,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_4_AND_DOLLAR = 0x21, ALT GR -> ~ 53,37,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_5_AND_PERCENT = 0x22, 54,38,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_6_AND_CARROT = 0x23, 55,47,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_7_AND_AMPERSAND = 0x24, 56,40,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_8_AND_ASTERISK = 0x25, 57,41,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_9_AND_OPEN_PARENTHESIS = 0x26, 48,61,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_0_AND_CLOSE_PARENTHESIS = 0x27, 10,10,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_RETURN_ENTER = 0x28, 27,27,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_ESCAPE = 0x29, 8,8,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_DELETE = 0x2A, 9,9,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_TAB = 0x2B, 32,32,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_SPACEBAR = 0x2C, 39,63,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_MINUS_AND_UNDERSCORE = 0x2D, 0,0,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_EQUAL_AND_PLUS = 0x2E, 0,94,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_OPEN_BRACKET_AND_OPEN_CURLY_BRACE = 0x2F, ALT GR -> [ 43,42,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_CLOSE_BRACKET_AND_CLOSE_CURLY_BRACE = 0x30, ALT GR -> ] 0,0,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_BACK_SLASH_AND_PIPE = 0x31, ALT GR -> } 92,0,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_NON_US_HASH_AND_TILDE = 0x32, 0,0,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_SEMICOLON_AND_COLON = 0x33, 0,0,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_APOSTROPHE_AND_QUOTE = 0x34, ALT GR -> { 96,96,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_GRAVE_ACCENT_AND_TILDE = 0x35, ALT GR -> \ (Tecla º) 44,59,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_COMMA_AND_LESS_THAN = 0x36, 46,58,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_PERIOD_AND_GREATER_THAN = 0x37, 45,95,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_FORWARD_SLASH_AND_QUESTION_MARK = 0x38, 0,0,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_CAPS_LOCK = 0x39, 0x91,0x91,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_F1 = 0x3A, 0x92,0x92,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_F2 = 0x3B, 0x93,0x93,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_F3 = 0x3C, 0x94,0x94,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_F4 = 0x3D, 0x95,0x95,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_F5 = 0x3E, 0x96,0x96,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_F6 = 0x3F, 0x97,0x97,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_F7 = 0x40, 0x98,0x98,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_F8 = 0x41, 0x99,0x99,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_F9 = 0x42, 0x9a,0x9a,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_F10 = 0x43, 0x9b,0x9b,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_F11 = 0x44, 0x9c,0x9c,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_F12 = 0x45, 0,0,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_PRINT_SCREEN = 0x46, 0,0,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_SCROLL_LOCK = 0x47, 0,0,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_PAUSE = 0x48, 0x84,0x84,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_INSERT = 0x49, 0x86,0x86,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_HOME = 0x4A, 0x88,0x88,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_PAGE_UP = 0x4B, 0x7f,0x7f,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_DELETE_FORWARD = 0x4C, 0x87,0x87,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_END = 0x4D, 0x89,0x89,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_PAGE_DOWN = 0x4E, 0x83,0xA3,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_RIGHT_ARROW = 0x4F, 0x82,0x82,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_LEFT_ARROW = 0x50, 0x81,0xA1,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_DOWN_ARROW = 0x51, 0x80,0x80,// USB_HID_KEYBOARD_KEYPAD_KEYBOARD_UP_ARROW = 0x52, 0,0,// USB_HID_KEYBOARD_KEYPAD_KEYPAD_NUM_LOCK_AND_CLEAR = 0x53, 47,47,// USB_HID_KEYBOARD_KEYPAD_KEYPAD_BACK_SLASH = 0x54, 42,42,// USB_HID_KEYBOARD_KEYPAD_KEYPAD_ASTERISK = 0x55, 45,45,// USB_HID_KEYBOARD_KEYPAD_KEYPAD_MINUS = 0x56, 43,43,// USB_HID_KEYBOARD_KEYPAD_KEYPAD_PLUS = 0x57, 10,10,// USB_HID_KEYBOARD_KEYPAD_KEYPAD_ENTER = 0x58, 49,0x87,// USB_HID_KEYBOARD_KEYPAD_KEYPAD_1_AND_END = 0x59, 50,0x81,// USB_HID_KEYBOARD_KEYPAD_KEYPAD_2_AND_DOWN_ARROW = 0x5A, 51,0x89,// USB_HID_KEYBOARD_KEYPAD_KEYPAD_3_AND_PAGE_DOWN = 0x5B, 52,0x82,// USB_HID_KEYBOARD_KEYPAD_KEYPAD_4_AND_LEFT_ARROW = 0x5C, 53,53,// USB_HID_KEYBOARD_KEYPAD_KEYPAD_5 = 0x5D, 54,0x83,// USB_HID_KEYBOARD_KEYPAD_KEYPAD_6_AND_RIGHT_ARROW = 0x5E, 55,0x86,// USB_HID_KEYBOARD_KEYPAD_KEYPAD_7_AND_HOME = 0x5F, 56,0x80,// USB_HID_KEYBOARD_KEYPAD_KEYPAD_8_AND_UP_ARROW = 0x60, 57,0x88,// USB_HID_KEYBOARD_KEYPAD_KEYPAD_9_AND_PAGE_UP = 0x61, 48,0x84,// USB_HID_KEYBOARD_KEYPAD_KEYPAD_0_AND_INSERT = 0x62, 46,0x7f,// USB_HID_KEYBOARD_KEYPAD_KEYPAD_PERIOD_AND_DELETE = 0x63, 60,62 // USB_HID_KEYBOARD_KEYPAD_KEYBOARD_NON_US_FORWARD_SLASH_AND_PIPE = 0x64, }; // Special entry for characters ALT_GR + KEY // List key 0x35 - alt_gr= \ -> 92 // List key 0x1E - alt_gr= | -> 124 // List key 0x08 - alt_gr= € -> 238 // List key 0x1F - alt_gr= @ -> 64 // List key 0x20 - alt_gr= # -> 35 // List key 0x21 - alt_gr= ~ -> 126 // List key 0x2F - alt_gr= [ -> 91 // List key 0x30 - alt_gr= ] -> 93 // List key 0x31 - alt_gr= } -> 125 // List key 0x34 - alt_gr= { -> 123 if(info->ralt && Option.USBKeyboard == CONFIG_ES){ if(keyCode==0x35) return 92; // \ else if(keyCode==0x1E)return 124; // | else if(keyCode==0x08)return 0; // € else if(keyCode==0x1F)return 64; // @ else if(keyCode==0x20)return 35; // # else if(keyCode==0x21)return 0; // ~ else if(keyCode==0x2F)return 91; // [ else if(keyCode==0x30)return 93; // ] else if(keyCode==0x31)return 125; // } else if(keyCode==0x34)return 123; // { } You know, spanish keyboard layout have some extra keys: ç, Ç, ñ, Ñ, ¡, ¿, á, é, í, ó, ú, Á, É, Í, Ó, Ú, à, è, ì, ò, ù, À, È, Ì, Ò, Ù, â,ê,î,ô,û,Â,Ê,Î,Ô,Û,ä,ë,ï,ö,ü,Ä,Ë,Ï,Ö,Ü... ![]() How I add these graphic definition... Using Fontweak ? ZX-UNO: ZX-Spectrum Clone with FPGA |
||||
TassyJim![]() Guru ![]() Joined: 07/08/2011 Location: AustraliaPosts: 6283 |
Yes. But you have to do some work. Before Unicode, Windows/DOS used 'code pages' for the different character sets used around the world. If you know what code-page matches your language, that is the first step. Then you have to find the Unicode equivalents for each character. Wikipedia is very useful here. Once you have the ASCII to Unicode translation list, you can create an INF file file FontTweak. The last step is finding a TTF font that has the Unicode characters you are interested in. That is easy to do in FontTweak. One of the code-pages I have translated already might be what you are looking for. You will still have to use chr$(xx) to print the characters. You 'could' change characters below 128 to print them directly but that would really mess up the whole system so I don't think that it is a good idea. Jim VK7JH MMedit |
||||
Page 1 of 2 ![]() ![]() |
![]() |
![]() |
The Back Shed's forum code is written, and hosted, in Australia. | © JAQ Software 2025 |