mirror of
https://github.com/RPCSX/rpcsx.git
synced 2025-12-06 07:12:14 +01:00
* minor coding style adjustment * Qt: simplify osk dialog buttons * replace std::find_if with convenience functions * RSX: use sv in swizzle comparison idk, I'll remove this if it was intentional. * overlays/osk: rename enter to return This one confused me and make me look for a bug that caused the "enter" key to be disabled, while it was actually the return key (obviously xD).
1187 lines
55 KiB
C++
1187 lines
55 KiB
C++
#include "stdafx.h"
|
||
#include "overlay_osk_panel.h"
|
||
|
||
namespace rsx
|
||
{
|
||
namespace overlays
|
||
{
|
||
osk_panel::osk_panel(u32 panel_mode)
|
||
{
|
||
osk_panel_mode = panel_mode;
|
||
|
||
// TODO: Use proper translations for Space/Backspace/Return etc. and make sure they fit in the grid.
|
||
switch (panel_mode)
|
||
{
|
||
case CELL_OSKDIALOG_PANELMODE_DEFAULT:
|
||
case CELL_OSKDIALOG_PANELMODE_GERMAN:
|
||
case CELL_OSKDIALOG_PANELMODE_ENGLISH:
|
||
case CELL_OSKDIALOG_PANELMODE_SPANISH:
|
||
case CELL_OSKDIALOG_PANELMODE_FRENCH:
|
||
case CELL_OSKDIALOG_PANELMODE_ITALIAN:
|
||
case CELL_OSKDIALOG_PANELMODE_DUTCH:
|
||
case CELL_OSKDIALOG_PANELMODE_PORTUGUESE:
|
||
case CELL_OSKDIALOG_PANELMODE_RUSSIAN:
|
||
case CELL_OSKDIALOG_PANELMODE_JAPANESE:
|
||
case CELL_OSKDIALOG_PANELMODE_DEFAULT_NO_JAPANESE:
|
||
case CELL_OSKDIALOG_PANELMODE_POLISH:
|
||
case CELL_OSKDIALOG_PANELMODE_KOREAN:
|
||
case CELL_OSKDIALOG_PANELMODE_TURKEY:
|
||
case CELL_OSKDIALOG_PANELMODE_TRADITIONAL_CHINESE:
|
||
case CELL_OSKDIALOG_PANELMODE_SIMPLIFIED_CHINESE:
|
||
case CELL_OSKDIALOG_PANELMODE_PORTUGUESE_BRAZIL:
|
||
case CELL_OSKDIALOG_PANELMODE_DANISH:
|
||
case CELL_OSKDIALOG_PANELMODE_SWEDISH:
|
||
case CELL_OSKDIALOG_PANELMODE_NORWEGIAN:
|
||
case CELL_OSKDIALOG_PANELMODE_FINNISH:
|
||
case CELL_OSKDIALOG_PANELMODE_JAPANESE_HIRAGANA:
|
||
case CELL_OSKDIALOG_PANELMODE_JAPANESE_KATAKANA:
|
||
case CELL_OSKDIALOG_PANELMODE_ALPHABET_FULL_WIDTH:
|
||
case CELL_OSKDIALOG_PANELMODE_ALPHABET:
|
||
case CELL_OSKDIALOG_PANELMODE_LATIN:
|
||
case CELL_OSKDIALOG_PANELMODE_NUMERAL_FULL_WIDTH:
|
||
case CELL_OSKDIALOG_PANELMODE_NUMERAL:
|
||
case CELL_OSKDIALOG_PANELMODE_URL:
|
||
case CELL_OSKDIALOG_PANELMODE_PASSWORD:
|
||
default:
|
||
{
|
||
space = U"Space";
|
||
backspace = U"Backspace";
|
||
enter = U"Return";
|
||
}
|
||
}
|
||
}
|
||
|
||
// Language specific implementations
|
||
|
||
// TODO: Check and adjust special characters for each panel
|
||
|
||
osk_panel_latin::osk_panel_latin(callback_t shift_cb, callback_t layer_cb, callback_t space_cb, callback_t delete_cb, callback_t enter_cb, u32 osk_panel_mode)
|
||
: osk_panel(osk_panel_mode)
|
||
{
|
||
num_rows = 5;
|
||
num_columns = 10;
|
||
cell_size_x = 50;
|
||
cell_size_y = 40;
|
||
|
||
layout =
|
||
{
|
||
// Row 1
|
||
{{{U"1", U"!"}, {U"à", U"À"}, {U"!", U"¡"}}, default_bg, 1},
|
||
{{{U"2", U"@"}, {U"á", U"Á"}, {U"?", U"¿"}}, default_bg, 1},
|
||
{{{U"3", U"#"}, {U"â", U"Â"}, {U"#", U"~"}}, default_bg, 1},
|
||
{{{U"4", U"$"}, {U"ã", U"Ã"}, {U"$", U"„"}}, default_bg, 1},
|
||
{{{U"5", U"%"}, {U"ä", U"Ä"}, {U"%", U"´"}}, default_bg, 1},
|
||
{{{U"6", U"^"}, {U"å", U"Å"}, {U"&", U"‘"}}, default_bg, 1},
|
||
{{{U"7", U"&"}, {U"æ", U"Æ"}, {U"'", U"’"}}, default_bg, 1},
|
||
{{{U"8", U"*"}, {U"ç", U"Ç"}, {U"(", U"‚"}}, default_bg, 1},
|
||
{{{U"9", U"("}, {U"[", U"<"}, {U")", U"“"}}, default_bg, 1},
|
||
{{{U"0", U")"}, {U"]", U">"}, {U"*", U"”"}}, default_bg, 1},
|
||
|
||
// Row 2
|
||
{{{U"q", U"Q"}, {U"è", U"È"}, {U"/", U"¤"}}, default_bg, 1},
|
||
{{{U"w", U"W"}, {U"é", U"É"}, {U"\\", U"¢"}}, default_bg, 1},
|
||
{{{U"e", U"E"}, {U"ê", U"Ê"}, {U"[", U"€"}}, default_bg, 1},
|
||
{{{U"r", U"R"}, {U"ë", U"Ë"}, {U"]", U"£"}}, default_bg, 1},
|
||
{{{U"t", U"T"}, {U"ì", U"Ì"}, {U"^", U"¥"}}, default_bg, 1},
|
||
{{{U"y", U"Y"}, {U"í", U"Í"}, {U"_", U"§"}}, default_bg, 1},
|
||
{{{U"u", U"U"}, {U"î", U"Î"}, {U"`", U"¦"}}, default_bg, 1},
|
||
{{{U"i", U"I"}, {U"ï", U"Ï"}, {U"{", U"µ"}}, default_bg, 1},
|
||
{{{U"o", U"O"}, {U";", U"="}, {U"}", U""}}, default_bg, 1},
|
||
{{{U"p", U"P"}, {U":", U"+"}, {U"|", U""}}, default_bg, 1},
|
||
|
||
// Row 3
|
||
{{{U"a", U"A"}, {U"ñ", U"Ñ"}, {U"@", U""}}, default_bg, 1},
|
||
{{{U"s", U"S"}, {U"ò", U"Ò"}, {U"°", U""}}, default_bg, 1},
|
||
{{{U"d", U"D"}, {U"ó", U"Ó"}, {U"‹", U""}}, default_bg, 1},
|
||
{{{U"f", U"F"}, {U"ô", U"Ô"}, {U"›", U""}}, default_bg, 1},
|
||
{{{U"g", U"G"}, {U"õ", U"Õ"}, {U"«", U""}}, default_bg, 1},
|
||
{{{U"h", U"H"}, {U"ö", U"Ö"}, {U"»", U""}}, default_bg, 1},
|
||
{{{U"j", U"J"}, {U"ø", U"Ø"}, {U"ª", U""}}, default_bg, 1},
|
||
{{{U"k", U"K"}, {U"œ", U"Œ"}, {U"º", U""}}, default_bg, 1},
|
||
{{{U"l", U"L"}, {U"`", U"~"}, {U"×", U""}}, default_bg, 1},
|
||
{{{U"'", U"\""}, {U"¡", U"\""}, {U"÷", U""}}, default_bg, 1},
|
||
|
||
// Row 4
|
||
{{{U"z", U"Z"}, {U"ß", U"ß"}, {U"+", U""}}, default_bg, 1},
|
||
{{{U"x", U"X"}, {U"ù", U"Ù"}, {U",", U""}}, default_bg, 1},
|
||
{{{U"c", U"C"}, {U"ú", U"Ú"}, {U"-", U""}}, default_bg, 1},
|
||
{{{U"v", U"V"}, {U"û", U"Û"}, {U".", U""}}, default_bg, 1},
|
||
{{{U"b", U"B"}, {U"ü", U"Ü"}, {U"\"", U""}}, default_bg, 1},
|
||
{{{U"n", U"N"}, {U"ý", U"Ý"}, {U":", U""}}, default_bg, 1},
|
||
{{{U"m", U"M"}, {U"ÿ", U"Ÿ"}, {U";", U""}}, default_bg, 1},
|
||
{{{U",", U"-"}, {U",", U"-"}, {U"<", U""}}, default_bg, 1},
|
||
{{{U".", U"_"}, {U".", U"_"}, {U"=", U""}}, default_bg, 1},
|
||
{{{U"?", U"/"}, {U"¿", U"/"}, {U">", U""}}, default_bg, 1},
|
||
|
||
// Control
|
||
{{{U"A/a"}, {U"À/à"}, {U"!/¡"}}, special2_bg, 2, button_flags::_shift, shift_cb },
|
||
{{{U"ÖÑß"}, {U"@#:"}, {U"ABC"}}, special2_bg, 2, button_flags::_layer, layer_cb },
|
||
{{{space}, {space}, {space}}, special_bg, 2, button_flags::_space, space_cb },
|
||
{{{backspace}, {backspace}, {backspace}}, special_bg, 2, button_flags::_default, delete_cb },
|
||
{{{enter}, {enter}, {enter}}, special2_bg, 2, button_flags::_return, enter_cb },
|
||
};
|
||
}
|
||
|
||
osk_panel_english::osk_panel_english(callback_t shift_cb, callback_t layer_cb, callback_t space_cb, callback_t delete_cb, callback_t enter_cb)
|
||
: osk_panel_latin(shift_cb, layer_cb, space_cb, delete_cb, enter_cb, CELL_OSKDIALOG_PANELMODE_ENGLISH)
|
||
{
|
||
// English and latin should be mostly the same.
|
||
}
|
||
|
||
osk_panel_spanish::osk_panel_spanish(callback_t shift_cb, callback_t layer_cb, callback_t space_cb, callback_t delete_cb, callback_t enter_cb)
|
||
: osk_panel_latin(shift_cb, layer_cb, space_cb, delete_cb, enter_cb, CELL_OSKDIALOG_PANELMODE_SPANISH)
|
||
{
|
||
// Spanish and latin should be mostly the same. Only the translation for the controls should be different.
|
||
}
|
||
|
||
osk_panel_italian::osk_panel_italian(callback_t shift_cb, callback_t layer_cb, callback_t space_cb, callback_t delete_cb, callback_t enter_cb)
|
||
: osk_panel_latin(shift_cb, layer_cb, space_cb, delete_cb, enter_cb, CELL_OSKDIALOG_PANELMODE_ITALIAN)
|
||
{
|
||
// Italian and latin should be mostly the same. Only the translation for the controls should be different.
|
||
}
|
||
|
||
osk_panel_danish::osk_panel_danish(callback_t shift_cb, callback_t layer_cb, callback_t space_cb, callback_t delete_cb, callback_t enter_cb)
|
||
: osk_panel_latin(shift_cb, layer_cb, space_cb, delete_cb, enter_cb, CELL_OSKDIALOG_PANELMODE_DANISH)
|
||
{
|
||
// Danish and latin should be mostly the same. Only the translation for the controls should be different.
|
||
}
|
||
|
||
osk_panel_norwegian::osk_panel_norwegian(callback_t shift_cb, callback_t layer_cb, callback_t space_cb, callback_t delete_cb, callback_t enter_cb)
|
||
: osk_panel_latin(shift_cb, layer_cb, space_cb, delete_cb, enter_cb, CELL_OSKDIALOG_PANELMODE_NORWEGIAN)
|
||
{
|
||
// Norwegian and latin should be mostly the same. Only the translation for the controls should be different.
|
||
}
|
||
|
||
osk_panel_dutch::osk_panel_dutch(callback_t shift_cb, callback_t layer_cb, callback_t space_cb, callback_t delete_cb, callback_t enter_cb)
|
||
: osk_panel_latin(shift_cb, layer_cb, space_cb, delete_cb, enter_cb, CELL_OSKDIALOG_PANELMODE_DUTCH)
|
||
{
|
||
// Dutch and latin should be mostly the same. Only the translation for the controls should be different.
|
||
}
|
||
|
||
osk_panel_swedish::osk_panel_swedish(callback_t shift_cb, callback_t layer_cb, callback_t space_cb, callback_t delete_cb, callback_t enter_cb)
|
||
: osk_panel_latin(shift_cb, layer_cb, space_cb, delete_cb, enter_cb, CELL_OSKDIALOG_PANELMODE_SWEDISH)
|
||
{
|
||
// Swedish and latin should be mostly the same. Only the translation for the controls should be different.
|
||
}
|
||
|
||
osk_panel_finnish::osk_panel_finnish(callback_t shift_cb, callback_t layer_cb, callback_t space_cb, callback_t delete_cb, callback_t enter_cb)
|
||
: osk_panel_latin(shift_cb, layer_cb, space_cb, delete_cb, enter_cb, CELL_OSKDIALOG_PANELMODE_FINNISH)
|
||
{
|
||
// Finnish and latin should be mostly the same. Only the translation for the controls should be different.
|
||
}
|
||
|
||
osk_panel_portuguese_pt::osk_panel_portuguese_pt(callback_t shift_cb, callback_t layer_cb, callback_t space_cb, callback_t delete_cb, callback_t enter_cb)
|
||
: osk_panel_latin(shift_cb, layer_cb, space_cb, delete_cb, enter_cb, CELL_OSKDIALOG_PANELMODE_PORTUGUESE)
|
||
{
|
||
// Portuguese (Portugal) and latin should be mostly the same. Only the translation for the controls should be different.
|
||
}
|
||
|
||
osk_panel_portuguese_br::osk_panel_portuguese_br(callback_t shift_cb, callback_t layer_cb, callback_t space_cb, callback_t delete_cb, callback_t enter_cb)
|
||
: osk_panel_latin(shift_cb, layer_cb, space_cb, delete_cb, enter_cb, CELL_OSKDIALOG_PANELMODE_PORTUGUESE_BRAZIL)
|
||
{
|
||
// Portuguese (Brazil) and latin should be mostly the same. Only the translation for the controls should be different.
|
||
}
|
||
|
||
osk_panel_french::osk_panel_french(callback_t shift_cb, callback_t layer_cb, callback_t space_cb, callback_t delete_cb, callback_t enter_cb)
|
||
: osk_panel(CELL_OSKDIALOG_PANELMODE_FRENCH)
|
||
{
|
||
num_rows = 5;
|
||
num_columns = 10;
|
||
cell_size_x = 50;
|
||
cell_size_y = 40;
|
||
|
||
layout =
|
||
{
|
||
// Row 1
|
||
{{{U"1", U"!"}, {U"à", U"À"}, {U"!", U"¡"}}, default_bg, 1},
|
||
{{{U"2", U"@"}, {U"á", U"Á"}, {U"?", U"¿"}}, default_bg, 1},
|
||
{{{U"3", U"#"}, {U"â", U"Â"}, {U"#", U"~"}}, default_bg, 1},
|
||
{{{U"4", U"$"}, {U"ã", U"Ã"}, {U"$", U"„"}}, default_bg, 1},
|
||
{{{U"5", U"%"}, {U"ä", U"Ä"}, {U"%", U"´"}}, default_bg, 1},
|
||
{{{U"6", U"^"}, {U"å", U"Å"}, {U"&", U"‘"}}, default_bg, 1},
|
||
{{{U"7", U"&"}, {U"æ", U"Æ"}, {U"'", U"’"}}, default_bg, 1},
|
||
{{{U"8", U"*"}, {U"ç", U"Ç"}, {U"(", U"‚"}}, default_bg, 1},
|
||
{{{U"9", U"("}, {U"[", U"<"}, {U")", U"“"}}, default_bg, 1},
|
||
{{{U"0", U")"}, {U"]", U">"}, {U"*", U"”"}}, default_bg, 1},
|
||
|
||
// Row 2
|
||
{{{U"a", U"A"}, {U"è", U"È"}, {U"/", U"¤"}}, default_bg, 1},
|
||
{{{U"z", U"Z"}, {U"é", U"É"}, {U"\\", U"¢"}}, default_bg, 1},
|
||
{{{U"e", U"E"}, {U"ê", U"Ê"}, {U"[", U"€"}}, default_bg, 1},
|
||
{{{U"r", U"R"}, {U"ë", U"Ë"}, {U"]", U"£"}}, default_bg, 1},
|
||
{{{U"t", U"T"}, {U"ì", U"Ì"}, {U"^", U"¥"}}, default_bg, 1},
|
||
{{{U"y", U"Y"}, {U"í", U"Í"}, {U"_", U"§"}}, default_bg, 1},
|
||
{{{U"u", U"U"}, {U"î", U"Î"}, {U"`", U"¦"}}, default_bg, 1},
|
||
{{{U"i", U"I"}, {U"ï", U"Ï"}, {U"{", U"µ"}}, default_bg, 1},
|
||
{{{U"o", U"O"}, {U";", U"="}, {U"}", U""}}, default_bg, 1},
|
||
{{{U"p", U"P"}, {U":", U"+"}, {U"|", U""}}, default_bg, 1},
|
||
|
||
// Row 3
|
||
{{{U"q", U"Q"}, {U"ñ", U"Ñ"}, {U"@", U""}}, default_bg, 1},
|
||
{{{U"s", U"S"}, {U"ò", U"Ò"}, {U"°", U""}}, default_bg, 1},
|
||
{{{U"d", U"D"}, {U"ó", U"Ó"}, {U"‹", U""}}, default_bg, 1},
|
||
{{{U"f", U"F"}, {U"ô", U"Ô"}, {U"›", U""}}, default_bg, 1},
|
||
{{{U"g", U"G"}, {U"õ", U"Õ"}, {U"«", U""}}, default_bg, 1},
|
||
{{{U"h", U"H"}, {U"ö", U"Ö"}, {U"»", U""}}, default_bg, 1},
|
||
{{{U"j", U"J"}, {U"ø", U"Ø"}, {U"ª", U""}}, default_bg, 1},
|
||
{{{U"k", U"K"}, {U"œ", U"Œ"}, {U"º", U""}}, default_bg, 1},
|
||
{{{U"l", U"L"}, {U"`", U"~"}, {U"×", U""}}, default_bg, 1},
|
||
{{{U"'", U"\""}, {U"¡", U"\""}, {U"÷", U""}}, default_bg, 1},
|
||
|
||
// Row 4
|
||
{{{U"w", U"W"}, {U"ß", U"ß"}, {U"+", U""}}, default_bg, 1},
|
||
{{{U"x", U"X"}, {U"ù", U"Ù"}, {U",", U""}}, default_bg, 1},
|
||
{{{U"c", U"C"}, {U"ú", U"Ú"}, {U"-", U""}}, default_bg, 1},
|
||
{{{U"v", U"V"}, {U"û", U"Û"}, {U".", U""}}, default_bg, 1},
|
||
{{{U"b", U"B"}, {U"ü", U"Ü"}, {U"\"", U""}}, default_bg, 1},
|
||
{{{U"n", U"N"}, {U"ý", U"Ý"}, {U":", U""}}, default_bg, 1},
|
||
{{{U"m", U"M"}, {U"ÿ", U"Ÿ"}, {U";", U""}}, default_bg, 1},
|
||
{{{U",", U"-"}, {U",", U"-"}, {U"<", U""}}, default_bg, 1},
|
||
{{{U".", U"_"}, {U".", U"_"}, {U"=", U""}}, default_bg, 1},
|
||
{{{U"?", U"/"}, {U"¿", U"/"}, {U">", U""}}, default_bg, 1},
|
||
|
||
// Control
|
||
{{{U"A/a"}, {U"À/à"}, {U"!/¡"}}, special2_bg, 2, button_flags::_shift, shift_cb },
|
||
{{{U"ÖÑß"}, {U"@#:"}, {U"ABC"}}, special2_bg, 2, button_flags::_layer, layer_cb },
|
||
{{{space}, {space}, {space}}, special_bg, 2, button_flags::_space, space_cb },
|
||
{{{backspace}, {backspace}, {backspace}}, special_bg, 2, button_flags::_default, delete_cb },
|
||
{{{enter}, {enter}, {enter}}, special2_bg, 2, button_flags::_return, enter_cb },
|
||
};
|
||
}
|
||
|
||
osk_panel_german::osk_panel_german(callback_t shift_cb, callback_t layer_cb, callback_t space_cb, callback_t delete_cb, callback_t enter_cb)
|
||
: osk_panel(CELL_OSKDIALOG_PANELMODE_GERMAN)
|
||
{
|
||
num_rows = 5;
|
||
num_columns = 10;
|
||
cell_size_x = 50;
|
||
cell_size_y = 40;
|
||
|
||
layout =
|
||
{
|
||
// Row 1
|
||
{{{U"1", U"!"}, {U"à", U"À"}, {U"!", U"¡"}}, default_bg, 1},
|
||
{{{U"2", U"@"}, {U"á", U"Á"}, {U"?", U"¿"}}, default_bg, 1},
|
||
{{{U"3", U"#"}, {U"â", U"Â"}, {U"#", U"~"}}, default_bg, 1},
|
||
{{{U"4", U"$"}, {U"ã", U"Ã"}, {U"$", U"„"}}, default_bg, 1},
|
||
{{{U"5", U"%"}, {U"ä", U"Ä"}, {U"%", U"´"}}, default_bg, 1},
|
||
{{{U"6", U"^"}, {U"å", U"Å"}, {U"&", U"‘"}}, default_bg, 1},
|
||
{{{U"7", U"&"}, {U"æ", U"Æ"}, {U"'", U"’"}}, default_bg, 1},
|
||
{{{U"8", U"*"}, {U"ç", U"Ç"}, {U"(", U"‚"}}, default_bg, 1},
|
||
{{{U"9", U"("}, {U"[", U"<"}, {U")", U"“"}}, default_bg, 1},
|
||
{{{U"0", U")"}, {U"]", U">"}, {U"*", U"”"}}, default_bg, 1},
|
||
|
||
// Row 2
|
||
{{{U"q", U"Q"}, {U"è", U"È"}, {U"/", U"¤"}}, default_bg, 1},
|
||
{{{U"w", U"W"}, {U"é", U"É"}, {U"\\", U"¢"}}, default_bg, 1},
|
||
{{{U"e", U"E"}, {U"ê", U"Ê"}, {U"[", U"€"}}, default_bg, 1},
|
||
{{{U"r", U"R"}, {U"ë", U"Ë"}, {U"]", U"£"}}, default_bg, 1},
|
||
{{{U"t", U"T"}, {U"ì", U"Ì"}, {U"^", U"¥"}}, default_bg, 1},
|
||
{{{U"z", U"Z"}, {U"í", U"Í"}, {U"_", U"§"}}, default_bg, 1},
|
||
{{{U"u", U"U"}, {U"î", U"Î"}, {U"`", U"¦"}}, default_bg, 1},
|
||
{{{U"i", U"I"}, {U"ï", U"Ï"}, {U"{", U"µ"}}, default_bg, 1},
|
||
{{{U"o", U"O"}, {U";", U"="}, {U"}", U""}}, default_bg, 1},
|
||
{{{U"p", U"P"}, {U":", U"+"}, {U"|", U""}}, default_bg, 1},
|
||
|
||
// Row 3
|
||
{{{U"a", U"A"}, {U"ñ", U"Ñ"}, {U"@", U""}}, default_bg, 1},
|
||
{{{U"s", U"S"}, {U"ò", U"Ò"}, {U"°", U""}}, default_bg, 1},
|
||
{{{U"d", U"D"}, {U"ó", U"Ó"}, {U"‹", U""}}, default_bg, 1},
|
||
{{{U"f", U"F"}, {U"ô", U"Ô"}, {U"›", U""}}, default_bg, 1},
|
||
{{{U"g", U"G"}, {U"õ", U"Õ"}, {U"«", U""}}, default_bg, 1},
|
||
{{{U"h", U"H"}, {U"ö", U"Ö"}, {U"»", U""}}, default_bg, 1},
|
||
{{{U"j", U"J"}, {U"ø", U"Ø"}, {U"ª", U""}}, default_bg, 1},
|
||
{{{U"k", U"K"}, {U"œ", U"Œ"}, {U"º", U""}}, default_bg, 1},
|
||
{{{U"l", U"L"}, {U"`", U"~"}, {U"×", U""}}, default_bg, 1},
|
||
{{{U"'", U"\""}, {U"¡", U"\""}, {U"÷", U""}}, default_bg, 1},
|
||
|
||
// Row 4
|
||
{{{U"y", U"Y"}, {U"ß", U"ß"}, {U"+", U""}}, default_bg, 1},
|
||
{{{U"x", U"X"}, {U"ù", U"Ù"}, {U",", U""}}, default_bg, 1},
|
||
{{{U"c", U"C"}, {U"ú", U"Ú"}, {U"-", U""}}, default_bg, 1},
|
||
{{{U"v", U"V"}, {U"û", U"Û"}, {U".", U""}}, default_bg, 1},
|
||
{{{U"b", U"B"}, {U"ü", U"Ü"}, {U"\"", U""}}, default_bg, 1},
|
||
{{{U"n", U"N"}, {U"ý", U"Ý"}, {U":", U""}}, default_bg, 1},
|
||
{{{U"m", U"M"}, {U"ÿ", U"Ÿ"}, {U";", U""}}, default_bg, 1},
|
||
{{{U",", U"-"}, {U",", U"-"}, {U"<", U""}}, default_bg, 1},
|
||
{{{U".", U"_"}, {U".", U"_"}, {U"=", U""}}, default_bg, 1},
|
||
{{{U"?", U"/"}, {U"¿", U"/"}, {U">", U""}}, default_bg, 1},
|
||
|
||
// Control
|
||
{{{U"A/a"}, {U"À/à"}, {U"!/¡"}}, special2_bg, 2, button_flags::_shift, shift_cb },
|
||
{{{U"ÖÑß"}, {U"@#:"}, {U"ABC"}}, special2_bg, 2, button_flags::_layer, layer_cb },
|
||
{{{space}, {space}, {space}}, special_bg, 2, button_flags::_space, space_cb },
|
||
{{{backspace}, {backspace}, {backspace}}, special_bg, 2, button_flags::_default, delete_cb },
|
||
{{{enter}, {enter}, {enter}}, special2_bg, 2, button_flags::_return, enter_cb },
|
||
};
|
||
}
|
||
|
||
osk_panel_turkey::osk_panel_turkey(callback_t shift_cb, callback_t layer_cb, callback_t space_cb, callback_t delete_cb, callback_t enter_cb)
|
||
: osk_panel(CELL_OSKDIALOG_PANELMODE_TURKEY)
|
||
{
|
||
num_rows = 5;
|
||
num_columns = 10;
|
||
cell_size_x = 50;
|
||
cell_size_y = 40;
|
||
|
||
layout =
|
||
{
|
||
// Row 1
|
||
{{{U"1", U"!"}, {U"1", U"!"}, {U"!", U"¡"}}, default_bg, 1},
|
||
{{{U"2", U"@"}, {U"2", U"@"}, {U"?", U"¿"}}, default_bg, 1},
|
||
{{{U"3", U"#"}, {U"3", U"#"}, {U"#", U"~"}}, default_bg, 1},
|
||
{{{U"4", U"$"}, {U"4", U"$"}, {U"$", U"„"}}, default_bg, 1},
|
||
{{{U"5", U"%"}, {U"5", U"%"}, {U"%", U"´"}}, default_bg, 1},
|
||
{{{U"6", U"^"}, {U"6", U"^"}, {U"&", U"‘"}}, default_bg, 1},
|
||
{{{U"7", U"&"}, {U"7", U"&"}, {U"'", U"’"}}, default_bg, 1},
|
||
{{{U"8", U"*"}, {U"8", U"*"}, {U"(", U"‚"}}, default_bg, 1},
|
||
{{{U"9", U"("}, {U"9", U"("}, {U")", U"“"}}, default_bg, 1},
|
||
{{{U"0", U")"}, {U"0", U")"}, {U"*", U"”"}}, default_bg, 1},
|
||
|
||
// Row 2
|
||
{{{U"q", U"Q"}, {U"q", U"Q"}, {U"/", U"¤"}}, default_bg, 1},
|
||
{{{U"w", U"W"}, {U"w", U"W"}, {U"\\", U"¢"}}, default_bg, 1},
|
||
{{{U"e", U"€"}, {U"e", U"€"}, {U"[", U"€"}}, default_bg, 1},
|
||
{{{U"r", U"R"}, {U"r", U"R"}, {U"]", U"£"}}, default_bg, 1},
|
||
{{{U"t", U"T"}, {U"t", U"T"}, {U"^", U"¥"}}, default_bg, 1},
|
||
{{{U"y", U"Y"}, {U"y", U"Y"}, {U"_", U"§"}}, default_bg, 1},
|
||
{{{U"u", U"U"}, {U"ü", U"Ü"}, {U"`", U"¦"}}, default_bg, 1},
|
||
{{{U"i", U"I"}, {U"ı", U"İ"}, {U"{", U"µ"}}, default_bg, 1}, // I couldn't find ı and İ in the PS3 OSK, but I'll put them here anyway
|
||
{{{U"o", U"O"}, {U"ö", U"Ö"}, {U"}", U""}}, default_bg, 1},
|
||
{{{U"p", U"P"}, {U"p", U"P"}, {U"|", U""}}, default_bg, 1},
|
||
|
||
// Row 3
|
||
{{{U"a", U"A"}, {U"a", U"A"}, {U"@", U""}}, default_bg, 1},
|
||
{{{U"s", U"S"}, {U"ş", U"Ş"}, {U"°", U""}}, default_bg, 1},
|
||
{{{U"d", U"D"}, {U"d", U"D"}, {U"‹", U""}}, default_bg, 1},
|
||
{{{U"f", U"F"}, {U"f", U"F"}, {U"›", U""}}, default_bg, 1},
|
||
{{{U"g", U"G"}, {U"ğ", U"Ğ"}, {U"«", U""}}, default_bg, 1},
|
||
{{{U"h", U"H"}, {U"h", U"H"}, {U"»", U""}}, default_bg, 1},
|
||
{{{U"j", U"J"}, {U"j", U"J"}, {U"ª", U""}}, default_bg, 1},
|
||
{{{U"k", U"K"}, {U"k", U"K"}, {U"º", U""}}, default_bg, 1},
|
||
{{{U"l", U"L"}, {U"l", U"L"}, {U"×", U""}}, default_bg, 1},
|
||
{{{U"'", U"\""}, {U"'", U"\""}, {U"÷", U""}}, default_bg, 1},
|
||
|
||
// Row 4
|
||
{{{U"z", U"Z"}, {U"z", U"Z"}, {U"+", U""}}, default_bg, 1},
|
||
{{{U"x", U"X"}, {U"x", U"X"}, {U",", U""}}, default_bg, 1},
|
||
{{{U"c", U"C"}, {U"ç", U"Ç"}, {U"-", U""}}, default_bg, 1},
|
||
{{{U"v", U"V"}, {U"v", U"V"}, {U".", U""}}, default_bg, 1},
|
||
{{{U"b", U"B"}, {U"b", U"B"}, {U"\"", U""}}, default_bg, 1},
|
||
{{{U"n", U"N"}, {U"n", U"N"}, {U":", U""}}, default_bg, 1},
|
||
{{{U"m", U"M"}, {U"m", U"M"}, {U";", U""}}, default_bg, 1},
|
||
{{{U",", U"-"}, {U",", U"-"}, {U"<", U""}}, default_bg, 1},
|
||
{{{U".", U"_"}, {U".", U"_"}, {U"=", U""}}, default_bg, 1},
|
||
{{{U"?", U"/"}, {U"?", U"/"}, {U">", U""}}, default_bg, 1},
|
||
|
||
// Control
|
||
{{{U"A/a"}, {U"A/a"}, {U"!/¡"}}, special2_bg, 2, button_flags::_shift, shift_cb },
|
||
{{{U"AltGr"}, {U"@#:"}, {U"ABC"}}, special2_bg, 2, button_flags::_layer, layer_cb },
|
||
{{{space}, {space}, {space}}, special_bg, 2, button_flags::_space, space_cb },
|
||
{{{backspace}, {backspace}, {backspace}}, special_bg, 2, button_flags::_default, delete_cb },
|
||
{{{enter}, {enter}, {enter}}, special2_bg, 2, button_flags::_return, enter_cb },
|
||
};
|
||
}
|
||
|
||
osk_panel_polish::osk_panel_polish(callback_t shift_cb, callback_t layer_cb, callback_t space_cb, callback_t delete_cb, callback_t enter_cb)
|
||
: osk_panel(CELL_OSKDIALOG_PANELMODE_POLISH)
|
||
{
|
||
num_rows = 5;
|
||
num_columns = 10;
|
||
cell_size_x = 50;
|
||
cell_size_y = 40;
|
||
|
||
layout =
|
||
{
|
||
// Row 1
|
||
{{{U"1", U"!"}, {U"1", U"!"}, {U"!", U"¡"}}, default_bg, 1},
|
||
{{{U"2", U"@"}, {U"2", U"@"}, {U"?", U"¿"}}, default_bg, 1},
|
||
{{{U"3", U"#"}, {U"3", U"#"}, {U"#", U"~"}}, default_bg, 1},
|
||
{{{U"4", U"$"}, {U"4", U"$"}, {U"$", U"„"}}, default_bg, 1},
|
||
{{{U"5", U"%"}, {U"5", U"%"}, {U"%", U"´"}}, default_bg, 1},
|
||
{{{U"6", U"^"}, {U"6", U"^"}, {U"&", U"‘"}}, default_bg, 1},
|
||
{{{U"7", U"&"}, {U"7", U"&"}, {U"'", U"’"}}, default_bg, 1},
|
||
{{{U"8", U"*"}, {U"8", U"*"}, {U"(", U"‚"}}, default_bg, 1},
|
||
{{{U"9", U"("}, {U"9", U"("}, {U")", U"“"}}, default_bg, 1},
|
||
{{{U"0", U")"}, {U"0", U")"}, {U"*", U"”"}}, default_bg, 1},
|
||
|
||
// Row 2
|
||
{{{U"q", U"Q"}, {U"q", U"Q"}, {U"/", U"¤"}}, default_bg, 1},
|
||
{{{U"w", U"W"}, {U"w", U"W"}, {U"\\", U"¢"}}, default_bg, 1},
|
||
{{{U"e", U"E"}, {U"ę", U"Ę"}, {U"[", U"€"}}, default_bg, 1},
|
||
{{{U"r", U"R"}, {U"r", U"R"}, {U"]", U"£"}}, default_bg, 1},
|
||
{{{U"t", U"T"}, {U"t", U"T"}, {U"^", U"¥"}}, default_bg, 1},
|
||
{{{U"y", U"Y"}, {U"y", U"Y"}, {U"_", U"§"}}, default_bg, 1},
|
||
{{{U"u", U"U"}, {U"€", U"€"}, {U"`", U"¦"}}, default_bg, 1},
|
||
{{{U"i", U"I"}, {U"i", U"I"}, {U"{", U"µ"}}, default_bg, 1},
|
||
{{{U"o", U"O"}, {U"ó", U"Ó"}, {U"}", U""}}, default_bg, 1},
|
||
{{{U"p", U"P"}, {U"p", U"P"}, {U"|", U""}}, default_bg, 1},
|
||
|
||
// Row 3
|
||
{{{U"a", U"A"}, {U"ą", U"Ą"}, {U"@", U""}}, default_bg, 1},
|
||
{{{U"s", U"S"}, {U"ś", U"Ś"}, {U"°", U""}}, default_bg, 1},
|
||
{{{U"d", U"D"}, {U"d", U"D"}, {U"‹", U""}}, default_bg, 1},
|
||
{{{U"f", U"F"}, {U"f", U"F"}, {U"›", U""}}, default_bg, 1},
|
||
{{{U"g", U"G"}, {U"g", U"G"}, {U"«", U""}}, default_bg, 1},
|
||
{{{U"h", U"H"}, {U"h", U"H"}, {U"»", U""}}, default_bg, 1},
|
||
{{{U"j", U"J"}, {U"j", U"J"}, {U"ª", U""}}, default_bg, 1},
|
||
{{{U"k", U"K"}, {U"k", U"K"}, {U"º", U""}}, default_bg, 1},
|
||
{{{U"l", U"L"}, {U"ł", U"Ł"}, {U"×", U""}}, default_bg, 1},
|
||
{{{U"'", U"\""}, {U"'", U"\""}, {U"÷", U""}}, default_bg, 1},
|
||
|
||
// Row 4
|
||
{{{U"z", U"Z"}, {U"ż", U"Ż"}, {U"+", U""}}, default_bg, 1},
|
||
{{{U"x", U"X"}, {U"ź", U"Ź"}, {U",", U""}}, default_bg, 1},
|
||
{{{U"c", U"C"}, {U"ć", U"Ć"}, {U"-", U""}}, default_bg, 1},
|
||
{{{U"v", U"V"}, {U"v", U"V"}, {U".", U""}}, default_bg, 1},
|
||
{{{U"b", U"B"}, {U"b", U"B"}, {U"\"", U""}}, default_bg, 1},
|
||
{{{U"n", U"N"}, {U"ń", U"Ń"}, {U":", U""}}, default_bg, 1},
|
||
{{{U"m", U"M"}, {U"m", U"M"}, {U";", U""}}, default_bg, 1},
|
||
{{{U",", U"-"}, {U",", U"-"}, {U"<", U""}}, default_bg, 1},
|
||
{{{U".", U"_"}, {U".", U"_"}, {U"=", U""}}, default_bg, 1},
|
||
{{{U"?", U"/"}, {U"?", U"/"}, {U">", U""}}, default_bg, 1},
|
||
|
||
// Control
|
||
{{{U"A/a"}, {U"Ą/ą"}, {U"!/¡"}}, special2_bg, 2, button_flags::_shift, shift_cb },
|
||
{{{U"AltGr"}, {U"@#:"}, {U"ABC"}}, special2_bg, 2, button_flags::_layer, layer_cb },
|
||
{{{space}, {space}, {space}}, special_bg, 2, button_flags::_space, space_cb },
|
||
{{{backspace}, {backspace}, {backspace}}, special_bg, 2, button_flags::_default, delete_cb },
|
||
{{{enter}, {enter}, {enter}}, special2_bg, 2, button_flags::_return, enter_cb },
|
||
};
|
||
}
|
||
|
||
osk_panel_russian::osk_panel_russian(callback_t shift_cb, callback_t layer_cb, callback_t space_cb, callback_t delete_cb, callback_t enter_cb)
|
||
: osk_panel(CELL_OSKDIALOG_PANELMODE_RUSSIAN)
|
||
{
|
||
num_rows = 6;
|
||
num_columns = 10;
|
||
cell_size_x = 50;
|
||
cell_size_y = 40;
|
||
|
||
layout =
|
||
{
|
||
// Row 1
|
||
{{{U"1", U"!"}, {U"1", U"!"}, {U"à", U"À"}, {U"!", U"¡"}}, default_bg, 1},
|
||
{{{U"2", U"\""}, {U"2", U"@"}, {U"á", U"Á"}, {U"?", U"¿"}}, default_bg, 1},
|
||
{{{U"3", U"#"}, {U"3", U"#"}, {U"â", U"Â"}, {U"#", U"~"}}, default_bg, 1},
|
||
{{{U"4", U";"}, {U"4", U"$"}, {U"ã", U"Ã"}, {U"$", U"„"}}, default_bg, 1},
|
||
{{{U"5", U"%"}, {U"5", U"%"}, {U"ä", U"Ä"}, {U"%", U"´"}}, default_bg, 1},
|
||
{{{U"6", U":"}, {U"6", U"^"}, {U"å", U"Å"}, {U"&", U"‘"}}, default_bg, 1},
|
||
{{{U"7", U"?"}, {U"7", U"&"}, {U"æ", U"Æ"}, {U"'", U"’"}}, default_bg, 1},
|
||
{{{U"8", U"*"}, {U"8", U"*"}, {U"ç", U"Ç"}, {U"(", U"‚"}}, default_bg, 1},
|
||
{{{U"9", U"("}, {U"9", U"("}, {U"[", U"<"}, {U")", U"“"}}, default_bg, 1},
|
||
{{{U"0", U")"}, {U"0", U")"}, {U"]", U">"}, {U"*", U"”"}}, default_bg, 1},
|
||
|
||
// Row 2
|
||
{{{U"ё", U"Ё"}, {U"q", U"Q"}, {U"è", U"È"}, {U"/", U"¤"}}, default_bg, 1},
|
||
{{{U"'", U"@"}, {U"w", U"W"}, {U"é", U"É"}, {U"\\", U"¢"}}, default_bg, 1},
|
||
{{{U",", U"$"}, {U"e", U"E"}, {U"ê", U"Ê"}, {U"[", U"€"}}, default_bg, 1},
|
||
{{{U".", U"^"}, {U"r", U"R"}, {U"ë", U"Ë"}, {U"]", U"£"}}, default_bg, 1},
|
||
{{{U"?", U"&"}, {U"t", U"T"}, {U"ì", U"Ì"}, {U"^", U"¥"}}, default_bg, 1},
|
||
{{{U"!", U"/"}, {U"y", U"Y"}, {U"í", U"Í"}, {U"_", U"§"}}, default_bg, 1},
|
||
{{{U"-", U"_"}, {U"u", U"U"}, {U"î", U"Î"}, {U"`", U"¦"}}, default_bg, 1},
|
||
{{{U"=", U"+"}, {U"i", U"I"}, {U"ï", U"Ï"}, {U"{", U"µ"}}, default_bg, 1},
|
||
{{{U"х", U"Х"}, {U"o", U"O"}, {U";", U"="}, {U"}", U""}}, default_bg, 1},
|
||
{{{U"ъ", U"Ъ"}, {U"p", U"P"}, {U":", U"+"}, {U"|", U""}}, default_bg, 1},
|
||
|
||
// Row 3
|
||
{{{U"й", U"Й"}, {U"a", U"A"}, {U"ñ", U"Ñ"}, {U"@", U""}}, default_bg, 1},
|
||
{{{U"ц", U"Ц"}, {U"s", U"S"}, {U"ò", U"Ò"}, {U"°", U""}}, default_bg, 1},
|
||
{{{U"у", U"У"}, {U"d", U"D"}, {U"ó", U"Ó"}, {U"‹", U""}}, default_bg, 1},
|
||
{{{U"к", U"К"}, {U"f", U"F"}, {U"ô", U"Ô"}, {U"›", U""}}, default_bg, 1},
|
||
{{{U"е", U"Е"}, {U"g", U"G"}, {U"õ", U"Õ"}, {U"«", U""}}, default_bg, 1},
|
||
{{{U"н", U"Н"}, {U"h", U"H"}, {U"ö", U"Ö"}, {U"»", U""}}, default_bg, 1},
|
||
{{{U"г", U"Г"}, {U"j", U"J"}, {U"ø", U"Ø"}, {U"ª", U""}}, default_bg, 1},
|
||
{{{U"ш", U"Ш"}, {U"k", U"K"}, {U"œ", U"Œ"}, {U"º", U""}}, default_bg, 1},
|
||
{{{U"щ", U"Щ"}, {U"l", U"L"}, {U"`", U"~"}, {U"×", U""}}, default_bg, 1},
|
||
{{{U"з", U"З"}, {U"'", U"\""}, {U"¡", U"\""}, {U"÷", U""}}, default_bg, 1},
|
||
|
||
// Row 4
|
||
{{{U"ф", U"Ф"}, {U"z", U"Z"}, {U"ß", U"ß"}, {U"+", U""}}, default_bg, 1},
|
||
{{{U"ы", U"Ы"}, {U"x", U"X"}, {U"ù", U"Ù"}, {U",", U""}}, default_bg, 1},
|
||
{{{U"в", U"В"}, {U"c", U"C"}, {U"ú", U"Ú"}, {U"-", U""}}, default_bg, 1},
|
||
{{{U"а", U"А"}, {U"v", U"V"}, {U"û", U"Û"}, {U".", U""}}, default_bg, 1},
|
||
{{{U"п", U"П"}, {U"b", U"B"}, {U"ü", U"Ü"}, {U"\"", U""}}, default_bg, 1},
|
||
{{{U"р", U"Р"}, {U"n", U"N"}, {U"ý", U"Ý"}, {U":", U""}}, default_bg, 1},
|
||
{{{U"о", U"О"}, {U"m", U"M"}, {U"ÿ", U"Ÿ"}, {U";", U""}}, default_bg, 1},
|
||
{{{U"л", U"Л"}, {U",", U"-"}, {U",", U"-"}, {U"<", U""}}, default_bg, 1},
|
||
{{{U"д", U"Д"}, {U".", U"_"}, {U".", U"_"}, {U"=", U""}}, default_bg, 1},
|
||
{{{U"Ж", U"ж"}, {U"?", U"/"}, {U"¿", U"/"}, {U">", U""}}, default_bg, 1},
|
||
|
||
// Row 5
|
||
{{{U"я", U"Я"}, {U""}, {U""}, {U""}}, default_bg, 1},
|
||
{{{U"ч", U"Ч"}, {U""}, {U""}, {U""}}, default_bg, 1},
|
||
{{{U"с", U"С"}, {U""}, {U""}, {U""}}, default_bg, 1},
|
||
{{{U"м", U"М"}, {U""}, {U""}, {U""}}, default_bg, 1},
|
||
{{{U"и", U"И"}, {U""}, {U""}, {U""}}, default_bg, 1},
|
||
{{{U"т", U"Т"}, {U""}, {U""}, {U""}}, default_bg, 1},
|
||
{{{U"ь", U"Ь"}, {U""}, {U""}, {U""}}, default_bg, 1},
|
||
{{{U"б", U"Б"}, {U""}, {U""}, {U""}}, default_bg, 1},
|
||
{{{U"ю", U"Ю"}, {U""}, {U""}, {U""}}, default_bg, 1},
|
||
{{{U"э", U"Э"}, {U""}, {U""}, {U""}}, default_bg, 1},
|
||
|
||
// Control
|
||
{{{U"У/у"}, {U"A/a"}, {U"À/à"}, {U"!/¡"}}, special2_bg, 2, button_flags::_shift, shift_cb },
|
||
{{{U"ABC"}, {U"ÖÑß"}, {U"@#:"}, {U"РУ"}}, special2_bg, 2, button_flags::_layer, layer_cb },
|
||
{{{space}, {space}, {space}, {space}}, special_bg, 2, button_flags::_space, space_cb },
|
||
{{{backspace}, {backspace}, {backspace}, {backspace}}, special_bg, 2, button_flags::_default, delete_cb },
|
||
{{{enter}, {enter}, {enter}, {enter}}, special2_bg, 2, button_flags::_return, enter_cb },
|
||
};
|
||
}
|
||
|
||
osk_panel_korean::osk_panel_korean(callback_t shift_cb, callback_t layer_cb, callback_t space_cb, callback_t delete_cb, callback_t enter_cb)
|
||
: osk_panel(CELL_OSKDIALOG_PANELMODE_KOREAN)
|
||
{
|
||
num_rows = 5;
|
||
num_columns = 10;
|
||
cell_size_x = 50;
|
||
cell_size_y = 40;
|
||
|
||
layout =
|
||
{
|
||
// Row 1
|
||
{{{U"ㅃ"}, {U"1", U"!"}, {U"!"}}, default_bg, 1},
|
||
{{{U"ㅉ"}, {U"2", U"@"}, {U"\""}}, default_bg, 1},
|
||
{{{U"ㄸ"}, {U"3", U"#"}, {U"#"}}, default_bg, 1},
|
||
{{{U"ㄲ"}, {U"4", U"$"}, {U"$"}}, default_bg, 1},
|
||
{{{U"ㅆ"}, {U"5", U"%"}, {U"%"}}, default_bg, 1},
|
||
{{{U"^"}, {U"6", U"^"}, {U"&"}}, default_bg, 1},
|
||
{{{U"*"}, {U"7", U"&"}, {U"'"}}, default_bg, 1},
|
||
{{{U"-"}, {U"8", U"*"}, {U"("}}, default_bg, 1},
|
||
{{{U"ㅒ"}, {U"9", U"("}, {U")"}}, default_bg, 1},
|
||
{{{U"ㅖ"}, {U"0", U")"}, {U"*"}}, default_bg, 1},
|
||
|
||
// Row 2
|
||
{{{U"ㅂ"}, {U"q", U"Q"}, {U"+"}}, default_bg, 1},
|
||
{{{U"ㅈ"}, {U"w", U"W"}, {U","}}, default_bg, 1},
|
||
{{{U"ㄷ"}, {U"e", U"E"}, {U"-"}}, default_bg, 1},
|
||
{{{U"ㄱ"}, {U"r", U"R"}, {U"."}}, default_bg, 1},
|
||
{{{U"ㅅ"}, {U"t", U"T"}, {U"/"}}, default_bg, 1},
|
||
{{{U"ㅛ"}, {U"y", U"Y"}, {U":"}}, default_bg, 1},
|
||
{{{U"ㅕ"}, {U"u", U"U"}, {U";"}}, default_bg, 1},
|
||
{{{U"ㅑ"}, {U"i", U"I"}, {U"<"}}, default_bg, 1},
|
||
{{{U"ㅐ"}, {U"o", U"O"}, {U"="}}, default_bg, 1},
|
||
{{{U"ㅔ"}, {U"p", U"P"}, {U">"}}, default_bg, 1},
|
||
|
||
// Row 3
|
||
{{{U"ㅁ"}, {U"a", U"A"}, {U"?"}}, default_bg, 1},
|
||
{{{U"ㄴ"}, {U"s", U"S"}, {U"@"}}, default_bg, 1},
|
||
{{{U"ㅇ"}, {U"d", U"D"}, {U"["}}, default_bg, 1},
|
||
{{{U"ㄹ"}, {U"f", U"F"}, {U"\\"}}, default_bg, 1},
|
||
{{{U"ㅎ"}, {U"g", U"G"}, {U"]"}}, default_bg, 1},
|
||
{{{U"ㅗ"}, {U"h", U"H"}, {U"^"}}, default_bg, 1},
|
||
{{{U"ㅓ"}, {U"j", U"J"}, {U"_"}}, default_bg, 1},
|
||
{{{U"ㅏ"}, {U"k", U"K"}, {U"`"}}, default_bg, 1},
|
||
{{{U"ㅣ"}, {U"l", U"L"}, {U"{"}}, default_bg, 1},
|
||
{{{U";"}, {U"'", U"\""}, {U"}"}}, default_bg, 1},
|
||
|
||
// Row 4
|
||
{{{U"ㅋ"}, {U"z", U"Z"}, {U"|"}}, default_bg, 1},
|
||
{{{U"ㅌ"}, {U"x", U"X"}, {U"~"}}, default_bg, 1},
|
||
{{{U"ㅊ"}, {U"c", U"C"}, {U"₩"}}, default_bg, 1},
|
||
{{{U"ㅍ"}, {U"v", U"V"}, {U""}}, default_bg, 1},
|
||
{{{U"ㅠ"}, {U"b", U"B"}, {U""}}, default_bg, 1},
|
||
{{{U"ㅜ"}, {U"n", U"N"}, {U""}}, default_bg, 1},
|
||
{{{U"ㅡ"}, {U"m", U"M"}, {U""}}, default_bg, 1},
|
||
{{{U","}, {U",", U"-"}, {U""}}, default_bg, 1},
|
||
{{{U"."}, {U".", U"_"}, {U""}}, default_bg, 1},
|
||
{{{U"?"}, {U"?", U"/"}, {U""}}, default_bg, 1},
|
||
|
||
// Control
|
||
{{{U""}, {U"A/a"}, {U""}}, special2_bg, 2, button_flags::_shift, shift_cb },
|
||
{{{U"ABC"}, {U"@#:"}, {U"가"}}, special2_bg, 2, button_flags::_layer, layer_cb },
|
||
{{{space}, {space}, {space}}, special_bg, 2, button_flags::_space, space_cb },
|
||
{{{backspace}, {backspace}, {backspace}}, special_bg, 2, button_flags::_default, delete_cb },
|
||
{{{enter}, {enter}, {enter}}, special2_bg, 2, button_flags::_return, enter_cb },
|
||
};
|
||
}
|
||
|
||
osk_panel_chinese::osk_panel_chinese(callback_t shift_cb, callback_t layer_cb, callback_t space_cb, callback_t delete_cb, callback_t enter_cb, u32 osk_panel_mode)
|
||
: osk_panel(osk_panel_mode)
|
||
{
|
||
num_rows = 5;
|
||
num_columns = 10;
|
||
cell_size_x = 50;
|
||
cell_size_y = 40;
|
||
|
||
// TODO: add mode for chinese dictionaries
|
||
|
||
layout =
|
||
{
|
||
// Row 1
|
||
{{{U"1", U"!"}, {U"1", U"!"}, {U","}}, default_bg, 1},
|
||
{{{U"2", U"@"}, {U"2", U"@"}, {U"."}}, default_bg, 1},
|
||
{{{U"3", U"#"}, {U"3", U"#"}, {U":"}}, default_bg, 1},
|
||
{{{U"4", U"$"}, {U"4", U"$"}, {U";"}}, default_bg, 1},
|
||
{{{U"5", U"%"}, {U"5", U"%"}, {U"!"}}, default_bg, 1},
|
||
{{{U"6", U"^"}, {U"6", U"^"}, {U"?"}}, default_bg, 1},
|
||
{{{U"7", U"&"}, {U"7", U"&"}, {U"""}}, default_bg, 1},
|
||
{{{U"8", U"*"}, {U"8", U"*"}, {U"'"}}, default_bg, 1},
|
||
{{{U"9", U"("}, {U"9", U"("}, {U"`"}}, default_bg, 1},
|
||
{{{U"0", U")"}, {U"0", U")"}, {U"^"}}, default_bg, 1},
|
||
|
||
// Row 2
|
||
{{{U"q", U"Q"}, {U"q", U"Q"}, {U"~"}}, default_bg, 1},
|
||
{{{U"w", U"W"}, {U"w", U"W"}, {U"_"}}, default_bg, 1},
|
||
{{{U"e", U"E"}, {U"e", U"E"}, {U"&"}}, default_bg, 1},
|
||
{{{U"r", U"R"}, {U"r", U"R"}, {U"@"}}, default_bg, 1},
|
||
{{{U"t", U"T"}, {U"t", U"T"}, {U"#"}}, default_bg, 1},
|
||
{{{U"y", U"Y"}, {U"y", U"Y"}, {U"%"}}, default_bg, 1},
|
||
{{{U"u", U"U"}, {U"u", U"U"}, {U"+"}}, default_bg, 1},
|
||
{{{U"i", U"I"}, {U"i", U"I"}, {U"-"}}, default_bg, 1},
|
||
{{{U"o", U"O"}, {U"o", U"O"}, {U"*"}}, default_bg, 1},
|
||
{{{U"p", U"P"}, {U"p", U"P"}, {U"・"}}, default_bg, 1},
|
||
|
||
// Row 3
|
||
{{{U"a", U"A"}, {U"a", U"A"}, {U"<"}}, default_bg, 1},
|
||
{{{U"s", U"S"}, {U"s", U"S"}, {U">"}}, default_bg, 1},
|
||
{{{U"d", U"D"}, {U"d", U"D"}, {U"("}}, default_bg, 1},
|
||
{{{U"f", U"F"}, {U"f", U"F"}, {U")"}}, default_bg, 1},
|
||
{{{U"g", U"G"}, {U"g", U"G"}, {U"["}}, default_bg, 1},
|
||
{{{U"h", U"H"}, {U"h", U"H"}, {U"]"}}, default_bg, 1},
|
||
{{{U"j", U"J"}, {U"j", U"J"}, {U"{"}}, default_bg, 1},
|
||
{{{U"k", U"K"}, {U"k", U"K"}, {U"}"}}, default_bg, 1},
|
||
{{{U"l", U"L"}, {U"l", U"L"}, {U"「"}}, default_bg, 1},
|
||
{{{U"'", U"\""}, {U"'", U"""}, {U"」"}}, default_bg, 1},
|
||
|
||
// Row 4
|
||
{{{U"z", U"Z"}, {U"z", U"Z"}, {U"="}}, default_bg, 1},
|
||
{{{U"x", U"X"}, {U"x", U"X"}, {U"|"}}, default_bg, 1},
|
||
{{{U"c", U"C"}, {U"c", U"C"}, {U"。"}}, default_bg, 1},
|
||
{{{U"v", U"V"}, {U"v", U"V"}, {U"/"}}, default_bg, 1},
|
||
{{{U"b", U"B"}, {U"b", U"B"}, {U"\"}}, default_bg, 1},
|
||
{{{U"n", U"N"}, {U"n", U"N"}, {U"¬"}}, default_bg, 1},
|
||
{{{U"m", U"M"}, {U"m", U"M"}, {U"$"}}, default_bg, 1},
|
||
{{{U",", U"-"}, {U",", U"-"}, {U"¥"}}, default_bg, 1},
|
||
{{{U".", U"_"}, {U".", U"_"}, {U"、"}}, default_bg, 1},
|
||
{{{U"?", U"/"}, {U"?", U"/"}, {U""}}, default_bg, 1},
|
||
|
||
// Control
|
||
{{{U"A/a"}, {U"A/a"}, {U""}}, special2_bg, 2, button_flags::_shift, shift_cb },
|
||
{{{U"全半"}, {U"@%"}, {U"abc"}}, special2_bg, 2, button_flags::_layer, layer_cb},
|
||
{{{space}, {space}, {space}}, special_bg, 2, button_flags::_space, space_cb},
|
||
{{{backspace}, {backspace}, {backspace}}, special_bg, 2, button_flags::_default, delete_cb },
|
||
{{{enter}, {enter}, {enter}}, special2_bg, 2, button_flags::_return, enter_cb },
|
||
};
|
||
}
|
||
|
||
osk_panel_simplified_chinese::osk_panel_simplified_chinese(callback_t shift_cb, callback_t layer_cb, callback_t space_cb, callback_t delete_cb, callback_t enter_cb)
|
||
: osk_panel_chinese(shift_cb, layer_cb, space_cb, delete_cb, enter_cb, CELL_OSKDIALOG_PANELMODE_SIMPLIFIED_CHINESE)
|
||
{
|
||
// Simplified chinese uses osk_panel_chinese. Only the translation for the controls and the dictionary should be different than for traditional chinese.
|
||
}
|
||
|
||
osk_panel_traditional_chinese::osk_panel_traditional_chinese(callback_t shift_cb, callback_t layer_cb, callback_t space_cb, callback_t delete_cb, callback_t enter_cb)
|
||
: osk_panel_chinese(shift_cb, layer_cb, space_cb, delete_cb, enter_cb, CELL_OSKDIALOG_PANELMODE_TRADITIONAL_CHINESE)
|
||
{
|
||
// Traditional chinese uses osk_panel_chinese. Only the translation for the controls and the dictionary should be different than for simplified chinese.
|
||
}
|
||
|
||
osk_panel_japanese::osk_panel_japanese(callback_t shift_cb, callback_t layer_cb, callback_t space_cb, callback_t delete_cb, callback_t enter_cb)
|
||
: osk_panel(CELL_OSKDIALOG_PANELMODE_JAPANESE)
|
||
{
|
||
num_rows = 6;
|
||
num_columns = 10;
|
||
cell_size_x = 50;
|
||
cell_size_y = 40;
|
||
|
||
layout =
|
||
{
|
||
// Row 1
|
||
{{{U"あ", U"ア"}, {U"1", U"!"}, {U"1", U"!"}, {U","}}, default_bg, 1},
|
||
{{{U"か", U"カ"}, {U"2", U"@"}, {U"2", U"@"}, {U"."}}, default_bg, 1},
|
||
{{{U"さ", U"サ"}, {U"3", U"#"}, {U"3", U"#"}, {U":"}}, default_bg, 1},
|
||
{{{U"た", U"タ"}, {U"4", U"$"}, {U"4", U"$"}, {U";"}}, default_bg, 1},
|
||
{{{U"な", U"ナ"}, {U"5", U"%"}, {U"5", U"%"}, {U"!"}}, default_bg, 1},
|
||
{{{U"は", U"ハ"}, {U"6", U"^"}, {U"6", U"^"}, {U"?"}}, default_bg, 1},
|
||
{{{U"ま", U"マ"}, {U"7", U"&"}, {U"7", U"&"}, {U"""}}, default_bg, 1},
|
||
{{{U"や", U"ヤ"}, {U"8", U"*"}, {U"8", U"*"}, {U"'"}}, default_bg, 1},
|
||
{{{U"ら", U"ラ"}, {U"9", U"("}, {U"9", U"("}, {U"`"}}, default_bg, 1},
|
||
{{{U"わ", U"ワ"}, {U"0", U")"}, {U"0", U")"}, {U"^"}}, default_bg, 1},
|
||
|
||
// Row 2
|
||
{{{U"い", U"イ"}, {U"q", U"Q"}, {U"q", U"Q"}, {U"~"}}, default_bg, 1},
|
||
{{{U"き", U"キ"}, {U"w", U"W"}, {U"w", U"W"}, {U"_"}}, default_bg, 1},
|
||
{{{U"し", U"シ"}, {U"e", U"E"}, {U"e", U"E"}, {U"&"}}, default_bg, 1},
|
||
{{{U"ち", U"チ"}, {U"r", U"R"}, {U"r", U"R"}, {U"@"}}, default_bg, 1},
|
||
{{{U"に", U"ニ"}, {U"t", U"T"}, {U"t", U"T"}, {U"#"}}, default_bg, 1},
|
||
{{{U"ひ", U"ヒ"}, {U"y", U"Y"}, {U"y", U"Y"}, {U"%"}}, default_bg, 1},
|
||
{{{U"み", U"ミ"}, {U"u", U"U"}, {U"u", U"U"}, {U"+"}}, default_bg, 1},
|
||
{{{U"ゆ", U"ユ"}, {U"i", U"I"}, {U"i", U"I"}, {U"-"}}, default_bg, 1},
|
||
{{{U"り", U"リ"}, {U"o", U"O"}, {U"o", U"O"}, {U"*"}}, default_bg, 1},
|
||
{{{U"を", U"ヲ"}, {U"p", U"P"}, {U"p", U"P"}, {U"・"}}, default_bg, 1},
|
||
|
||
// Row 3
|
||
{{{U"う", U"ウ"}, {U"a", U"A"}, {U"a", U"A"}, {U"<"}}, default_bg, 1},
|
||
{{{U"く", U"ク"}, {U"s", U"S"}, {U"s", U"S"}, {U">"}}, default_bg, 1},
|
||
{{{U"す", U"ス"}, {U"d", U"D"}, {U"d", U"D"}, {U"("}}, default_bg, 1},
|
||
{{{U"つ", U"ツ"}, {U"f", U"F"}, {U"f", U"F"}, {U")"}}, default_bg, 1},
|
||
{{{U"ぬ", U"ヌ"}, {U"g", U"G"}, {U"g", U"G"}, {U"["}}, default_bg, 1},
|
||
{{{U"ふ", U"フ"}, {U"h", U"H"}, {U"h", U"H"}, {U"]"}}, default_bg, 1},
|
||
{{{U"む", U"ム"}, {U"j", U"J"}, {U"j", U"J"}, {U"{"}}, default_bg, 1},
|
||
{{{U"よ", U"ヨ"}, {U"k", U"K"}, {U"k", U"K"}, {U"}"}}, default_bg, 1},
|
||
{{{U"る", U"ル"}, {U"l", U"L"}, {U"l", U"L"}, {U"「"}}, default_bg, 1},
|
||
{{{U"ん", U"ン"}, {U"'", U"\""}, {U"'", U"""}, {U"」"}}, default_bg, 1},
|
||
|
||
// Row 4
|
||
{{{U"え", U"エ"}, {U"z", U"Z"}, {U"z", U"Z"}, {U"="}}, default_bg, 1},
|
||
{{{U"け", U"ケ"}, {U"x", U"X"}, {U"x", U"X"}, {U"|"}}, default_bg, 1},
|
||
{{{U"せ", U"セ"}, {U"c", U"C"}, {U"c", U"C"}, {U"。"}}, default_bg, 1},
|
||
{{{U"て", U"テ"}, {U"v", U"V"}, {U"v", U"V"}, {U"/"}}, default_bg, 1},
|
||
{{{U"ね", U"ネ"}, {U"b", U"B"}, {U"b", U"B"}, {U"\"}}, default_bg, 1},
|
||
{{{U"へ", U"ヘ"}, {U"n", U"N"}, {U"n", U"N"}, {U"¬"}}, default_bg, 1},
|
||
{{{U"め", U"メ"}, {U"m", U"M"}, {U"m", U"M"}, {U"$"}}, default_bg, 1},
|
||
{{{U"゛", U"゛"}, {U",", U"-"}, {U",", U"-"}, {U"¥"}}, default_bg, 1},
|
||
{{{U"れ", U"レ"}, {U".", U"_"}, {U".", U"_"}, {U"、"}}, default_bg, 1},
|
||
{{{U"ー", U"ー"}, {U"?", U"/"}, {U"?", U"/"}, {U""}}, default_bg, 1},
|
||
|
||
// Row 5
|
||
{{{U"お", U"オ"}, {U"", U""}, {U"", U""}, {U""}}, default_bg, 1},
|
||
{{{U"こ", U"コ"}, {U"", U""}, {U"", U""}, {U""}}, default_bg, 1},
|
||
{{{U"そ", U"ソ"}, {U"", U""}, {U"", U""}, {U""}}, default_bg, 1},
|
||
{{{U"と", U"ト"}, {U"", U""}, {U"", U""}, {U""}}, default_bg, 1},
|
||
{{{U"の", U"ノ"}, {U"", U""}, {U"", U""}, {U""}}, default_bg, 1},
|
||
{{{U"ほ", U"ホ"}, {U"", U""}, {U"", U""}, {U""}}, default_bg, 1},
|
||
{{{U"も", U"モ"}, {U"", U""}, {U"", U""}, {U""}}, default_bg, 1},
|
||
{{{U"゜", U"゜"}, {U"", U""}, {U"", U""}, {U""}}, default_bg, 1},
|
||
{{{U"ろ", U"ロ"}, {U"", U""}, {U"", U""}, {U""}}, default_bg, 1},
|
||
{{{U"", U""}, {U"", U""}, {U"", U""}, {U""}}, default_bg, 1},
|
||
|
||
// Control
|
||
{{{U"あ/ア"}, {U"A/a"}, {U"A/a"}, {U""}}, special2_bg, 2, button_flags::_shift, shift_cb },
|
||
{{{U"abc"}, {U"全半"}, {U"@%"}, {U"あア"}}, special2_bg, 2, button_flags::_layer, layer_cb},
|
||
{{{space}, {space}, {space}, {space}}, special_bg, 2, button_flags::_space, space_cb},
|
||
{{{backspace}, {backspace}, {backspace}, {backspace}}, special_bg, 2, button_flags::_default, delete_cb },
|
||
{{{enter}, {enter}, {enter}, {enter}}, special2_bg, 2, button_flags::_return, enter_cb },
|
||
};
|
||
}
|
||
|
||
osk_panel_japanese_hiragana::osk_panel_japanese_hiragana(callback_t /*shift_cb*/, callback_t layer_cb, callback_t space_cb, callback_t delete_cb, callback_t enter_cb)
|
||
: osk_panel(CELL_OSKDIALOG_PANELMODE_JAPANESE_HIRAGANA)
|
||
{
|
||
num_rows = 6;
|
||
num_columns = 10;
|
||
cell_size_x = 50;
|
||
cell_size_y = 40;
|
||
|
||
layout =
|
||
{
|
||
// Row 1
|
||
{{{U"あ"}, {U","}}, default_bg, 1},
|
||
{{{U"か"}, {U"."}}, default_bg, 1},
|
||
{{{U"さ"}, {U":"}}, default_bg, 1},
|
||
{{{U"た"}, {U";"}}, default_bg, 1},
|
||
{{{U"な"}, {U"!"}}, default_bg, 1},
|
||
{{{U"は"}, {U"?"}}, default_bg, 1},
|
||
{{{U"ま"}, {U"""}}, default_bg, 1},
|
||
{{{U"や"}, {U"'"}}, default_bg, 1},
|
||
{{{U"ら"}, {U"`"}}, default_bg, 1},
|
||
{{{U"わ"}, {U"^"}}, default_bg, 1},
|
||
|
||
// Row 2
|
||
{{{U"い"}, {U"~"}}, default_bg, 1},
|
||
{{{U"き"}, {U"_"}}, default_bg, 1},
|
||
{{{U"し"}, {U"&"}}, default_bg, 1},
|
||
{{{U"ち"}, {U"@"}}, default_bg, 1},
|
||
{{{U"に"}, {U"#"}}, default_bg, 1},
|
||
{{{U"ひ"}, {U"%"}}, default_bg, 1},
|
||
{{{U"み"}, {U"+"}}, default_bg, 1},
|
||
{{{U"ゆ"}, {U"-"}}, default_bg, 1},
|
||
{{{U"り"}, {U"*"}}, default_bg, 1},
|
||
{{{U"を"}, {U"・"}}, default_bg, 1},
|
||
|
||
// Row 3
|
||
{{{U"う"}, {U"<"}}, default_bg, 1},
|
||
{{{U"く"}, {U">"}}, default_bg, 1},
|
||
{{{U"す"}, {U"("}}, default_bg, 1},
|
||
{{{U"つ"}, {U")"}}, default_bg, 1},
|
||
{{{U"ぬ"}, {U"["}}, default_bg, 1},
|
||
{{{U"ふ"}, {U"]"}}, default_bg, 1},
|
||
{{{U"む"}, {U"{"}}, default_bg, 1},
|
||
{{{U"よ"}, {U"}"}}, default_bg, 1},
|
||
{{{U"る"}, {U"「"}}, default_bg, 1},
|
||
{{{U"ん"}, {U"」"}}, default_bg, 1},
|
||
|
||
// Row 4
|
||
{{{U"え"}, {U"="}}, default_bg, 1},
|
||
{{{U"け"}, {U"|"}}, default_bg, 1},
|
||
{{{U"せ"}, {U"。"}}, default_bg, 1},
|
||
{{{U"て"}, {U"/"}}, default_bg, 1},
|
||
{{{U"ね"}, {U"\"}}, default_bg, 1},
|
||
{{{U"へ"}, {U"¬"}}, default_bg, 1},
|
||
{{{U"め"}, {U"$"}}, default_bg, 1},
|
||
{{{U"゛"}, {U"¥"}}, default_bg, 1},
|
||
{{{U"れ"}, {U"、"}}, default_bg, 1},
|
||
{{{U"ー"}, {U""}}, default_bg, 1},
|
||
|
||
// Row 5
|
||
{{{U"お"}, {U""}}, default_bg, 1},
|
||
{{{U"こ"}, {U""}}, default_bg, 1},
|
||
{{{U"そ"}, {U""}}, default_bg, 1},
|
||
{{{U"と"}, {U""}}, default_bg, 1},
|
||
{{{U"の"}, {U""}}, default_bg, 1},
|
||
{{{U"ほ"}, {U""}}, default_bg, 1},
|
||
{{{U"も"}, {U""}}, default_bg, 1},
|
||
{{{U"゜"}, {U""}}, default_bg, 1},
|
||
{{{U"ろ"}, {U""}}, default_bg, 1},
|
||
{{{U""}, {U""}}, default_bg, 1},
|
||
|
||
// Control
|
||
{{{U""}, {U""}}, special2_bg, 2, button_flags::_shift, nullptr },
|
||
{{{U"@%"}, {U"あ"}}, special2_bg, 2, button_flags::_layer, layer_cb},
|
||
{{{space}, {space}}, special_bg, 2, button_flags::_space, space_cb},
|
||
{{{backspace}, {backspace}}, special_bg, 2, button_flags::_default, delete_cb },
|
||
{{{enter}, {enter}}, special2_bg, 2, button_flags::_return, enter_cb },
|
||
};
|
||
}
|
||
|
||
osk_panel_japanese_katakana::osk_panel_japanese_katakana(callback_t /*shift_cb*/, callback_t layer_cb, callback_t space_cb, callback_t delete_cb, callback_t enter_cb)
|
||
: osk_panel(CELL_OSKDIALOG_PANELMODE_JAPANESE_KATAKANA)
|
||
{
|
||
num_rows = 6;
|
||
num_columns = 10;
|
||
cell_size_x = 50;
|
||
cell_size_y = 40;
|
||
|
||
layout =
|
||
{
|
||
// Row 1
|
||
{{{U"ア"}, {U","}}, default_bg, 1},
|
||
{{{U"カ"}, {U"."}}, default_bg, 1},
|
||
{{{U"サ"}, {U":"}}, default_bg, 1},
|
||
{{{U"タ"}, {U";"}}, default_bg, 1},
|
||
{{{U"ナ"}, {U"!"}}, default_bg, 1},
|
||
{{{U"ハ"}, {U"?"}}, default_bg, 1},
|
||
{{{U"マ"}, {U"""}}, default_bg, 1},
|
||
{{{U"ヤ"}, {U"'"}}, default_bg, 1},
|
||
{{{U"ラ"}, {U"`"}}, default_bg, 1},
|
||
{{{U"ワ"}, {U"^"}}, default_bg, 1},
|
||
|
||
// Row 2
|
||
{{{U"イ"}, {U"~"}}, default_bg, 1},
|
||
{{{U"キ"}, {U"_"}}, default_bg, 1},
|
||
{{{U"シ"}, {U"&"}}, default_bg, 1},
|
||
{{{U"チ"}, {U"@"}}, default_bg, 1},
|
||
{{{U"ニ"}, {U"#"}}, default_bg, 1},
|
||
{{{U"ヒ"}, {U"%"}}, default_bg, 1},
|
||
{{{U"ミ"}, {U"+"}}, default_bg, 1},
|
||
{{{U"ユ"}, {U"-"}}, default_bg, 1},
|
||
{{{U"リ"}, {U"*"}}, default_bg, 1},
|
||
{{{U"ヲ"}, {U"・"}}, default_bg, 1},
|
||
|
||
// Row 3
|
||
{{{U"ウ"}, {U"<"}}, default_bg, 1},
|
||
{{{U"ク"}, {U">"}}, default_bg, 1},
|
||
{{{U"ス"}, {U"("}}, default_bg, 1},
|
||
{{{U"ツ"}, {U")"}}, default_bg, 1},
|
||
{{{U"ヌ"}, {U"["}}, default_bg, 1},
|
||
{{{U"フ"}, {U"]"}}, default_bg, 1},
|
||
{{{U"ム"}, {U"{"}}, default_bg, 1},
|
||
{{{U"ヨ"}, {U"}"}}, default_bg, 1},
|
||
{{{U"ル"}, {U"「"}}, default_bg, 1},
|
||
{{{U"ン"}, {U"」"}}, default_bg, 1},
|
||
|
||
// Row 4
|
||
{{{U"エ"}, {U"="}}, default_bg, 1},
|
||
{{{U"ケ"}, {U"|"}}, default_bg, 1},
|
||
{{{U"セ"}, {U"。"}}, default_bg, 1},
|
||
{{{U"テ"}, {U"/"}}, default_bg, 1},
|
||
{{{U"ネ"}, {U"\"}}, default_bg, 1},
|
||
{{{U"ヘ"}, {U"¬"}}, default_bg, 1},
|
||
{{{U"メ"}, {U"$"}}, default_bg, 1},
|
||
{{{U"゛"}, {U"¥"}}, default_bg, 1},
|
||
{{{U"レ"}, {U"、"}}, default_bg, 1},
|
||
{{{U"ー"}, {U""}}, default_bg, 1},
|
||
|
||
// Row 5
|
||
{{{U"オ"}, {U""}}, default_bg, 1},
|
||
{{{U"コ"}, {U""}}, default_bg, 1},
|
||
{{{U"ソ"}, {U""}}, default_bg, 1},
|
||
{{{U"ト"}, {U""}}, default_bg, 1},
|
||
{{{U"ノ"}, {U""}}, default_bg, 1},
|
||
{{{U"ホ"}, {U""}}, default_bg, 1},
|
||
{{{U"モ"}, {U""}}, default_bg, 1},
|
||
{{{U"゜"}, {U""}}, default_bg, 1},
|
||
{{{U"ロ"}, {U""}}, default_bg, 1},
|
||
{{{U""}, {U""}}, default_bg, 1},
|
||
|
||
// Control
|
||
{{{U""}, {U""}}, special2_bg, 2, button_flags::_shift, nullptr },
|
||
{{{U"@%"}, {U"ア"}}, special2_bg, 2, button_flags::_layer, layer_cb},
|
||
{{{space}, {space}}, special_bg, 2, button_flags::_space, space_cb},
|
||
{{{backspace}, {backspace}}, special_bg, 2, button_flags::_default, delete_cb },
|
||
{{{enter}, {enter}}, special2_bg, 2, button_flags::_return, enter_cb },
|
||
};
|
||
}
|
||
|
||
osk_panel_alphabet_half_width::osk_panel_alphabet_half_width(callback_t shift_cb, callback_t layer_cb, callback_t space_cb, callback_t delete_cb, callback_t enter_cb, u32 osk_panel_mode)
|
||
: osk_panel(osk_panel_mode)
|
||
{
|
||
num_rows = 5;
|
||
num_columns = 10;
|
||
cell_size_x = 50;
|
||
cell_size_y = 40;
|
||
|
||
layout =
|
||
{
|
||
// Row 1
|
||
{{{U"1", U"!"}, {U"!"}}, default_bg, 1},
|
||
{{{U"2", U"@"}, {U"?"}}, default_bg, 1},
|
||
{{{U"3", U"#"}, {U"#"}}, default_bg, 1},
|
||
{{{U"4", U"$"}, {U"$"}}, default_bg, 1},
|
||
{{{U"5", U"%"}, {U"%"}}, default_bg, 1},
|
||
{{{U"6", U"^"}, {U"&"}}, default_bg, 1},
|
||
{{{U"7", U"&"}, {U"'"}}, default_bg, 1},
|
||
{{{U"8", U"*"}, {U"("}}, default_bg, 1},
|
||
{{{U"9", U"("}, {U")"}}, default_bg, 1},
|
||
{{{U"0", U")"}, {U"*"}}, default_bg, 1},
|
||
|
||
// Row 2
|
||
{{{U"q", U"Q"}, {U"/"}}, default_bg, 1},
|
||
{{{U"w", U"W"}, {U"\\"}}, default_bg, 1},
|
||
{{{U"e", U"E"}, {U"["}}, default_bg, 1},
|
||
{{{U"r", U"R"}, {U"]"}}, default_bg, 1},
|
||
{{{U"t", U"T"}, {U"^"}}, default_bg, 1},
|
||
{{{U"y", U"Y"}, {U"_"}}, default_bg, 1},
|
||
{{{U"u", U"U"}, {U"`"}}, default_bg, 1},
|
||
{{{U"i", U"I"}, {U"{"}}, default_bg, 1},
|
||
{{{U"o", U"O"}, {U"}"}}, default_bg, 1},
|
||
{{{U"p", U"P"}, {U"|"}}, default_bg, 1},
|
||
|
||
// Row 3
|
||
{{{U"a", U"A"}, {U"@"}}, default_bg, 1},
|
||
{{{U"s", U"S"}, {U"°"}}, default_bg, 1},
|
||
{{{U"d", U"D"}, {U"‹"}}, default_bg, 1},
|
||
{{{U"f", U"F"}, {U"›"}}, default_bg, 1},
|
||
{{{U"g", U"G"}, {U"«"}}, default_bg, 1},
|
||
{{{U"h", U"H"}, {U"»"}}, default_bg, 1},
|
||
{{{U"j", U"J"}, {U"ª"}}, default_bg, 1},
|
||
{{{U"k", U"K"}, {U"º"}}, default_bg, 1},
|
||
{{{U"l", U"L"}, {U"×"}}, default_bg, 1},
|
||
{{{U"'", U"\""}, {U"÷"}}, default_bg, 1},
|
||
|
||
// Row 4
|
||
{{{U"z", U"Z"}, {U"+"}}, default_bg, 1},
|
||
{{{U"x", U"X"}, {U","}}, default_bg, 1},
|
||
{{{U"c", U"C"}, {U"-"}}, default_bg, 1},
|
||
{{{U"v", U"V"}, {U"."}}, default_bg, 1},
|
||
{{{U"b", U"B"}, {U"\""}}, default_bg, 1},
|
||
{{{U"n", U"N"}, {U":"}}, default_bg, 1},
|
||
{{{U"m", U"M"}, {U";"}}, default_bg, 1},
|
||
{{{U",", U"-"}, {U"<"}}, default_bg, 1},
|
||
{{{U".", U"_"}, {U"="}}, default_bg, 1},
|
||
{{{U"?", U"/"}, {U">"}}, default_bg, 1},
|
||
|
||
// Control
|
||
{{{U"A/a"}, {U""}}, special2_bg, 2, button_flags::_shift, shift_cb },
|
||
{{{U"@#:"}, {U"ABC"}}, special2_bg, 2, button_flags::_layer, layer_cb },
|
||
{{{space}, {space}}, special_bg, 2, button_flags::_space, space_cb },
|
||
{{{backspace}, {backspace}}, special_bg, 2, button_flags::_default, delete_cb },
|
||
{{{enter}, {enter}}, special2_bg, 2, button_flags::_return, enter_cb },
|
||
};
|
||
}
|
||
|
||
osk_panel_alphabet_full_width::osk_panel_alphabet_full_width(callback_t shift_cb, callback_t layer_cb, callback_t space_cb, callback_t delete_cb, callback_t enter_cb)
|
||
: osk_panel(CELL_OSKDIALOG_PANELMODE_ALPHABET_FULL_WIDTH)
|
||
{
|
||
num_rows = 5;
|
||
num_columns = 10;
|
||
cell_size_x = 50;
|
||
cell_size_y = 40;
|
||
|
||
layout =
|
||
{
|
||
// Row 1
|
||
{{{U"1", U"!"}, {U"!"}}, default_bg, 1},
|
||
{{{U"2", U"@"}, {U"@"}}, default_bg, 1},
|
||
{{{U"3", U"#"}, {U"#"}}, default_bg, 1},
|
||
{{{U"4", U"$"}, {U"$"}}, default_bg, 1},
|
||
{{{U"5", U"%"}, {U"%"}}, default_bg, 1},
|
||
{{{U"6", U"^"}, {U"^"}}, default_bg, 1},
|
||
{{{U"7", U"&"}, {U"&"}}, default_bg, 1},
|
||
{{{U"8", U"*"}, {U"*"}}, default_bg, 1},
|
||
{{{U"9", U"("}, {U"("}}, default_bg, 1},
|
||
{{{U"0", U")"}, {U")"}}, default_bg, 1},
|
||
|
||
// Row 2
|
||
{{{U"q", U"Q"}, {U"~"}}, default_bg, 1},
|
||
{{{U"w", U"W"}, {U"_"}}, default_bg, 1},
|
||
{{{U"e", U"E"}, {U"&"}}, default_bg, 1},
|
||
{{{U"r", U"R"}, {U"@"}}, default_bg, 1},
|
||
{{{U"t", U"T"}, {U"#"}}, default_bg, 1},
|
||
{{{U"y", U"Y"}, {U"%"}}, default_bg, 1},
|
||
{{{U"u", U"U"}, {U"+"}}, default_bg, 1},
|
||
{{{U"i", U"I"}, {U"-"}}, default_bg, 1},
|
||
{{{U"o", U"O"}, {U"*"}}, default_bg, 1},
|
||
{{{U"p", U"P"}, {U"・"}}, default_bg, 1},
|
||
|
||
// Row 3
|
||
{{{U"a", U"A"}, {U"<"}}, default_bg, 1},
|
||
{{{U"s", U"S"}, {U">"}}, default_bg, 1},
|
||
{{{U"d", U"D"}, {U"("}}, default_bg, 1},
|
||
{{{U"f", U"F"}, {U")"}}, default_bg, 1},
|
||
{{{U"g", U"G"}, {U"["}}, default_bg, 1},
|
||
{{{U"h", U"H"}, {U"]"}}, default_bg, 1},
|
||
{{{U"j", U"J"}, {U"{"}}, default_bg, 1},
|
||
{{{U"k", U"K"}, {U"}"}}, default_bg, 1},
|
||
{{{U"l", U"L"}, {U"「"}}, default_bg, 1},
|
||
{{{U"'", U"""}, {U"」"}}, default_bg, 1},
|
||
|
||
// Row 4
|
||
{{{U"z", U"Z"}, {U"="}}, default_bg, 1},
|
||
{{{U"x", U"X"}, {U"|"}}, default_bg, 1},
|
||
{{{U"c", U"C"}, {U"。"}}, default_bg, 1},
|
||
{{{U"v", U"V"}, {U"/"}}, default_bg, 1},
|
||
{{{U"b", U"B"}, {U"\"}}, default_bg, 1},
|
||
{{{U"n", U"N"}, {U"¬"}}, default_bg, 1},
|
||
{{{U"m", U"M"}, {U"$"}}, default_bg, 1},
|
||
{{{U",", U"-"}, {U"¥"}}, default_bg, 1},
|
||
{{{U".", U"_"}, {U"、"}}, default_bg, 1},
|
||
{{{U"?", U"/"}, {U""}}, default_bg, 1},
|
||
|
||
// Control
|
||
{{{U"A/a"}, {U""}}, special2_bg, 2, button_flags::_shift, shift_cb },
|
||
{{{U"@#:"}, {U"ABC"}}, special2_bg, 2, button_flags::_layer, layer_cb },
|
||
{{{space}, {space}}, special_bg, 2, button_flags::_space, space_cb },
|
||
{{{backspace}, {backspace}}, special_bg, 2, button_flags::_default, delete_cb },
|
||
{{{enter}, {enter}}, special2_bg, 2, button_flags::_return, enter_cb },
|
||
};
|
||
}
|
||
|
||
osk_panel_numeral_half_width::osk_panel_numeral_half_width(callback_t /*shift_cb*/, callback_t /*layer_cb*/, callback_t space_cb, callback_t delete_cb, callback_t enter_cb)
|
||
: osk_panel(CELL_OSKDIALOG_PANELMODE_NUMERAL)
|
||
{
|
||
num_rows = 2;
|
||
num_columns = 10;
|
||
cell_size_x = 50;
|
||
cell_size_y = 40;
|
||
|
||
layout =
|
||
{
|
||
// Row 1
|
||
{{{U"1"}}, default_bg, 1},
|
||
{{{U"2"}}, default_bg, 1},
|
||
{{{U"3"}}, default_bg, 1},
|
||
{{{U"4"}}, default_bg, 1},
|
||
{{{U"5"}}, default_bg, 1},
|
||
{{{U"6"}}, default_bg, 1},
|
||
{{{U"7"}}, default_bg, 1},
|
||
{{{U"8"}}, default_bg, 1},
|
||
{{{U"9"}}, default_bg, 1},
|
||
{{{U"0"}}, default_bg, 1},
|
||
|
||
// Control
|
||
{{{U""}}, special2_bg, 2, button_flags::_shift, nullptr },
|
||
{{{U""}}, special2_bg, 2, button_flags::_layer, nullptr },
|
||
{{{space}}, special_bg, 2, button_flags::_space, space_cb },
|
||
{{{backspace}}, special_bg, 2, button_flags::_default, delete_cb },
|
||
{{{enter}}, special2_bg, 2, button_flags::_return, enter_cb },
|
||
};
|
||
}
|
||
|
||
osk_panel_numeral_full_width::osk_panel_numeral_full_width(callback_t /*shift_cb*/, callback_t /*layer_cb*/, callback_t space_cb, callback_t delete_cb, callback_t enter_cb)
|
||
: osk_panel(CELL_OSKDIALOG_PANELMODE_NUMERAL_FULL_WIDTH)
|
||
{
|
||
num_rows = 2;
|
||
num_columns = 10;
|
||
cell_size_x = 50;
|
||
cell_size_y = 40;
|
||
|
||
layout =
|
||
{
|
||
// Row 1
|
||
{{{U"1"}}, default_bg, 1},
|
||
{{{U"2"}}, default_bg, 1},
|
||
{{{U"3"}}, default_bg, 1},
|
||
{{{U"4"}}, default_bg, 1},
|
||
{{{U"5"}}, default_bg, 1},
|
||
{{{U"6"}}, default_bg, 1},
|
||
{{{U"7"}}, default_bg, 1},
|
||
{{{U"8"}}, default_bg, 1},
|
||
{{{U"9"}}, default_bg, 1},
|
||
{{{U"0"}}, default_bg, 1},
|
||
|
||
// Control
|
||
{{{U""}}, special2_bg, 2, button_flags::_shift, nullptr },
|
||
{{{U""}}, special2_bg, 2, button_flags::_layer, nullptr },
|
||
{{{space}}, special_bg, 2, button_flags::_space, space_cb },
|
||
{{{backspace}}, special_bg, 2, button_flags::_default, delete_cb },
|
||
{{{enter}}, special2_bg, 2, button_flags::_return, enter_cb },
|
||
};
|
||
}
|
||
|
||
osk_panel_url::osk_panel_url(callback_t shift_cb, callback_t layer_cb, callback_t space_cb, callback_t delete_cb, callback_t enter_cb)
|
||
: osk_panel(CELL_OSKDIALOG_PANELMODE_URL)
|
||
{
|
||
num_rows = 5;
|
||
num_columns = 10;
|
||
cell_size_x = 50;
|
||
cell_size_y = 40;
|
||
|
||
layout =
|
||
{
|
||
// Row 1
|
||
{{{U"1", U"!"}, {U"!"}}, default_bg, 1},
|
||
{{{U"2", U"@"}, {U"?"}}, default_bg, 1},
|
||
{{{U"3", U"#"}, {U"#"}}, default_bg, 1},
|
||
{{{U"4", U"$"}, {U"$"}}, default_bg, 1},
|
||
{{{U"5", U"%"}, {U"%"}}, default_bg, 1},
|
||
{{{U"6", U"~"}, {U"&"}}, default_bg, 1},
|
||
{{{U"7", U"&"}, {U"'"}}, default_bg, 1},
|
||
{{{U"8", U"*"}, {U"("}}, default_bg, 1},
|
||
{{{U"9", U";"}, {U")"}}, default_bg, 1},
|
||
{{{U"0", U"+"}, {U"*"}}, default_bg, 1},
|
||
|
||
// Row 2
|
||
{{{U"q", U"Q"}, {U"/"}}, default_bg, 1},
|
||
{{{U"w", U"W"}, {U"\\"}}, default_bg, 1},
|
||
{{{U"e", U"E"}, {U"["}}, default_bg, 1},
|
||
{{{U"r", U"R"}, {U"]"}}, default_bg, 1},
|
||
{{{U"t", U"T"}, {U"^"}}, default_bg, 1},
|
||
{{{U"y", U"Y"}, {U"_"}}, default_bg, 1},
|
||
{{{U"u", U"U"}, {U"`"}}, default_bg, 1},
|
||
{{{U"i", U"I"}, {U"{"}}, default_bg, 1},
|
||
{{{U"o", U"O"}, {U"}"}}, default_bg, 1},
|
||
{{{U"p", U"P"}, {U"|"}}, default_bg, 1},
|
||
|
||
// Row 3
|
||
{{{U"a", U"A"}, {U"@"}}, default_bg, 1},
|
||
{{{U"s", U"S"}, {U"°"}}, default_bg, 1},
|
||
{{{U"d", U"D"}, {U"‹"}}, default_bg, 1},
|
||
{{{U"f", U"F"}, {U"›"}}, default_bg, 1},
|
||
{{{U"g", U"G"}, {U"«"}}, default_bg, 1},
|
||
{{{U"h", U"H"}, {U"»"}}, default_bg, 1},
|
||
{{{U"j", U"J"}, {U"ª"}}, default_bg, 1},
|
||
{{{U"k", U"K"}, {U"º"}}, default_bg, 1},
|
||
{{{U"l", U"L"}, {U"×"}}, default_bg, 1},
|
||
{{{U"-", U"="}, {U"÷"}}, default_bg, 1},
|
||
|
||
// Row 4
|
||
{{{U"z", U"Z"}, {U"+"}}, default_bg, 1},
|
||
{{{U"x", U"X"}, {U","}}, default_bg, 1},
|
||
{{{U"c", U"C"}, {U"-"}}, default_bg, 1},
|
||
{{{U"v", U"V"}, {U"."}}, default_bg, 1},
|
||
{{{U"b", U"B"}, {U"\""}}, default_bg, 1},
|
||
{{{U"n", U"N"}, {U":"}}, default_bg, 1},
|
||
{{{U"m", U"M"}, {U";"}}, default_bg, 1},
|
||
{{{U"/", U":"}, {U"<"}}, default_bg, 1},
|
||
{{{U".", U","}, {U"="}}, default_bg, 1},
|
||
{{{U"_", U"?"}, {U">"}}, default_bg, 1},
|
||
|
||
// Control
|
||
{{{U"A/a"}, {U""}}, special2_bg, 2, button_flags::_shift, shift_cb },
|
||
{{{U"@#:"}, {U"ABC"}}, special2_bg, 2, button_flags::_layer, layer_cb },
|
||
{{{space}, {space}}, special_bg, 2, button_flags::_space, space_cb },
|
||
{{{backspace}, {backspace}}, special_bg, 2, button_flags::_default, delete_cb },
|
||
{{{enter}, {enter}}, special2_bg, 2, button_flags::_return, enter_cb },
|
||
};
|
||
}
|
||
|
||
osk_panel_password::osk_panel_password(callback_t shift_cb, callback_t layer_cb, callback_t space_cb, callback_t delete_cb, callback_t enter_cb)
|
||
: osk_panel_alphabet_half_width(shift_cb, layer_cb, space_cb, delete_cb, enter_cb, CELL_OSKDIALOG_PANELMODE_PASSWORD)
|
||
{
|
||
// Same as the half-width alphanumeric character panel.
|
||
}
|
||
}
|
||
}
|