mirror of
https://github.com/wiidev/usbloadergx.git
synced 2024-12-19 08:21:54 +01:00
added DVORAK and QWERTZ keyboards. QWERTZ has alt keys to produce enough accents for everybody to be happy.
This commit is contained in:
parent
594baabfce
commit
f975fff261
File diff suppressed because one or more lines are too long
58
source/cfg.c
58
source/cfg.c
@ -7,7 +7,15 @@
|
|||||||
#include <ogcsys.h>
|
#include <ogcsys.h>
|
||||||
#include "cfg.h"
|
#include "cfg.h"
|
||||||
#include "language.h"
|
#include "language.h"
|
||||||
|
/*<<<<<<< .mine
|
||||||
|
//#include "language.c"
|
||||||
|
extern void language_set();
|
||||||
|
extern void lang_default();
|
||||||
|
extern void language_set();
|
||||||
|
extern char* strcopy();
|
||||||
|
=======
|
||||||
|
|
||||||
|
>>>>>>> .r348*/
|
||||||
struct SSettings Settings;
|
struct SSettings Settings;
|
||||||
//struct SSettings2 Settings2;
|
//struct SSettings2 Settings2;
|
||||||
|
|
||||||
@ -43,6 +51,7 @@ u8 parentalcontrolChoice = 0;
|
|||||||
u8 xflip = 0;
|
u8 xflip = 0;
|
||||||
u8 qboot = 0;
|
u8 qboot = 0;
|
||||||
u8 wsprompt = 0;
|
u8 wsprompt = 0;
|
||||||
|
u8 keyset = 0;
|
||||||
|
|
||||||
#define TITLE_MAX 65
|
#define TITLE_MAX 65
|
||||||
|
|
||||||
@ -724,6 +733,14 @@ void global_cfg_set(char *name, char *val)
|
|||||||
}
|
}
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
else if (strcmp(name, "keyset") == 0) {
|
||||||
|
int i;
|
||||||
|
if (sscanf(val, "%d", &i) == 1) {
|
||||||
|
Settings.keyset = i;
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
else if (strcmp(name, "hddinfo") == 0) {
|
else if (strcmp(name, "hddinfo") == 0) {
|
||||||
int i;
|
int i;
|
||||||
if (sscanf(val, "%d", &i) == 1) {
|
if (sscanf(val, "%d", &i) == 1) {
|
||||||
@ -963,6 +980,7 @@ bool cfg_save_global()// save global settings
|
|||||||
fprintf(f, "tooltips = %d\n ", Settings.tooltips);
|
fprintf(f, "tooltips = %d\n ", Settings.tooltips);
|
||||||
fprintf(f, "password = %s\n ", Settings.unlockCode);
|
fprintf(f, "password = %s\n ", Settings.unlockCode);
|
||||||
fprintf(f, "cios = %d\n ", Settings.cios);
|
fprintf(f, "cios = %d\n ", Settings.cios);
|
||||||
|
fprintf(f, "keyset = %d\n ", Settings.keyset);
|
||||||
fprintf(f, "xflip = %d\n ", Settings.xflip);
|
fprintf(f, "xflip = %d\n ", Settings.xflip);
|
||||||
fprintf(f, "qboot = %d\n ", Settings.qboot);
|
fprintf(f, "qboot = %d\n ", Settings.qboot);
|
||||||
fprintf(f, "wsprompt = %d\n", Settings.wsprompt);
|
fprintf(f, "wsprompt = %d\n", Settings.wsprompt);
|
||||||
@ -1095,6 +1113,7 @@ bool cfg_load_global()
|
|||||||
Settings.xflip = off;
|
Settings.xflip = off;
|
||||||
Settings.qboot = off;
|
Settings.qboot = off;
|
||||||
Settings.wsprompt = off;
|
Settings.wsprompt = off;
|
||||||
|
Settings.keyset = us;
|
||||||
Settings.hddinfo = HDDInfo;
|
Settings.hddinfo = HDDInfo;
|
||||||
Settings.sinfo = ((THEME.showID) ? GameID : Neither);
|
Settings.sinfo = ((THEME.showID) ? GameID : Neither);
|
||||||
Settings.rumble = RumbleOn;
|
Settings.rumble = RumbleOn;
|
||||||
@ -1178,7 +1197,46 @@ void CFG_Load()
|
|||||||
|
|
||||||
// cfg_parsearg(argc, argv);
|
// cfg_parsearg(argc, argv);
|
||||||
}
|
}
|
||||||
|
/*
|
||||||
|
<<<<<<< .mine
|
||||||
|
//set app path
|
||||||
|
// chdir_app(argv[0]);
|
||||||
|
|
||||||
|
CFG_Default(-1); // set defaults non forced
|
||||||
|
|
||||||
|
snprintf(pathname, sizeof(pathname), "SD:/config/global_settings.cfg");
|
||||||
|
|
||||||
|
cfg_parsefile(pathname, &widescreen_set); //first set widescreen
|
||||||
|
cfg_parsefile(pathname, &cfg_set); //then set config and layout options
|
||||||
|
|
||||||
|
snprintf(pathname, sizeof(pathname), "%stheme.txt", CFG.theme_path);
|
||||||
|
cfg_parsefile(pathname, &theme_set); //finally set console information
|
||||||
|
|
||||||
|
snprintf(pathname, sizeof(pathname), "%slanguage.txt",CFG.language_path);
|
||||||
|
cfg_parsefile(pathname, &language_set);
|
||||||
|
|
||||||
|
|
||||||
|
// if (!ret)
|
||||||
|
// {
|
||||||
|
// cfg_parsefile("SD:/config.txt", &widescreen_set);
|
||||||
|
// cfg_parsefile("SD:/config.txt", &cfg_set);
|
||||||
|
// cfg_parsefile("SD:/config.txt", &console_set);
|
||||||
|
// }
|
||||||
|
|
||||||
|
snprintf(pathname, sizeof(pathname), "SD:/config/titles.txt");
|
||||||
|
cfg_parsetitlefile(pathname, &title_set);
|
||||||
|
|
||||||
|
// load per-game settings
|
||||||
|
cfg_load_games();
|
||||||
|
lang_default();
|
||||||
|
language_set();
|
||||||
|
|
||||||
|
|
||||||
|
// cfg_parsearg(argc, argv);
|
||||||
|
}
|
||||||
|
|
||||||
|
=======
|
||||||
|
>>>>>>> .r348*/
|
||||||
void CFG_LoadGlobal(void)
|
void CFG_LoadGlobal(void)
|
||||||
{
|
{
|
||||||
cfg_parsefile("SD:/config/global_settings.cfg", &global_cfg_set);
|
cfg_parsefile("SD:/config/global_settings.cfg", &global_cfg_set);
|
||||||
|
@ -69,6 +69,7 @@ struct CFG
|
|||||||
char theme_path[100];
|
char theme_path[100];
|
||||||
char disc_path[100];
|
char disc_path[100];
|
||||||
char language_path[100];
|
char language_path[100];
|
||||||
|
short keyset;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
@ -145,6 +146,7 @@ extern u8 parentalcontrolChoice;
|
|||||||
extern u8 xflip;
|
extern u8 xflip;
|
||||||
extern u8 qboot;
|
extern u8 qboot;
|
||||||
extern u8 wsprompt;
|
extern u8 wsprompt;
|
||||||
|
extern u8 keyset;
|
||||||
|
|
||||||
struct Game_CFG
|
struct Game_CFG
|
||||||
{
|
{
|
||||||
@ -247,6 +249,11 @@ enum {
|
|||||||
sysmenu,
|
sysmenu,
|
||||||
wtf,
|
wtf,
|
||||||
};
|
};
|
||||||
|
enum {
|
||||||
|
us,
|
||||||
|
dvorak,
|
||||||
|
euro,
|
||||||
|
};
|
||||||
/*
|
/*
|
||||||
enum {
|
enum {
|
||||||
ParentalControlOff,
|
ParentalControlOff,
|
||||||
@ -272,6 +279,7 @@ struct SSettings {
|
|||||||
int cios;
|
int cios;
|
||||||
int qboot;
|
int qboot;
|
||||||
int wsprompt;
|
int wsprompt;
|
||||||
|
int keyset;
|
||||||
};
|
};
|
||||||
|
|
||||||
void CFG_LoadGlobal(void);
|
void CFG_LoadGlobal(void);
|
||||||
|
@ -82,6 +82,7 @@ snprintf(LANGUAGE.FlipX, sizeof(LANGUAGE.FlipX), "Flip-X");
|
|||||||
snprintf(LANGUAGE.Force, sizeof(LANGUAGE.Force), "Force");
|
snprintf(LANGUAGE.Force, sizeof(LANGUAGE.Force), "Force");
|
||||||
snprintf(LANGUAGE.Youneedtoformatapartition, sizeof(LANGUAGE.Youneedtoformatapartition), "You need to format a partition");
|
snprintf(LANGUAGE.Youneedtoformatapartition, sizeof(LANGUAGE.Youneedtoformatapartition), "You need to format a partition");
|
||||||
snprintf(LANGUAGE.Format, sizeof(LANGUAGE.Format), "Format");
|
snprintf(LANGUAGE.Format, sizeof(LANGUAGE.Format), "Format");
|
||||||
|
snprintf(LANGUAGE.keyboard, sizeof(LANGUAGE.keyboard), "Keyboard");
|
||||||
snprintf(LANGUAGE.Formattingpleasewait, sizeof(LANGUAGE.Formattingpleasewait), "Formatting, please wait...");
|
snprintf(LANGUAGE.Formattingpleasewait, sizeof(LANGUAGE.Formattingpleasewait), "Formatting, please wait...");
|
||||||
snprintf(LANGUAGE.formated, sizeof(LANGUAGE.formated), "formatted!");
|
snprintf(LANGUAGE.formated, sizeof(LANGUAGE.formated), "formatted!");
|
||||||
snprintf(LANGUAGE.free, sizeof(LANGUAGE.free), "free");
|
snprintf(LANGUAGE.free, sizeof(LANGUAGE.free), "free");
|
||||||
|
@ -89,6 +89,7 @@ struct LANGUAGE
|
|||||||
char GoBack[30];
|
char GoBack[30];
|
||||||
char GotoPage[30];///////
|
char GotoPage[30];///////
|
||||||
char HowtoShutdown[30];
|
char HowtoShutdown[30];
|
||||||
|
char keyboard[15];
|
||||||
char Language[20];
|
char Language[20];
|
||||||
char Langchange[20];
|
char Langchange[20];
|
||||||
char Left[30];
|
char Left[30];
|
||||||
|
@ -782,14 +782,14 @@ class GuiButton : public GuiElement
|
|||||||
};
|
};
|
||||||
|
|
||||||
typedef struct _keytype {
|
typedef struct _keytype {
|
||||||
char ch, chShift;
|
char ch, chShift, chalt, chalt2;
|
||||||
} Key;
|
} Key;
|
||||||
|
|
||||||
//!On-screen keyboard
|
//!On-screen keyboard
|
||||||
class GuiKeyboard : public GuiWindow
|
class GuiKeyboard : public GuiWindow
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
GuiKeyboard(char * t, u32 m, int min);
|
GuiKeyboard(char * t, u32 m, int min, int lang);
|
||||||
~GuiKeyboard();
|
~GuiKeyboard();
|
||||||
void Update(GuiTrigger * t);
|
void Update(GuiTrigger * t);
|
||||||
char kbtextstr[256];
|
char kbtextstr[256];
|
||||||
@ -798,12 +798,22 @@ class GuiKeyboard : public GuiWindow
|
|||||||
Key keys[4][11];
|
Key keys[4][11];
|
||||||
int shift;
|
int shift;
|
||||||
int caps;
|
int caps;
|
||||||
|
int alt;
|
||||||
|
int alt2;
|
||||||
GuiText * kbText;
|
GuiText * kbText;
|
||||||
GuiImage * keyTextboxImg;
|
GuiImage * keyTextboxImg;
|
||||||
GuiText * keyCapsText;
|
GuiText * keyCapsText;
|
||||||
GuiImage * keyCapsImg;
|
GuiImage * keyCapsImg;
|
||||||
GuiImage * keyCapsOverImg;
|
GuiImage * keyCapsOverImg;
|
||||||
GuiButton * keyCaps;
|
GuiButton * keyCaps;
|
||||||
|
GuiText * keyAltText;
|
||||||
|
GuiImage * keyAltImg;
|
||||||
|
GuiImage * keyAltOverImg;
|
||||||
|
GuiButton * keyAlt;
|
||||||
|
GuiText * keyAlt2Text;
|
||||||
|
GuiImage * keyAlt2Img;
|
||||||
|
GuiImage * keyAlt2OverImg;
|
||||||
|
GuiButton * keyAlt2;
|
||||||
GuiText * keyShiftText;
|
GuiText * keyShiftText;
|
||||||
GuiImage * keyShiftImg;
|
GuiImage * keyShiftImg;
|
||||||
GuiImage * keyShiftOverImg;
|
GuiImage * keyShiftOverImg;
|
||||||
|
@ -16,13 +16,17 @@
|
|||||||
*/
|
*/
|
||||||
extern const int vol;
|
extern const int vol;
|
||||||
unsigned int m;
|
unsigned int m;
|
||||||
GuiKeyboard::GuiKeyboard(char * t, u32 max, int min)
|
//const Key thekeys;
|
||||||
|
GuiKeyboard::GuiKeyboard(char * t, u32 max, int min, int lang)
|
||||||
{
|
{
|
||||||
width = 540;
|
width = 540;
|
||||||
height = 400;
|
height = 400;
|
||||||
shift = 0;
|
shift = 0;
|
||||||
caps = 0;
|
caps = 0;
|
||||||
|
alt = 0;
|
||||||
|
alt2 = 0;
|
||||||
m = min;
|
m = min;
|
||||||
|
int mode = lang;
|
||||||
selectable = true;
|
selectable = true;
|
||||||
focus = 0; // allow focus
|
focus = 0; // allow focus
|
||||||
alignmentHor = ALIGN_CENTRE;
|
alignmentHor = ALIGN_CENTRE;
|
||||||
@ -31,6 +35,8 @@ GuiKeyboard::GuiKeyboard(char * t, u32 max, int min)
|
|||||||
kbtextstr[max] = 0;
|
kbtextstr[max] = 0;
|
||||||
kbtextmaxlen = max;
|
kbtextmaxlen = max;
|
||||||
|
|
||||||
|
//QWERTY//
|
||||||
|
if (mode == 0){
|
||||||
Key thekeys[4][11] = {
|
Key thekeys[4][11] = {
|
||||||
{
|
{
|
||||||
{'1','!'},
|
{'1','!'},
|
||||||
@ -86,7 +92,123 @@ GuiKeyboard::GuiKeyboard(char * t, u32 max, int min)
|
|||||||
{'\0','\0'}
|
{'\0','\0'}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
memcpy(keys, thekeys, sizeof(thekeys));
|
|
||||||
|
memcpy(keys, thekeys, sizeof(thekeys));}
|
||||||
|
//DVORAK//
|
||||||
|
if (mode == 1){
|
||||||
|
Key thekeys[4][11] = {
|
||||||
|
{
|
||||||
|
{'1','!','\0'},
|
||||||
|
{'2','@','\0'},
|
||||||
|
{'3','#','\0'},
|
||||||
|
{'4','$','\0'},
|
||||||
|
{'5','%','\0'},
|
||||||
|
{'6','^','\0'},
|
||||||
|
{'7','&','\0'},
|
||||||
|
{'8','*','\0'},
|
||||||
|
{'9','(','\0'},
|
||||||
|
{'0',')','\0'},
|
||||||
|
{'\0','\0','\0'}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
{'\'','"','\0'},
|
||||||
|
{',','<','\0'},
|
||||||
|
{'.','>','\0'},
|
||||||
|
{'p','P','\0'},
|
||||||
|
{'y','Y','\0'},
|
||||||
|
{'f','F','\0'},
|
||||||
|
{'g','G','\0'},
|
||||||
|
{'c','C','\0'},
|
||||||
|
{'r','R','\0'},
|
||||||
|
{'l','L','\0'},
|
||||||
|
{'/','?','\0'}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
{'a','A','m'},
|
||||||
|
{'o','O','m'},
|
||||||
|
{'e','E','m'},
|
||||||
|
{'u','U','m'},
|
||||||
|
{'i','I','m'},
|
||||||
|
{'d','D','m'},
|
||||||
|
{'h','H','m'},
|
||||||
|
{'t','T','m'},
|
||||||
|
{'n','N','m'},
|
||||||
|
{'s','S','m'},
|
||||||
|
{'-','_','m'}
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
{';',':','\0'},
|
||||||
|
{'q','Q','\0'},
|
||||||
|
{'j','J','\0'},
|
||||||
|
{'k','K','\0'},
|
||||||
|
{'x','X','\0'},
|
||||||
|
{'b','B','\0'},
|
||||||
|
{'m','M','\0'},
|
||||||
|
{'w','W','\0'},
|
||||||
|
{'v','V','\0'},
|
||||||
|
{'z','Z','\0'},
|
||||||
|
{'\0','\0','\0'}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
memcpy(keys, thekeys, sizeof(thekeys));}
|
||||||
|
//QWETRZ//
|
||||||
|
if (mode == 2){
|
||||||
|
Key thekeys[4][11] = {
|
||||||
|
{
|
||||||
|
{'1','!','^','À'},
|
||||||
|
{'2','"','²','à'},
|
||||||
|
{'3','#','³','È'},
|
||||||
|
{'4','$','«','è'},
|
||||||
|
{'5','%','»','Ì'},
|
||||||
|
{'6','&','„','ì'},
|
||||||
|
{'7','/','”','Ò'},
|
||||||
|
{'8','(','[','ò'},
|
||||||
|
{'9',')',']','Ù'},
|
||||||
|
{'0','=','§','ù'},
|
||||||
|
{'ß','?','\'','Ý'}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
{'q','Q','@','Á'},
|
||||||
|
{'w','W','\0','á'},
|
||||||
|
{'e','E','€','É'},
|
||||||
|
{'r','R','\0','é'},
|
||||||
|
{'t','T','\0','Í'},
|
||||||
|
{'z','Z','\0','í'},
|
||||||
|
{'u','U','\0','Ó'},
|
||||||
|
{'i','I','\0','ó'},
|
||||||
|
{'o','O','\0','Ú'},
|
||||||
|
{'p','P','\0','ú'},
|
||||||
|
{'ü','Ü','\0','ý'}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
{'a','A','\0','Â'},
|
||||||
|
{'s','S','\0','â'},
|
||||||
|
{'d','D','\0','Ê'},
|
||||||
|
{'f','F','\0','ê'},
|
||||||
|
{'g','G','\0','Î'},
|
||||||
|
{'h','H','\0','î'},
|
||||||
|
{'j','J','\0','Ô'},
|
||||||
|
{'k','K','\0','ô'},
|
||||||
|
{'l','L','\0','Û'},
|
||||||
|
{'ö','Ö','\0','û'},
|
||||||
|
{'ä','Ä','\0','Ÿ'}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
{'<','>','|','Ã'},
|
||||||
|
{'y','Y','\0','ã'},
|
||||||
|
{'x','X','\0','Ñ'},
|
||||||
|
{'c','C','ç','ñ'},
|
||||||
|
{'v','V','©','Ï'},
|
||||||
|
{'b','B','\0','ï'},
|
||||||
|
{'n','N','\0','Õ'},
|
||||||
|
{'m','M','\0','õ'},
|
||||||
|
{',',';','µ','ÿ'},
|
||||||
|
{'.',':','\0','\0'},
|
||||||
|
{'-','_','\0','\0'}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
memcpy(keys, thekeys, sizeof(thekeys));}
|
||||||
|
|
||||||
keyTextbox = new GuiImageData(keyboard_textbox_png);
|
keyTextbox = new GuiImageData(keyboard_textbox_png);
|
||||||
keyTextboxImg = new GuiImage(keyTextbox);
|
keyTextboxImg = new GuiImage(keyTextbox);
|
||||||
@ -124,7 +246,10 @@ GuiKeyboard::GuiKeyboard(char * t, u32 max, int min)
|
|||||||
keyBack->SetSoundClick(keySoundClick);
|
keyBack->SetSoundClick(keySoundClick);
|
||||||
keyBack->SetTrigger(trigA);
|
keyBack->SetTrigger(trigA);
|
||||||
keyBack->SetTrigger(trigB);
|
keyBack->SetTrigger(trigB);
|
||||||
keyBack->SetPosition(10*42+40, 0*42+120);//(10*42+40, 0*42+80);
|
if (mode == 2){
|
||||||
|
keyBack->SetPosition(11*42+40, 0*42+120);}
|
||||||
|
else{
|
||||||
|
keyBack->SetPosition(10*42+40, 0*42+120);}//(10*42+40, 0*42+80);
|
||||||
keyBack->SetEffectGrow();
|
keyBack->SetEffectGrow();
|
||||||
this->Append(keyBack);
|
this->Append(keyBack);
|
||||||
|
|
||||||
@ -142,6 +267,34 @@ GuiKeyboard::GuiKeyboard(char * t, u32 max, int min)
|
|||||||
keyClear->SetEffectGrow();
|
keyClear->SetEffectGrow();
|
||||||
this->Append(keyClear);
|
this->Append(keyClear);
|
||||||
|
|
||||||
|
keyAltImg = new GuiImage(keyMedium);
|
||||||
|
keyAltOverImg = new GuiImage(keyMediumOver);
|
||||||
|
keyAltText = new GuiText("Alt Gr", 20, (GXColor){0, 0, 0, 0xff});
|
||||||
|
keyAlt = new GuiButton(keyMedium->GetWidth(), keyMedium->GetHeight());
|
||||||
|
keyAlt->SetImage(keyAltImg);
|
||||||
|
keyAlt->SetImageOver(keyAltOverImg);
|
||||||
|
keyAlt->SetLabel(keyAltText);
|
||||||
|
keyAlt->SetSoundOver(keySoundOver);
|
||||||
|
keyAlt->SetSoundClick(keySoundClick);
|
||||||
|
keyAlt->SetTrigger(trigA);
|
||||||
|
keyAlt->SetPosition(84, 4*42+120);//(10*42+40, 4*42+120);
|
||||||
|
keyAlt->SetEffectGrow();
|
||||||
|
if (mode == 2){this->Append(keyAlt);}
|
||||||
|
|
||||||
|
keyAlt2Img = new GuiImage(keyMedium);
|
||||||
|
keyAlt2OverImg = new GuiImage(keyMediumOver);
|
||||||
|
keyAlt2Text = new GuiText("Accent", 20, (GXColor){0, 0, 0, 0xff});
|
||||||
|
keyAlt2 = new GuiButton(keyMedium->GetWidth(), keyMedium->GetHeight());
|
||||||
|
keyAlt2->SetImage(keyAlt2Img);
|
||||||
|
keyAlt2->SetImageOver(keyAlt2OverImg);
|
||||||
|
keyAlt2->SetLabel(keyAlt2Text);
|
||||||
|
keyAlt2->SetSoundOver(keySoundOver);
|
||||||
|
keyAlt2->SetSoundClick(keySoundClick);
|
||||||
|
keyAlt2->SetTrigger(trigA);
|
||||||
|
keyAlt2->SetPosition(8*42+40, 4*42+120);//(10*42+40, 4*42+120);
|
||||||
|
keyAlt2->SetEffectGrow();
|
||||||
|
if (mode == 2){this->Append(keyAlt2);}
|
||||||
|
|
||||||
keyCapsImg = new GuiImage(keyMedium);
|
keyCapsImg = new GuiImage(keyMedium);
|
||||||
keyCapsOverImg = new GuiImage(keyMediumOver);
|
keyCapsOverImg = new GuiImage(keyMediumOver);
|
||||||
keyCapsText = new GuiText("Caps", 20, (GXColor){0, 0, 0, 0xff});
|
keyCapsText = new GuiText("Caps", 20, (GXColor){0, 0, 0, 0xff});
|
||||||
@ -225,6 +378,10 @@ GuiKeyboard::~GuiKeyboard()
|
|||||||
delete keyShiftImg;
|
delete keyShiftImg;
|
||||||
delete keyShiftOverImg;
|
delete keyShiftOverImg;
|
||||||
delete keyShift;
|
delete keyShift;
|
||||||
|
if (keyAlt)
|
||||||
|
{delete keyAlt;}
|
||||||
|
if (keyAlt2)
|
||||||
|
{delete keyAlt2;}
|
||||||
delete keyBackText;
|
delete keyBackText;
|
||||||
delete keyBackImg;
|
delete keyBackImg;
|
||||||
delete keyBackOverImg;
|
delete keyBackOverImg;
|
||||||
@ -297,8 +454,24 @@ void GuiKeyboard::Update(GuiTrigger * t)
|
|||||||
else if(keyShift->GetState() == STATE_CLICKED)
|
else if(keyShift->GetState() == STATE_CLICKED)
|
||||||
{
|
{
|
||||||
shift ^= 1;
|
shift ^= 1;
|
||||||
|
if(alt) alt ^= 1;
|
||||||
|
if(alt2) alt2 ^= 1;
|
||||||
keyShift->SetState(STATE_SELECTED, t->chan);
|
keyShift->SetState(STATE_SELECTED, t->chan);
|
||||||
}
|
}
|
||||||
|
else if(keyAlt->GetState() == STATE_CLICKED)
|
||||||
|
{
|
||||||
|
alt ^= 1;
|
||||||
|
if(shift) shift ^= 1;
|
||||||
|
if(alt2) alt2 ^= 1;
|
||||||
|
keyAlt->SetState(STATE_SELECTED, t->chan);
|
||||||
|
}
|
||||||
|
else if(keyAlt2->GetState() == STATE_CLICKED)
|
||||||
|
{
|
||||||
|
alt2 ^= 1;
|
||||||
|
if(shift) shift ^= 1;
|
||||||
|
if(alt) alt ^= 1;
|
||||||
|
keyAlt2->SetState(STATE_SELECTED, t->chan);
|
||||||
|
}
|
||||||
else if(keyCaps->GetState() == STATE_CLICKED)
|
else if(keyCaps->GetState() == STATE_CLICKED)
|
||||||
{
|
{
|
||||||
caps ^= 1;
|
caps ^= 1;
|
||||||
@ -315,6 +488,10 @@ void GuiKeyboard::Update(GuiTrigger * t)
|
|||||||
{
|
{
|
||||||
if(shift || caps)
|
if(shift || caps)
|
||||||
txt[0] = keys[i][j].chShift;
|
txt[0] = keys[i][j].chShift;
|
||||||
|
else if(alt)
|
||||||
|
txt[0] = keys[i][j].chalt;
|
||||||
|
else if(alt2)
|
||||||
|
txt[0] = keys[i][j].chalt2;
|
||||||
else
|
else
|
||||||
txt[0] = keys[i][j].ch;
|
txt[0] = keys[i][j].ch;
|
||||||
|
|
||||||
@ -328,6 +505,22 @@ void GuiKeyboard::Update(GuiTrigger * t)
|
|||||||
{
|
{
|
||||||
kbtextstr[strlen(kbtextstr)] = keys[i][j].chShift;
|
kbtextstr[strlen(kbtextstr)] = keys[i][j].chShift;
|
||||||
if(shift) shift ^= 1;
|
if(shift) shift ^= 1;
|
||||||
|
if(alt) alt ^= 1;
|
||||||
|
if(alt2) alt2 ^= 1;
|
||||||
|
}
|
||||||
|
else if(alt)
|
||||||
|
{
|
||||||
|
kbtextstr[strlen(kbtextstr)] = keys[i][j].chalt;
|
||||||
|
if(shift) shift ^= 1;
|
||||||
|
if(alt) alt ^= 1;
|
||||||
|
if(alt2) alt2 ^= 1;
|
||||||
|
}
|
||||||
|
else if(alt2)
|
||||||
|
{
|
||||||
|
kbtextstr[strlen(kbtextstr)] = keys[i][j].chalt2;
|
||||||
|
if(shift) shift ^= 1;
|
||||||
|
if(alt) alt ^= 1;
|
||||||
|
if(alt2) alt2 ^= 1;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -278,11 +278,25 @@ static void WindowCredits(void * ptr)
|
|||||||
txt[i] = new GuiText("Fishears/Nuke Ocarina & WiiPower Vidpatch");
|
txt[i] = new GuiText("Fishears/Nuke Ocarina & WiiPower Vidpatch");
|
||||||
txt[i]->SetAlignment(ALIGN_CENTRE, ALIGN_TOP); txt[i]->SetPosition(0,y);
|
txt[i]->SetAlignment(ALIGN_CENTRE, ALIGN_TOP); txt[i]->SetPosition(0,y);
|
||||||
i++;
|
i++;
|
||||||
|
|
||||||
txt[i] = new GuiText(LANGUAGE.For);
|
txt[i] = new GuiText(LANGUAGE.For);
|
||||||
txt[i]->SetAlignment(ALIGN_CENTRE, ALIGN_TOP); txt[i]->SetPosition(-80,y);
|
txt[i]->SetAlignment(ALIGN_CENTRE, ALIGN_TOP); txt[i]->SetPosition(-80,y);
|
||||||
|
char* pch;
|
||||||
|
char* pch2;
|
||||||
|
|
||||||
|
pch=strrchr((LANGUAGE.For),'_');
|
||||||
|
pch2=strrchr((LANGUAGE.For),'p');
|
||||||
|
|
||||||
|
if ((pch!=NULL)||(pch2!=NULL)){txt[i]->SetPosition(-80, y+5);}
|
||||||
|
else {txt[i]->SetPosition(-80, y);}
|
||||||
i++;
|
i++;
|
||||||
txt[i] = new GuiText(LANGUAGE.For);
|
txt[i] = new GuiText(LANGUAGE.For);
|
||||||
txt[i]->SetAlignment(ALIGN_CENTRE, ALIGN_TOP); txt[i]->SetPosition(130,y);
|
txt[i]->SetAlignment(ALIGN_CENTRE, ALIGN_TOP); txt[i]->SetPosition(130,y);
|
||||||
|
pch=strrchr((LANGUAGE.For),'_');
|
||||||
|
pch2=strrchr((LANGUAGE.For),'p');
|
||||||
|
|
||||||
|
if ((pch!=NULL)||(pch2!=NULL)){txt[i]->SetPosition(130, y+5);}
|
||||||
|
else {txt[i]->SetPosition(130, y);}
|
||||||
i++;
|
i++;
|
||||||
|
|
||||||
y+=22;
|
y+=22;
|
||||||
@ -291,7 +305,9 @@ static void WindowCredits(void * ptr)
|
|||||||
txt[i]->SetAlignment(ALIGN_CENTRE, ALIGN_TOP); txt[i]->SetPosition(0,y);
|
txt[i]->SetAlignment(ALIGN_CENTRE, ALIGN_TOP); txt[i]->SetPosition(0,y);
|
||||||
i++;
|
i++;
|
||||||
txt[i] = new GuiText(LANGUAGE.For);
|
txt[i] = new GuiText(LANGUAGE.For);
|
||||||
txt[i]->SetAlignment(ALIGN_CENTRE, ALIGN_TOP); txt[i]->SetPosition(-3,y);
|
txt[i]->SetAlignment(ALIGN_CENTRE, ALIGN_TOP); //txt[i]->SetPosition(-3,y);
|
||||||
|
if ((pch!=NULL)||(pch2!=NULL)){txt[i]->SetPosition(-3, y+5);}
|
||||||
|
else {txt[i]->SetPosition(-3, y);}
|
||||||
i++;
|
i++;
|
||||||
y+=22;
|
y+=22;
|
||||||
|
|
||||||
@ -300,6 +316,8 @@ static void WindowCredits(void * ptr)
|
|||||||
i++;
|
i++;
|
||||||
txt[i] = new GuiText(LANGUAGE.For);
|
txt[i] = new GuiText(LANGUAGE.For);
|
||||||
txt[i]->SetAlignment(ALIGN_CENTRE, ALIGN_TOP); txt[i]->SetPosition(30,y);
|
txt[i]->SetAlignment(ALIGN_CENTRE, ALIGN_TOP); txt[i]->SetPosition(30,y);
|
||||||
|
if ((pch!=NULL)||(pch2!=NULL)){txt[i]->SetPosition(30, y+5);}
|
||||||
|
else {txt[i]->SetPosition(30, y);}
|
||||||
i++;
|
i++;
|
||||||
y+=22;
|
y+=22;
|
||||||
|
|
||||||
@ -1899,8 +1917,12 @@ err:
|
|||||||
static int OnScreenKeyboard(char * var, u32 maxlen, int min)
|
static int OnScreenKeyboard(char * var, u32 maxlen, int min)
|
||||||
{
|
{
|
||||||
int save = -1;
|
int save = -1;
|
||||||
|
int keyset = 0;
|
||||||
|
if (Settings.keyset == us) keyset = 0;
|
||||||
|
else if (Settings.keyset == dvorak) keyset = 1;
|
||||||
|
else if (Settings.keyset == euro) keyset = 2;
|
||||||
|
|
||||||
GuiKeyboard keyboard(var, maxlen, min);
|
GuiKeyboard keyboard(var, maxlen, min, keyset);
|
||||||
|
|
||||||
GuiSound btnSoundOver(button_over_pcm, button_over_pcm_size, SOUND_PCM, vol);
|
GuiSound btnSoundOver(button_over_pcm, button_over_pcm_size, SOUND_PCM, vol);
|
||||||
GuiSound btnClick(button_click2_pcm, button_click2_pcm_size, SOUND_PCM, vol);
|
GuiSound btnClick(button_click2_pcm, button_click2_pcm_size, SOUND_PCM, vol);
|
||||||
@ -3513,10 +3535,13 @@ static int MenuSettings()
|
|||||||
menu = MENU_NONE;
|
menu = MENU_NONE;
|
||||||
if ( pageToDisplay == 1)
|
if ( pageToDisplay == 1)
|
||||||
{
|
{
|
||||||
sprintf(options2.name[0],"%s", LANGUAGE.VideoMode);
|
|
||||||
sprintf(options2.name[1],"%s", LANGUAGE.VIDTVPatch);
|
sprintf(options2.name[0], "%s",LANGUAGE.VideoMode);
|
||||||
sprintf(options2.name[2],"%s", LANGUAGE.Language);
|
sprintf(options2.name[1], "%s",LANGUAGE.VIDTVPatch);
|
||||||
|
sprintf(options2.name[2], "%s",LANGUAGE.Language);
|
||||||
|
|
||||||
sprintf(options2.name[3], "Ocarina");
|
sprintf(options2.name[3], "Ocarina");
|
||||||
|
|
||||||
sprintf(options2.name[4],"%s", LANGUAGE.Display);
|
sprintf(options2.name[4],"%s", LANGUAGE.Display);
|
||||||
sprintf(options2.name[5],"%s", LANGUAGE.Clock); //CLOCK
|
sprintf(options2.name[5],"%s", LANGUAGE.Clock); //CLOCK
|
||||||
sprintf(options2.name[6],"%s", LANGUAGE.Rumble); //RUMBLE
|
sprintf(options2.name[6],"%s", LANGUAGE.Rumble); //RUMBLE
|
||||||
@ -3579,6 +3604,7 @@ static int MenuSettings()
|
|||||||
sprintf(options2.name[7],"%s", LANGUAGE.DiscimagePath);
|
sprintf(options2.name[7],"%s", LANGUAGE.DiscimagePath);
|
||||||
sprintf(options2.name[8],"%s", LANGUAGE.ThemePath);
|
sprintf(options2.name[8],"%s", LANGUAGE.ThemePath);
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
else if ( pageToDisplay == 3 )
|
else if ( pageToDisplay == 3 )
|
||||||
{
|
{
|
||||||
@ -3598,9 +3624,10 @@ static int MenuSettings()
|
|||||||
mainWindow->Append(&page1Btn);
|
mainWindow->Append(&page1Btn);
|
||||||
mainWindow->Append(&page3Btn);
|
mainWindow->Append(&page3Btn);
|
||||||
|
|
||||||
sprintf(options2.name[0],"%s", LANGUAGE.MP3Menu);
|
|
||||||
sprintf(options2.name[1],"%s", LANGUAGE.AppLanguage);
|
sprintf(options2.name[0], "%s",LANGUAGE.MP3Menu);
|
||||||
sprintf(options2.name[2], " ");
|
sprintf(options2.name[1], "%s",LANGUAGE.AppLanguage);
|
||||||
|
sprintf(options2.name[2], "%s", LANGUAGE.keyboard);
|
||||||
sprintf(options2.name[3], "Under");
|
sprintf(options2.name[3], "Under");
|
||||||
sprintf(options2.name[4], "Construction");
|
sprintf(options2.name[4], "Construction");
|
||||||
sprintf(options2.name[5], " ");
|
sprintf(options2.name[5], " ");
|
||||||
@ -3643,9 +3670,14 @@ static int MenuSettings()
|
|||||||
else if (Settings.video == pal60) sprintf (options2.value[0],"%s PAL60",LANGUAGE.Force);
|
else if (Settings.video == pal60) sprintf (options2.value[0],"%s PAL60",LANGUAGE.Force);
|
||||||
else if (Settings.video == ntsc) sprintf (options2.value[0],"%s NTSC",LANGUAGE.Force);
|
else if (Settings.video == ntsc) sprintf (options2.value[0],"%s NTSC",LANGUAGE.Force);
|
||||||
|
|
||||||
|
//if (Settings.vpatch == on) sprintf (options2.value[1],"%s",LANGUAGE.ON);
|
||||||
|
//else if (Settings.vpatch == off) sprintf (options2.value[1],"%s",LANGUAGE.OFF);
|
||||||
|
|
||||||
if (Settings.vpatch == on) sprintf (options2.value[1],"%s",LANGUAGE.ON);
|
if (Settings.vpatch == on) sprintf (options2.value[1],"%s",LANGUAGE.ON);
|
||||||
else if (Settings.vpatch == off) sprintf (options2.value[1],"%s",LANGUAGE.OFF);
|
else if (Settings.vpatch == off) sprintf (options2.value[1],"%s",LANGUAGE.OFF);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if (Settings.language == ConsoleLangDefault) sprintf (options2.value[2],"%s",LANGUAGE.ConsoleDefault);
|
if (Settings.language == ConsoleLangDefault) sprintf (options2.value[2],"%s",LANGUAGE.ConsoleDefault);
|
||||||
else if (Settings.language == jap) sprintf (options2.value[2],"%s",LANGUAGE.Japanese);
|
else if (Settings.language == jap) sprintf (options2.value[2],"%s",LANGUAGE.Japanese);
|
||||||
else if (Settings.language == ger) sprintf (options2.value[2],"%s",LANGUAGE.German);
|
else if (Settings.language == ger) sprintf (options2.value[2],"%s",LANGUAGE.German);
|
||||||
@ -3993,6 +4025,12 @@ static int MenuSettings()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (pageToDisplay == 3){
|
if (pageToDisplay == 3){
|
||||||
|
|
||||||
|
|
||||||
|
if ( Settings.keyset > 2 )
|
||||||
|
Settings.keyset = 0;
|
||||||
|
|
||||||
|
|
||||||
sprintf(options2.value[0], " ");
|
sprintf(options2.value[0], " ");
|
||||||
|
|
||||||
if (strlen(CFG.language_path) < (9 + 3)) {
|
if (strlen(CFG.language_path) < (9 + 3)) {
|
||||||
@ -4004,7 +4042,11 @@ static int MenuSettings()
|
|||||||
}
|
}
|
||||||
sprintf(options2.value[1], "%s", cfgtext);
|
sprintf(options2.value[1], "%s", cfgtext);
|
||||||
|
|
||||||
sprintf(options2.value[2], " ");
|
|
||||||
|
if (Settings.keyset == us) sprintf (options2.value[2],"QWERTY");
|
||||||
|
else if (Settings.keyset == dvorak) sprintf (options2.value[2],"DVORAK");
|
||||||
|
else if (Settings.keyset == euro) sprintf (options2.value[2],"QWERTZ");
|
||||||
|
|
||||||
sprintf(options2.value[3], " ");
|
sprintf(options2.value[3], " ");
|
||||||
sprintf(options2.value[4], " ");
|
sprintf(options2.value[4], " ");
|
||||||
sprintf(options2.value[5], " ");
|
sprintf(options2.value[5], " ");
|
||||||
@ -4062,6 +4104,11 @@ static int MenuSettings()
|
|||||||
WindowPrompt(LANGUAGE.Langchange,LANGUAGE.Consoleshouldbeunlockedtomodifyit,LANGUAGE.ok,0,0,0);
|
WindowPrompt(LANGUAGE.Langchange,LANGUAGE.Consoleshouldbeunlockedtomodifyit,LANGUAGE.ok,0,0,0);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
case 2:
|
||||||
|
Settings.keyset++;
|
||||||
|
break;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user