diff --git a/CMakeLists.txt b/CMakeLists.txt index d75a1a0..f498afe 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -2,7 +2,7 @@ cmake_minimum_required(VERSION 3.0) set(CMAKE_VERBOSE_MAKEFILE OFF) set(VERSION_MAJOR 1) -set(VERSION_MINOR 87) +set(VERSION_MINOR 88) if(BUILD_PSP2) if (NOT DEFINED CMAKE_TOOLCHAIN_FILE) diff --git a/README.MD b/README.MD index 56dc7a4..348237d 100644 --- a/README.MD +++ b/README.MD @@ -4,10 +4,9 @@ On the Switch, since v1.84, please use nsp injection to start uae4all2, otherwis Changes in this version ====== -1.87 +1.88 -- improve savestate thumbnail quality -- rename joystick port option to clarify what it means +- add French on-screen keyboard (thanks @CrashMidnick) Description ===== @@ -23,6 +22,8 @@ Thanks to ScHlAuChi for extensive testing, ideas, and for contributing the new l Thanks to wronghands for the new, better-looking menu font, and many ideas. +Thanks to CrashMidnick for the French virtual keyboard + Thanks to the original authors Chui, john4p, TomB, notaz, Bernd Schneider, Toni Wilen, Pickle, smoku, AnotherGuest, Anonymous engineer, finkel, Lubomyr, pelya and many more. Thanks to my supporters on Patreon: Andyways, CountDuckula, Greg Gibson, Jesse Harlin, Özgür Karter, Matthew Machnee, and RadicalR. @@ -295,6 +296,10 @@ Compiling CHANGELOG ===== +1.88 + +- add French on-screen keyboard (thanks @CrashMidnick) + 1.87 - improve savestate thumbnail quality diff --git a/psp2data/data/vkbdFRLarge.bmp b/psp2data/data/vkbdFRLarge.bmp new file mode 100644 index 0000000..f894ad9 Binary files /dev/null and b/psp2data/data/vkbdFRLarge.bmp differ diff --git a/psp2data/data/vkbdFRLargeHires.bmp b/psp2data/data/vkbdFRLargeHires.bmp new file mode 100644 index 0000000..b7ae913 Binary files /dev/null and b/psp2data/data/vkbdFRLargeHires.bmp differ diff --git a/psp2data/data/vkbdFRLargeShift.bmp b/psp2data/data/vkbdFRLargeShift.bmp new file mode 100644 index 0000000..0b16d9c Binary files /dev/null and b/psp2data/data/vkbdFRLargeShift.bmp differ diff --git a/psp2data/data/vkbdFRLargeShiftHires.bmp b/psp2data/data/vkbdFRLargeShiftHires.bmp new file mode 100644 index 0000000..3292788 Binary files /dev/null and b/psp2data/data/vkbdFRLargeShiftHires.bmp differ diff --git a/src/gp2x/menu/menu_display.cpp b/src/gp2x/menu/menu_display.cpp index dc342e1..b51ff71 100755 --- a/src/gp2x/menu/menu_display.cpp +++ b/src/gp2x/menu/menu_display.cpp @@ -344,9 +344,14 @@ static void draw_displayMenu(int c) write_text(tabstop3,menuLine,"UK"); if ((mainMenu_vkbdLanguage==2)&&((menuDisplay!=MENUDISPLAY_VKBDLANGUAGE)||(bb))) - write_text_inv(tabstop5,menuLine,"GERMAN"); + write_text_inv(tabstop5,menuLine,"German"); else - write_text(tabstop5,menuLine,"GERMAN"); + write_text(tabstop5,menuLine,"German"); + + if ((mainMenu_vkbdLanguage==3)&&((menuDisplay!=MENUDISPLAY_VKBDLANGUAGE)||(bb))) + write_text_inv(tabstop5+8,menuLine,"French"); + else + write_text(tabstop5+8,menuLine,"French"); #endif // MENUDISPLAY_BACKGROUND @@ -775,8 +780,8 @@ static int key_displayMenu(int *c) } else if (right) { - if (mainMenu_vkbdLanguage >= 2) - mainMenu_vkbdLanguage = 2; + if (mainMenu_vkbdLanguage >= 3) + mainMenu_vkbdLanguage = 3; else mainMenu_vkbdLanguage +=1; } diff --git a/src/vkbd/vkbd.cpp b/src/vkbd/vkbd.cpp index 51852a0..2565a96 100755 --- a/src/vkbd/vkbd.cpp +++ b/src/vkbd/vkbd.cpp @@ -394,6 +394,112 @@ static t_vkbd_rect vkbd_rect_GER[]= {{196, 37, 14, 11 }, 48,81,65,49, AK_NUMBERSIGN}, // 94 * }; +//FRENCH KEYBOARD +static t_vkbd_rect vkbd_rect_FR[]= +{ + {{ 1, 1, 29, 11 },85,17,16, 1, AK_ESC}, // 0, row 1 start + {{ 31, 1, 14, 11 },86,18, 0, 2, AK_F1}, // 1 + {{ 46, 1, 14, 11 },87,19, 1, 3, AK_F2}, // 2 + {{ 61, 1, 14, 11 },87,20, 2, 4, AK_F3}, // 3 + {{ 76, 1, 14, 11 },87,21, 3, 5, AK_F4}, // 4 + {{ 91, 1, 14, 11 },87,22, 4, 6, AK_F5}, // 5 + {{106, 1, 14, 11 },87,23, 5, 7, AK_F6}, // 6 + {{121, 1, 14, 11 },87,24, 6, 8, AK_F7}, // 7 + {{136, 1, 14, 11 },87,25, 7, 9, AK_F8}, // 8 + {{151, 1, 14, 11 },87,26, 8,10, AK_F9}, // 9 + {{166, 1, 14, 11 },87,27, 9,11, AK_F10}, // 10 + {{181, 1, 29, 11 },88,28,10,12, AK_DEL}, // 11 + {{211, 1, 29, 11 },90,30,11,13, AK_HELP}, // 12 + {{241, 1, 14, 11 },92,32,12,14, AK_NPLPAREN}, // 13 + {{256, 1, 14, 11 },69,33,13,15, AK_NPRPAREN}, // 14 + {{271, 1, 14, 11 },69,34,14,16, AK_NPDIV}, // 15 + {{286, 1, 14, 11 },69,35,15,0, AK_NPMUL}, // 16 + + {{ 1, 13, 29, 11 }, 0,36,35,18, AK_BACKQUOTE}, // 17, row 2 start + {{ 31, 13, 14, 11 }, 1,37,17,19, AK_1}, // 18 + {{ 46, 13, 14, 11 }, 2,38,18,20, AK_2}, // 19 + {{ 61, 13, 14, 11 }, 3,39,19,21, AK_3}, // 20 + {{ 76, 13, 14, 11 }, 4,40,20,22, AK_4}, // 21 + {{ 91, 13, 14, 11 }, 5,41,21,23, AK_5}, // 22 + {{106, 13, 14, 11 }, 6,42,22,24, AK_6}, // 23 + {{121, 13, 14, 11 }, 7,43,23,25, AK_7}, // 24 + {{136, 13, 14, 11 }, 8,44,24,26, AK_8}, // 25 + {{151, 13, 14, 11 }, 9,45,25,27, AK_9}, // 26 + {{166, 13, 14, 11 },10,46,26,28, AK_0}, // 27 + {{181, 13, 14, 11 },11,47,27,29, AK_MINUS}, // 28 + {{196, 13, 14, 11 },11,48,28,30, AK_EQUAL}, // 29 + {{211, 13, 14, 11 },12,49,29,31, AK_BACKSLASH}, // 30 + {{226, 13, 14, 11 },12,49,30,32, AK_BS}, // 31 + {{241, 13, 14, 11 },13,50,31,33, AK_NP7}, // 32 + {{256, 13, 14, 11 },14,51,32,34, AK_NP8}, // 33 + {{271, 13, 14, 11 },15,52,33,35, AK_NP9}, // 34 + {{286, 13, 14, 11 },16,53,34,17, AK_NPSUB}, // 35 + + {{ 1, 25, 29, 11 }, 17,54,53,37, AK_TAB}, // 36, row 3 start + {{ 31, 25, 14, 11 }, 18,55,36,38, AK_Q}, // 37 + {{ 46, 25, 14, 11 }, 19,56,37,39, AK_W}, // 38 + {{ 61, 25, 14, 11 }, 20,57,38,40, AK_E}, // 39 + {{ 76, 25, 14, 11 }, 21,58,39,41, AK_R}, // 40 + {{ 91, 25, 14, 11 }, 22,59,40,42, AK_T}, // 41 + {{106, 25, 14, 11 }, 23,60,41,43, AK_Y}, // 42 + {{121, 25, 14, 11 }, 24,61,42,44, AK_U}, // 43 + {{136, 25, 14, 11 }, 25,62,43,45, AK_I}, // 44 + {{151, 25, 14, 11 }, 26,63,44,46, AK_O}, // 45 + {{166, 25, 14, 11 }, 27,64,45,47, AK_P}, // 46 + {{181, 25, 14, 11 }, 28,65,46,48, AK_LBRACKET}, // 47 + {{196, 25, 14, 11 }, 29,94,47,49, AK_RBRACKET}, // 48 * + {{211, 25, 29, 23 }, 30,81,48,50, AK_RET}, // 49 + {{241, 25, 14, 11 }, 32,66,49,51, AK_NP4}, // 50 + {{256, 25, 14, 11 }, 33,67,50,52, AK_NP5}, // 51 + {{271, 25, 14, 11 }, 34,68,51,53, AK_NP6}, // 52 + {{286, 25, 14, 11 }, 35,69,52,36, AK_NPADD}, // 53 + + {{ 1, 37, 29, 11 }, 36,70,69,55, AK_CTRL}, // 54, row 4 start + {{ 31, 37, 14, 11 }, 37,93,54,56, AK_A}, // 55 * + {{ 46, 37, 14, 11 }, 38,71,55,57, AK_S}, // 56 + {{ 61, 37, 14, 11 }, 39,72,56,58, AK_D}, // 57 + {{ 76, 37, 14, 11 }, 40,73,57,59, AK_F}, // 58 + {{ 91, 37, 14, 11 }, 41,74,58,60, AK_G}, // 59 + {{106, 37, 14, 11 }, 42,75,59,61, AK_H}, // 60 + {{121, 37, 14, 11 }, 43,76,60,62, AK_J}, // 61 + {{136, 37, 14, 11 }, 44,77,61,63, AK_K}, // 62 + {{151, 37, 14, 11 }, 45,78,62,64, AK_L}, // 63 + {{166, 37, 14, 11 }, 46,79,63,65, AK_SEMICOLON}, // 64 + {{181, 37, 14, 11 }, 47,80,64,94, AK_QUOTE}, // 65 * + {{241, 37, 14, 11 }, 50,83,49,67, AK_NP1}, // 66 + {{256, 37, 14, 11 }, 51,83,66,68, AK_NP2}, // 67 + {{271, 37, 14, 11 }, 52,84,67,69, AK_NP3}, // 68 + {{286, 37, 14, 34 }, 53,16,68,54, AK_ENT}, // 69 + + {{ 1, 49, 29, 11 }, 54,85,84,93, AK_LSH}, // 70, row 5 start * + {{ 46, 49, 14, 11 }, 56,87,93,72, AK_Z}, // 71 * + {{ 61, 49, 14, 11 }, 57,87,71,73, AK_X}, // 72 + {{ 76, 49, 14, 11 }, 58,87,72,74, AK_C}, // 73 + {{ 91, 49, 14, 11 }, 59,87,73,75, AK_V}, // 74 + {{106, 49, 14, 11 }, 60,87,74,76, AK_B}, // 75 + {{121, 49, 14, 11 }, 61,87,75,77, AK_N}, // 76 + {{136, 49, 14, 11 }, 62,87,76,78, AK_M}, // 77 + {{151, 49, 14, 11 }, 63,87,77,79, AK_COMMA}, // 78 + {{166, 49, 14, 11 }, 64,87,78,80, AK_PERIOD}, // 79 + {{181, 49, 14, 11 }, 65,88,79,81, AK_SLASH}, // 80 + {{196, 49, 27, 11 }, 49,89,80,82, AK_RSH}, // 81 + {{226, 49, 14, 11 }, 49,91,81,83, AK_UP}, // 82 + {{241, 49, 29, 11 }, 66,92,82,84, AK_NP0}, // 83 + {{271, 49, 14, 11 }, 67,69,83,69, AK_NPDEL}, // 84 + + {{ 1, 61, 29, 11 }, 70,0,69,86, AK_LALT}, // 85, row 6 start + {{ 31, 61, 14, 11 }, 93,1,85,87, AK_LAMI}, // 86 * + {{ 46, 61,134, 11 }, 71,2,86,88, AK_SPC}, // 87 + {{181, 61, 14, 11 }, 80,11,87,89, AK_RAMI}, // 88 + {{196, 61, 14, 11 }, 81,11,88,90, AK_RALT}, // 89 + {{211, 61, 14, 11 }, 81,12,89,91, AK_LF}, // 90 + {{226, 61, 14, 11 }, 82,12,90,92, AK_DN}, // 91 + {{241, 61, 14, 11 }, 83,13,91,69, AK_RT}, // 92 + //French extra keys + {{31, 49, 14, 11 }, 55,86,70,71, AK_LTGT}, // 93 * + {{196, 37, 14, 11 }, 48,81,65,49, AK_NUMBERSIGN}, // 94 * +}; + void vkbd_init_button2(void) { vkbd_button2=(SDLKey)0; @@ -433,6 +539,13 @@ int vkbd_init(void) snprintf(vkbdShiftHiresFileName, 256, "vkbdGERLargeShiftHires.bmp"); vkbd_rect=vkbd_rect_GER; break; + case 3: + snprintf(vkbdFileName, 256, "vkbdFRLarge.bmp"); + snprintf(vkbdHiresFileName, 256, "vkbdFRLargeHires.bmp"); + snprintf(vkbdShiftFileName, 256, "vkbdFRLargeShift.bmp"); + snprintf(vkbdShiftHiresFileName, 256, "vkbdFRLargeShiftHires.bmp"); + vkbd_rect=vkbd_rect_FR; + break; default: snprintf(vkbdFileName, 256, "vkbdUSLarge.bmp"); snprintf(vkbdHiresFileName, 256, "vkbdUSLargeHires.bmp"); diff --git a/switchdata/data/vkbdFRLarge.bmp b/switchdata/data/vkbdFRLarge.bmp new file mode 100644 index 0000000..f894ad9 Binary files /dev/null and b/switchdata/data/vkbdFRLarge.bmp differ diff --git a/switchdata/data/vkbdFRLargeHires.bmp b/switchdata/data/vkbdFRLargeHires.bmp new file mode 100644 index 0000000..b7ae913 Binary files /dev/null and b/switchdata/data/vkbdFRLargeHires.bmp differ diff --git a/switchdata/data/vkbdFRLargeShift.bmp b/switchdata/data/vkbdFRLargeShift.bmp new file mode 100644 index 0000000..0b16d9c Binary files /dev/null and b/switchdata/data/vkbdFRLargeShift.bmp differ diff --git a/switchdata/data/vkbdFRLargeShiftHires.bmp b/switchdata/data/vkbdFRLargeShiftHires.bmp new file mode 100644 index 0000000..3292788 Binary files /dev/null and b/switchdata/data/vkbdFRLargeShiftHires.bmp differ