Internally classify keys
This is useful later to split down that massive key list into more logical chunks.
This commit is contained in:
parent
036ce8dc0b
commit
29a1edd3e0
9 changed files with 488 additions and 472 deletions
|
@ -214,10 +214,11 @@ public:
|
||||||
* Create a new key group.
|
* Create a new key group.
|
||||||
*
|
*
|
||||||
* parameter name: Name of the key group.
|
* parameter name: Name of the key group.
|
||||||
|
* parameter _clazz: The key class.
|
||||||
* parameter t: Initial type of the key group.
|
* parameter t: Initial type of the key group.
|
||||||
* throws std::bad_alloc: Not enough memory.
|
* throws std::bad_alloc: Not enough memory.
|
||||||
*/
|
*/
|
||||||
keygroup(const std::string& name, enum type t) throw(std::bad_alloc);
|
keygroup(const std::string& name, const std::string& _clazz, enum type t) throw(std::bad_alloc);
|
||||||
/**
|
/**
|
||||||
* Destructor
|
* Destructor
|
||||||
*/
|
*/
|
||||||
|
@ -331,6 +332,10 @@ public:
|
||||||
* Get status value.
|
* Get status value.
|
||||||
*/
|
*/
|
||||||
signed get_value();
|
signed get_value();
|
||||||
|
/**
|
||||||
|
* Get class.
|
||||||
|
*/
|
||||||
|
const std::string& get_class();
|
||||||
private:
|
private:
|
||||||
signed state;
|
signed state;
|
||||||
enum type ktype;
|
enum type ktype;
|
||||||
|
@ -343,6 +348,7 @@ private:
|
||||||
double compensate2(double value);
|
double compensate2(double value);
|
||||||
void run_listeners(const modifier_set& modifiers, unsigned subkey, bool polarity, bool really, double x);
|
void run_listeners(const modifier_set& modifiers, unsigned subkey, bool polarity, bool really, double x);
|
||||||
std::string keyname;
|
std::string keyname;
|
||||||
|
std::string clazz;
|
||||||
bool requests_hook;
|
bool requests_hook;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -257,6 +257,11 @@ std::string keygroup::name() throw(std::bad_alloc)
|
||||||
return keyname;
|
return keyname;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const std::string& keygroup::get_class()
|
||||||
|
{
|
||||||
|
return clazz;
|
||||||
|
}
|
||||||
|
|
||||||
struct keygroup::parameters keygroup::get_parameters()
|
struct keygroup::parameters keygroup::get_parameters()
|
||||||
{
|
{
|
||||||
parameters p;
|
parameters p;
|
||||||
|
@ -277,9 +282,10 @@ std::map<std::string, struct keygroup::parameters> keygroup::get_all_parameters(
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
keygroup::keygroup(const std::string& name, enum type t) throw(std::bad_alloc)
|
keygroup::keygroup(const std::string& name, const std::string& _clazz, enum type t) throw(std::bad_alloc)
|
||||||
{
|
{
|
||||||
keygroups()[keyname = name] = this;
|
keygroups()[keyname = name] = this;
|
||||||
|
clazz = _clazz;
|
||||||
ktype = t;
|
ktype = t;
|
||||||
state = 0;
|
state = 0;
|
||||||
last_rawval = 0;
|
last_rawval = 0;
|
||||||
|
|
|
@ -93,7 +93,7 @@ namespace
|
||||||
std::ostringstream _name;
|
std::ostringstream _name;
|
||||||
_name << "joystick" << joynum << "button" << buttonnum;
|
_name << "joystick" << joynum << "button" << buttonnum;
|
||||||
std::string name = _name.str();
|
std::string name = _name.str();
|
||||||
keygroup* grp = new keygroup(name, keygroup::KT_KEY);
|
keygroup* grp = new keygroup(name, "joystick", keygroup::KT_KEY);
|
||||||
keygroups.insert(grp);
|
keygroups.insert(grp);
|
||||||
struct event_mapping evmap;
|
struct event_mapping evmap;
|
||||||
evmap.joystick = joynum;
|
evmap.joystick = joynum;
|
||||||
|
@ -115,9 +115,9 @@ namespace
|
||||||
std::string name = _name.str();
|
std::string name = _name.str();
|
||||||
keygroup* grp;
|
keygroup* grp;
|
||||||
if(min < 0)
|
if(min < 0)
|
||||||
grp = new keygroup(name, keygroup::KT_AXIS_PAIR);
|
grp = new keygroup(name, "joystick", keygroup::KT_AXIS_PAIR);
|
||||||
else
|
else
|
||||||
grp = new keygroup(name, keygroup::KT_PRESSURE_MP);
|
grp = new keygroup(name, "joystick", keygroup::KT_PRESSURE_MP);
|
||||||
keygroups.insert(grp);
|
keygroups.insert(grp);
|
||||||
struct event_mapping evmap;
|
struct event_mapping evmap;
|
||||||
evmap.joystick = joynum;
|
evmap.joystick = joynum;
|
||||||
|
@ -138,7 +138,7 @@ namespace
|
||||||
std::ostringstream _name;
|
std::ostringstream _name;
|
||||||
_name << "joystick" << joynum << "hat" << hatnum;
|
_name << "joystick" << joynum << "hat" << hatnum;
|
||||||
std::string name = _name.str();
|
std::string name = _name.str();
|
||||||
keygroup* grp = new keygroup(name, keygroup::KT_HAT);
|
keygroup* grp = new keygroup(name, "joystick", keygroup::KT_HAT);
|
||||||
keygroups.insert(grp);
|
keygroups.insert(grp);
|
||||||
struct event_mapping evmap1;
|
struct event_mapping evmap1;
|
||||||
evmap1.joystick = joynum;
|
evmap1.joystick = joynum;
|
||||||
|
|
|
@ -275,11 +275,11 @@ namespace
|
||||||
platform::queue(emu_handle_quit_signal, NULL, false);
|
platform::queue(emu_handle_quit_signal, NULL, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
keygroup mouse_x("mouse_x", keygroup::KT_MOUSE);
|
keygroup mouse_x("mouse_x", "mouse", keygroup::KT_MOUSE);
|
||||||
keygroup mouse_y("mouse_y", keygroup::KT_MOUSE);
|
keygroup mouse_y("mouse_y", "mouse", keygroup::KT_MOUSE);
|
||||||
keygroup mouse_l("mouse_left", keygroup::KT_KEY);
|
keygroup mouse_l("mouse_left", "mouse", keygroup::KT_KEY);
|
||||||
keygroup mouse_m("mouse_center", keygroup::KT_KEY);
|
keygroup mouse_m("mouse_center", "mouse", keygroup::KT_KEY);
|
||||||
keygroup mouse_r("mouse_right", keygroup::KT_KEY);
|
keygroup mouse_r("mouse_right", "mouse", keygroup::KT_KEY);
|
||||||
}
|
}
|
||||||
|
|
||||||
void notify_emulator_exit()
|
void notify_emulator_exit()
|
||||||
|
|
|
@ -71,19 +71,19 @@ void joystick_plugin::init() throw()
|
||||||
unsigned num = 256 * i + k;
|
unsigned num = 256 * i + k;
|
||||||
std::ostringstream x;
|
std::ostringstream x;
|
||||||
x << "joystick" << i << "axis" << k;
|
x << "joystick" << i << "axis" << k;
|
||||||
joyaxis[num] = new keygroup(x.str(), keygroup::KT_AXIS_PAIR);
|
joyaxis[num] = new keygroup(x.str(), "joystick", keygroup::KT_AXIS_PAIR);
|
||||||
}
|
}
|
||||||
for(int k = 0; k < SDL_JoystickNumButtons(j); k++) {
|
for(int k = 0; k < SDL_JoystickNumButtons(j); k++) {
|
||||||
unsigned num = 256 * i + k;
|
unsigned num = 256 * i + k;
|
||||||
std::ostringstream x;
|
std::ostringstream x;
|
||||||
x << "joystick" << i << "button" << k;
|
x << "joystick" << i << "button" << k;
|
||||||
joybutton[num] = new keygroup(x.str(), keygroup::KT_KEY);
|
joybutton[num] = new keygroup(x.str(), "joystick", keygroup::KT_KEY);
|
||||||
}
|
}
|
||||||
for(int k = 0; k < SDL_JoystickNumHats(j); k++) {
|
for(int k = 0; k < SDL_JoystickNumHats(j); k++) {
|
||||||
unsigned num = 256 * i + k;
|
unsigned num = 256 * i + k;
|
||||||
std::ostringstream x;
|
std::ostringstream x;
|
||||||
x << "joystick" << i << "hat" << k;
|
x << "joystick" << i << "hat" << k;
|
||||||
joyhat[num] = new keygroup(x.str(), keygroup::KT_HAT);
|
joyhat[num] = new keygroup(x.str(), "joystick", keygroup::KT_HAT);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -34,239 +34,240 @@ namespace
|
||||||
struct sdl_key
|
struct sdl_key
|
||||||
{
|
{
|
||||||
const char* name;
|
const char* name;
|
||||||
|
const char* clazz;
|
||||||
unsigned symbol;
|
unsigned symbol;
|
||||||
} keys_table[] = {
|
} keys_table[] = {
|
||||||
{"backspace", SDLK_BACKSPACE },
|
{"backspace", "editing", SDLK_BACKSPACE },
|
||||||
{"tab", SDLK_TAB },
|
{"tab", "editing", SDLK_TAB },
|
||||||
{"clear", SDLK_CLEAR },
|
{"clear", "editing", SDLK_CLEAR },
|
||||||
{"return", SDLK_RETURN },
|
{"return", "editing", SDLK_RETURN },
|
||||||
{"pause", SDLK_PAUSE },
|
{"pause", "special", SDLK_PAUSE },
|
||||||
{"escape", SDLK_ESCAPE },
|
{"escape", "editing", SDLK_ESCAPE },
|
||||||
{"space", SDLK_SPACE },
|
{"space", "characters", SDLK_SPACE },
|
||||||
{"exclaim", SDLK_EXCLAIM },
|
{"exclaim", "characters", SDLK_EXCLAIM },
|
||||||
{"quotedbl", SDLK_QUOTEDBL },
|
{"quotedbl", "characters", SDLK_QUOTEDBL },
|
||||||
{"hash", SDLK_HASH },
|
{"hash", "characters", SDLK_HASH },
|
||||||
{"dollar", SDLK_DOLLAR },
|
{"dollar", "characters", SDLK_DOLLAR },
|
||||||
{"ampersand", SDLK_AMPERSAND },
|
{"ampersand", "characters", SDLK_AMPERSAND },
|
||||||
{"quote", SDLK_QUOTE },
|
{"quote", "characters", SDLK_QUOTE },
|
||||||
{"leftparen", SDLK_LEFTPAREN },
|
{"leftparen", "characters", SDLK_LEFTPAREN },
|
||||||
{"rightparen", SDLK_RIGHTPAREN },
|
{"rightparen", "characters", SDLK_RIGHTPAREN },
|
||||||
{"asterisk", SDLK_ASTERISK },
|
{"asterisk", "characters", SDLK_ASTERISK },
|
||||||
{"plus", SDLK_PLUS },
|
{"plus", "characters", SDLK_PLUS },
|
||||||
{"comma", SDLK_COMMA },
|
{"comma", "characters", SDLK_COMMA },
|
||||||
{"minus", SDLK_MINUS },
|
{"minus", "characters", SDLK_MINUS },
|
||||||
{"period", SDLK_PERIOD },
|
{"period", "characters", SDLK_PERIOD },
|
||||||
{"slash", SDLK_SLASH },
|
{"slash", "characters", SDLK_SLASH },
|
||||||
{"0", SDLK_0 },
|
{"0", "numeric", SDLK_0 },
|
||||||
{"1", SDLK_1 },
|
{"1", "numeric", SDLK_1 },
|
||||||
{"2", SDLK_2 },
|
{"2", "numeric", SDLK_2 },
|
||||||
{"3", SDLK_3 },
|
{"3", "numeric", SDLK_3 },
|
||||||
{"4", SDLK_4 },
|
{"4", "numeric", SDLK_4 },
|
||||||
{"5", SDLK_5 },
|
{"5", "numeric", SDLK_5 },
|
||||||
{"6", SDLK_6 },
|
{"6", "numeric", SDLK_6 },
|
||||||
{"7", SDLK_7 },
|
{"7", "numeric", SDLK_7 },
|
||||||
{"8", SDLK_8 },
|
{"8", "numeric", SDLK_8 },
|
||||||
{"9", SDLK_9 },
|
{"9", "numeric", SDLK_9 },
|
||||||
{"colon", SDLK_COLON },
|
{"colon", "characters", SDLK_COLON },
|
||||||
{"semicolon", SDLK_SEMICOLON },
|
{"semicolon", "characters", SDLK_SEMICOLON },
|
||||||
{"less", SDLK_LESS },
|
{"less", "characters", SDLK_LESS },
|
||||||
{"equals", SDLK_EQUALS },
|
{"equals", "characters", SDLK_EQUALS },
|
||||||
{"greater", SDLK_GREATER },
|
{"greater", "characters", SDLK_GREATER },
|
||||||
{"question", SDLK_QUESTION },
|
{"question", "characters", SDLK_QUESTION },
|
||||||
{"at", SDLK_AT },
|
{"at", "characters", SDLK_AT },
|
||||||
{"leftbracket", SDLK_LEFTBRACKET },
|
{"leftbracket", "characters", SDLK_LEFTBRACKET },
|
||||||
{"backslash", SDLK_BACKSLASH },
|
{"backslash", "characters", SDLK_BACKSLASH },
|
||||||
{"rightbracket", SDLK_RIGHTBRACKET },
|
{"rightbracket", "characters", SDLK_RIGHTBRACKET },
|
||||||
{"caret", SDLK_CARET },
|
{"caret", "characters", SDLK_CARET },
|
||||||
{"underscore", SDLK_UNDERSCORE },
|
{"underscore", "characters", SDLK_UNDERSCORE },
|
||||||
{"backquote", SDLK_BACKQUOTE },
|
{"backquote", "characters", SDLK_BACKQUOTE },
|
||||||
{"a", SDLK_a },
|
{"a", "alphabetic", SDLK_a },
|
||||||
{"b", SDLK_b },
|
{"b", "alphabetic", SDLK_b },
|
||||||
{"c", SDLK_c },
|
{"c", "alphabetic", SDLK_c },
|
||||||
{"d", SDLK_d },
|
{"d", "alphabetic", SDLK_d },
|
||||||
{"e", SDLK_e },
|
{"e", "alphabetic", SDLK_e },
|
||||||
{"f", SDLK_f },
|
{"f", "alphabetic", SDLK_f },
|
||||||
{"g", SDLK_g },
|
{"g", "alphabetic", SDLK_g },
|
||||||
{"h", SDLK_h },
|
{"h", "alphabetic", SDLK_h },
|
||||||
{"i", SDLK_i },
|
{"i", "alphabetic", SDLK_i },
|
||||||
{"j", SDLK_j },
|
{"j", "alphabetic", SDLK_j },
|
||||||
{"k", SDLK_k },
|
{"k", "alphabetic", SDLK_k },
|
||||||
{"l", SDLK_l },
|
{"l", "alphabetic", SDLK_l },
|
||||||
{"m", SDLK_m },
|
{"m", "alphabetic", SDLK_m },
|
||||||
{"n", SDLK_n },
|
{"n", "alphabetic", SDLK_n },
|
||||||
{"o", SDLK_o },
|
{"o", "alphabetic", SDLK_o },
|
||||||
{"p", SDLK_p },
|
{"p", "alphabetic", SDLK_p },
|
||||||
{"q", SDLK_q },
|
{"q", "alphabetic", SDLK_q },
|
||||||
{"r", SDLK_r },
|
{"r", "alphabetic", SDLK_r },
|
||||||
{"s", SDLK_s },
|
{"s", "alphabetic", SDLK_s },
|
||||||
{"t", SDLK_t },
|
{"t", "alphabetic", SDLK_t },
|
||||||
{"u", SDLK_u },
|
{"u", "alphabetic", SDLK_u },
|
||||||
{"v", SDLK_v },
|
{"v", "alphabetic", SDLK_v },
|
||||||
{"w", SDLK_w },
|
{"w", "alphabetic", SDLK_w },
|
||||||
{"x", SDLK_x },
|
{"x", "alphabetic", SDLK_x },
|
||||||
{"y", SDLK_y },
|
{"y", "alphabetic", SDLK_y },
|
||||||
{"z", SDLK_z },
|
{"z", "alphabetic", SDLK_z },
|
||||||
{"delete", SDLK_DELETE },
|
{"delete", "editing", SDLK_DELETE },
|
||||||
{"world_0", SDLK_WORLD_0 },
|
{"world_0", "international",SDLK_WORLD_0 },
|
||||||
{"world_1", SDLK_WORLD_1 },
|
{"world_1", "international",SDLK_WORLD_1 },
|
||||||
{"world_2", SDLK_WORLD_2 },
|
{"world_2", "international",SDLK_WORLD_2 },
|
||||||
{"world_3", SDLK_WORLD_3 },
|
{"world_3", "international",SDLK_WORLD_3 },
|
||||||
{"world_4", SDLK_WORLD_4 },
|
{"world_4", "international",SDLK_WORLD_4 },
|
||||||
{"world_5", SDLK_WORLD_5 },
|
{"world_5", "international",SDLK_WORLD_5 },
|
||||||
{"world_6", SDLK_WORLD_6 },
|
{"world_6", "international",SDLK_WORLD_6 },
|
||||||
{"world_7", SDLK_WORLD_7 },
|
{"world_7", "international",SDLK_WORLD_7 },
|
||||||
{"world_8", SDLK_WORLD_8 },
|
{"world_8", "international",SDLK_WORLD_8 },
|
||||||
{"world_9", SDLK_WORLD_9 },
|
{"world_9", "international",SDLK_WORLD_9 },
|
||||||
{"world_10", SDLK_WORLD_10 },
|
{"world_10", "international",SDLK_WORLD_10 },
|
||||||
{"world_11", SDLK_WORLD_11 },
|
{"world_11", "international",SDLK_WORLD_11 },
|
||||||
{"world_12", SDLK_WORLD_12 },
|
{"world_12", "international",SDLK_WORLD_12 },
|
||||||
{"world_13", SDLK_WORLD_13 },
|
{"world_13", "international",SDLK_WORLD_13 },
|
||||||
{"world_14", SDLK_WORLD_14 },
|
{"world_14", "international",SDLK_WORLD_14 },
|
||||||
{"world_15", SDLK_WORLD_15 },
|
{"world_15", "international",SDLK_WORLD_15 },
|
||||||
{"world_16", SDLK_WORLD_16 },
|
{"world_16", "international",SDLK_WORLD_16 },
|
||||||
{"world_17", SDLK_WORLD_17 },
|
{"world_17", "international",SDLK_WORLD_17 },
|
||||||
{"world_18", SDLK_WORLD_18 },
|
{"world_18", "international",SDLK_WORLD_18 },
|
||||||
{"world_19", SDLK_WORLD_19 },
|
{"world_19", "international",SDLK_WORLD_19 },
|
||||||
{"world_20", SDLK_WORLD_20 },
|
{"world_20", "international",SDLK_WORLD_20 },
|
||||||
{"world_21", SDLK_WORLD_21 },
|
{"world_21", "international",SDLK_WORLD_21 },
|
||||||
{"world_22", SDLK_WORLD_22 },
|
{"world_22", "international",SDLK_WORLD_22 },
|
||||||
{"world_23", SDLK_WORLD_23 },
|
{"world_23", "international",SDLK_WORLD_23 },
|
||||||
{"world_24", SDLK_WORLD_24 },
|
{"world_24", "international",SDLK_WORLD_24 },
|
||||||
{"world_25", SDLK_WORLD_25 },
|
{"world_25", "international",SDLK_WORLD_25 },
|
||||||
{"world_26", SDLK_WORLD_26 },
|
{"world_26", "international",SDLK_WORLD_26 },
|
||||||
{"world_27", SDLK_WORLD_27 },
|
{"world_27", "international",SDLK_WORLD_27 },
|
||||||
{"world_28", SDLK_WORLD_28 },
|
{"world_28", "international",SDLK_WORLD_28 },
|
||||||
{"world_29", SDLK_WORLD_29 },
|
{"world_29", "international",SDLK_WORLD_29 },
|
||||||
{"world_30", SDLK_WORLD_30 },
|
{"world_30", "international",SDLK_WORLD_30 },
|
||||||
{"world_31", SDLK_WORLD_31 },
|
{"world_31", "international",SDLK_WORLD_31 },
|
||||||
{"world_32", SDLK_WORLD_32 },
|
{"world_32", "international",SDLK_WORLD_32 },
|
||||||
{"world_33", SDLK_WORLD_33 },
|
{"world_33", "international",SDLK_WORLD_33 },
|
||||||
{"world_34", SDLK_WORLD_34 },
|
{"world_34", "international",SDLK_WORLD_34 },
|
||||||
{"world_35", SDLK_WORLD_35 },
|
{"world_35", "international",SDLK_WORLD_35 },
|
||||||
{"world_36", SDLK_WORLD_36 },
|
{"world_36", "international",SDLK_WORLD_36 },
|
||||||
{"world_37", SDLK_WORLD_37 },
|
{"world_37", "international",SDLK_WORLD_37 },
|
||||||
{"world_38", SDLK_WORLD_38 },
|
{"world_38", "international",SDLK_WORLD_38 },
|
||||||
{"world_39", SDLK_WORLD_39 },
|
{"world_39", "international",SDLK_WORLD_39 },
|
||||||
{"world_40", SDLK_WORLD_40 },
|
{"world_40", "international",SDLK_WORLD_40 },
|
||||||
{"world_41", SDLK_WORLD_41 },
|
{"world_41", "international",SDLK_WORLD_41 },
|
||||||
{"world_42", SDLK_WORLD_42 },
|
{"world_42", "international",SDLK_WORLD_42 },
|
||||||
{"world_43", SDLK_WORLD_43 },
|
{"world_43", "international",SDLK_WORLD_43 },
|
||||||
{"world_44", SDLK_WORLD_44 },
|
{"world_44", "international",SDLK_WORLD_44 },
|
||||||
{"world_45", SDLK_WORLD_45 },
|
{"world_45", "international",SDLK_WORLD_45 },
|
||||||
{"world_46", SDLK_WORLD_46 },
|
{"world_46", "international",SDLK_WORLD_46 },
|
||||||
{"world_47", SDLK_WORLD_47 },
|
{"world_47", "international",SDLK_WORLD_47 },
|
||||||
{"world_48", SDLK_WORLD_48 },
|
{"world_48", "international",SDLK_WORLD_48 },
|
||||||
{"world_49", SDLK_WORLD_49 },
|
{"world_49", "international",SDLK_WORLD_49 },
|
||||||
{"world_50", SDLK_WORLD_50 },
|
{"world_50", "international",SDLK_WORLD_50 },
|
||||||
{"world_51", SDLK_WORLD_51 },
|
{"world_51", "international",SDLK_WORLD_51 },
|
||||||
{"world_52", SDLK_WORLD_52 },
|
{"world_52", "international",SDLK_WORLD_52 },
|
||||||
{"world_53", SDLK_WORLD_53 },
|
{"world_53", "international",SDLK_WORLD_53 },
|
||||||
{"world_54", SDLK_WORLD_54 },
|
{"world_54", "international",SDLK_WORLD_54 },
|
||||||
{"world_55", SDLK_WORLD_55 },
|
{"world_55", "international",SDLK_WORLD_55 },
|
||||||
{"world_56", SDLK_WORLD_56 },
|
{"world_56", "international",SDLK_WORLD_56 },
|
||||||
{"world_57", SDLK_WORLD_57 },
|
{"world_57", "international",SDLK_WORLD_57 },
|
||||||
{"world_58", SDLK_WORLD_58 },
|
{"world_58", "international",SDLK_WORLD_58 },
|
||||||
{"world_59", SDLK_WORLD_59 },
|
{"world_59", "international",SDLK_WORLD_59 },
|
||||||
{"world_60", SDLK_WORLD_60 },
|
{"world_60", "international",SDLK_WORLD_60 },
|
||||||
{"world_61", SDLK_WORLD_61 },
|
{"world_61", "international",SDLK_WORLD_61 },
|
||||||
{"world_62", SDLK_WORLD_62 },
|
{"world_62", "international",SDLK_WORLD_62 },
|
||||||
{"world_63", SDLK_WORLD_63 },
|
{"world_63", "international",SDLK_WORLD_63 },
|
||||||
{"world_64", SDLK_WORLD_64 },
|
{"world_64", "international",SDLK_WORLD_64 },
|
||||||
{"world_65", SDLK_WORLD_65 },
|
{"world_65", "international",SDLK_WORLD_65 },
|
||||||
{"world_66", SDLK_WORLD_66 },
|
{"world_66", "international",SDLK_WORLD_66 },
|
||||||
{"world_67", SDLK_WORLD_67 },
|
{"world_67", "international",SDLK_WORLD_67 },
|
||||||
{"world_68", SDLK_WORLD_68 },
|
{"world_68", "international",SDLK_WORLD_68 },
|
||||||
{"world_69", SDLK_WORLD_69 },
|
{"world_69", "international",SDLK_WORLD_69 },
|
||||||
{"world_70", SDLK_WORLD_70 },
|
{"world_70", "international",SDLK_WORLD_70 },
|
||||||
{"world_71", SDLK_WORLD_71 },
|
{"world_71", "international",SDLK_WORLD_71 },
|
||||||
{"world_72", SDLK_WORLD_72 },
|
{"world_72", "international",SDLK_WORLD_72 },
|
||||||
{"world_73", SDLK_WORLD_73 },
|
{"world_73", "international",SDLK_WORLD_73 },
|
||||||
{"world_74", SDLK_WORLD_74 },
|
{"world_74", "international",SDLK_WORLD_74 },
|
||||||
{"world_75", SDLK_WORLD_75 },
|
{"world_75", "international",SDLK_WORLD_75 },
|
||||||
{"world_76", SDLK_WORLD_76 },
|
{"world_76", "international",SDLK_WORLD_76 },
|
||||||
{"world_77", SDLK_WORLD_77 },
|
{"world_77", "international",SDLK_WORLD_77 },
|
||||||
{"world_78", SDLK_WORLD_78 },
|
{"world_78", "international",SDLK_WORLD_78 },
|
||||||
{"world_79", SDLK_WORLD_79 },
|
{"world_79", "international",SDLK_WORLD_79 },
|
||||||
{"world_80", SDLK_WORLD_80 },
|
{"world_80", "international",SDLK_WORLD_80 },
|
||||||
{"world_81", SDLK_WORLD_81 },
|
{"world_81", "international",SDLK_WORLD_81 },
|
||||||
{"world_82", SDLK_WORLD_82 },
|
{"world_82", "international",SDLK_WORLD_82 },
|
||||||
{"world_83", SDLK_WORLD_83 },
|
{"world_83", "international",SDLK_WORLD_83 },
|
||||||
{"world_84", SDLK_WORLD_84 },
|
{"world_84", "international",SDLK_WORLD_84 },
|
||||||
{"world_85", SDLK_WORLD_85 },
|
{"world_85", "international",SDLK_WORLD_85 },
|
||||||
{"world_86", SDLK_WORLD_86 },
|
{"world_86", "international",SDLK_WORLD_86 },
|
||||||
{"world_87", SDLK_WORLD_87 },
|
{"world_87", "international",SDLK_WORLD_87 },
|
||||||
{"world_88", SDLK_WORLD_88 },
|
{"world_88", "international",SDLK_WORLD_88 },
|
||||||
{"world_89", SDLK_WORLD_89 },
|
{"world_89", "international",SDLK_WORLD_89 },
|
||||||
{"world_90", SDLK_WORLD_90 },
|
{"world_90", "international",SDLK_WORLD_90 },
|
||||||
{"world_91", SDLK_WORLD_91 },
|
{"world_91", "international",SDLK_WORLD_91 },
|
||||||
{"world_92", SDLK_WORLD_92 },
|
{"world_92", "international",SDLK_WORLD_92 },
|
||||||
{"world_93", SDLK_WORLD_93 },
|
{"world_93", "international",SDLK_WORLD_93 },
|
||||||
{"world_94", SDLK_WORLD_94 },
|
{"world_94", "international",SDLK_WORLD_94 },
|
||||||
{"world_95", SDLK_WORLD_95 },
|
{"world_95", "international",SDLK_WORLD_95 },
|
||||||
{"kp0", SDLK_KP0 },
|
{"kp0", "numeric", SDLK_KP0 },
|
||||||
{"kp1", SDLK_KP1 },
|
{"kp1", "numeric", SDLK_KP1 },
|
||||||
{"kp2", SDLK_KP2 },
|
{"kp2", "numeric", SDLK_KP2 },
|
||||||
{"kp3", SDLK_KP3 },
|
{"kp3", "numeric", SDLK_KP3 },
|
||||||
{"kp4", SDLK_KP4 },
|
{"kp4", "numeric", SDLK_KP4 },
|
||||||
{"kp5", SDLK_KP5 },
|
{"kp5", "numeric", SDLK_KP5 },
|
||||||
{"kp6", SDLK_KP6 },
|
{"kp6", "numeric", SDLK_KP6 },
|
||||||
{"kp7", SDLK_KP7 },
|
{"kp7", "numeric", SDLK_KP7 },
|
||||||
{"kp8", SDLK_KP8 },
|
{"kp8", "numeric", SDLK_KP8 },
|
||||||
{"kp9", SDLK_KP9 },
|
{"kp9", "numeric", SDLK_KP9 },
|
||||||
{"kp_period", SDLK_KP_PERIOD },
|
{"kp_period", "characters", SDLK_KP_PERIOD },
|
||||||
{"kp_divide", SDLK_KP_DIVIDE },
|
{"kp_divide", "characters", SDLK_KP_DIVIDE },
|
||||||
{"kp_multiply", SDLK_KP_MULTIPLY },
|
{"kp_multiply", "characters", SDLK_KP_MULTIPLY },
|
||||||
{"kp_minus", SDLK_KP_MINUS },
|
{"kp_minus", "characters", SDLK_KP_MINUS },
|
||||||
{"kp_plus", SDLK_KP_PLUS },
|
{"kp_plus", "characters", SDLK_KP_PLUS },
|
||||||
{"kp_enter", SDLK_KP_ENTER },
|
{"kp_enter", "characters", SDLK_KP_ENTER },
|
||||||
{"kp_equals", SDLK_KP_EQUALS },
|
{"kp_equals", "characters", SDLK_KP_EQUALS },
|
||||||
{"up", SDLK_UP },
|
{"up", "editing", SDLK_UP },
|
||||||
{"down", SDLK_DOWN },
|
{"down", "editing", SDLK_DOWN },
|
||||||
{"right", SDLK_RIGHT },
|
{"right", "editing", SDLK_RIGHT },
|
||||||
{"left", SDLK_LEFT },
|
{"left", "editing", SDLK_LEFT },
|
||||||
{"insert", SDLK_INSERT },
|
{"insert", "editing", SDLK_INSERT },
|
||||||
{"home", SDLK_HOME },
|
{"home", "editing", SDLK_HOME },
|
||||||
{"end", SDLK_END },
|
{"end", "editing", SDLK_END },
|
||||||
{"pageup", SDLK_PAGEUP },
|
{"pageup", "editing", SDLK_PAGEUP },
|
||||||
{"pagedown", SDLK_PAGEDOWN },
|
{"pagedown", "editing", SDLK_PAGEDOWN },
|
||||||
{"f1", SDLK_F1 },
|
{"f1", "F-keys", SDLK_F1 },
|
||||||
{"f2", SDLK_F2 },
|
{"f2", "F-keys", SDLK_F2 },
|
||||||
{"f3", SDLK_F3 },
|
{"f3", "F-keys", SDLK_F3 },
|
||||||
{"f4", SDLK_F4 },
|
{"f4", "F-keys", SDLK_F4 },
|
||||||
{"f5", SDLK_F5 },
|
{"f5", "F-keys", SDLK_F5 },
|
||||||
{"f6", SDLK_F6 },
|
{"f6", "F-keys", SDLK_F6 },
|
||||||
{"f7", SDLK_F7 },
|
{"f7", "F-keys", SDLK_F7 },
|
||||||
{"f8", SDLK_F8 },
|
{"f8", "F-keys", SDLK_F8 },
|
||||||
{"f9", SDLK_F9 },
|
{"f9", "F-keys", SDLK_F9 },
|
||||||
{"f10", SDLK_F10 },
|
{"f10", "F-keys", SDLK_F10 },
|
||||||
{"f11", SDLK_F11 },
|
{"f11", "F-keys", SDLK_F11 },
|
||||||
{"f12", SDLK_F12 },
|
{"f12", "F-keys", SDLK_F12 },
|
||||||
{"f13", SDLK_F13 },
|
{"f13", "F-keys", SDLK_F13 },
|
||||||
{"f14", SDLK_F14 },
|
{"f14", "F-keys", SDLK_F14 },
|
||||||
{"f15", SDLK_F15 },
|
{"f15", "F-keys", SDLK_F15 },
|
||||||
{"numlock", SDLK_NUMLOCK },
|
{"numlock", "locks", SDLK_NUMLOCK },
|
||||||
{"capslock", SDLK_CAPSLOCK },
|
{"capslock", "locks", SDLK_CAPSLOCK },
|
||||||
{"scrollock", SDLK_SCROLLOCK },
|
{"scrollock", "locks", SDLK_SCROLLOCK },
|
||||||
{"rshift", SDLK_RSHIFT },
|
{"rshift", "modifiers", SDLK_RSHIFT },
|
||||||
{"lshift", SDLK_LSHIFT },
|
{"lshift", "modifiers", SDLK_LSHIFT },
|
||||||
{"rctrl", SDLK_RCTRL },
|
{"rctrl", "modifiers", SDLK_RCTRL },
|
||||||
{"lctrl", SDLK_LCTRL },
|
{"lctrl", "modifiers", SDLK_LCTRL },
|
||||||
{"ralt", SDLK_RALT },
|
{"ralt", "modifiers", SDLK_RALT },
|
||||||
{"lalt", SDLK_LALT },
|
{"lalt", "modifiers", SDLK_LALT },
|
||||||
{"rmeta", SDLK_RMETA },
|
{"rmeta", "modifiers", SDLK_RMETA },
|
||||||
{"lmeta", SDLK_LMETA },
|
{"lmeta", "modifiers", SDLK_LMETA },
|
||||||
{"lsuper", SDLK_LSUPER },
|
{"lsuper", "modifiers", SDLK_LSUPER },
|
||||||
{"rsuper", SDLK_RSUPER },
|
{"rsuper", "modifiers", SDLK_RSUPER },
|
||||||
{"mode", SDLK_MODE },
|
{"mode", "modifiers", SDLK_MODE },
|
||||||
{"compose", SDLK_COMPOSE },
|
{"compose", "modifiers", SDLK_COMPOSE },
|
||||||
{"help", SDLK_HELP },
|
{"help", "special", SDLK_HELP },
|
||||||
{"print", SDLK_PRINT },
|
{"print", "special", SDLK_PRINT },
|
||||||
{"sysreq", SDLK_SYSREQ },
|
{"sysreq", "special", SDLK_SYSREQ },
|
||||||
{"break", SDLK_BREAK },
|
{"break", "special", SDLK_BREAK },
|
||||||
{"menu", SDLK_MENU },
|
{"menu", "special", SDLK_MENU },
|
||||||
{"power", SDLK_POWER },
|
{"power", "special", SDLK_POWER },
|
||||||
{"euro", SDLK_EURO },
|
{"euro", "characters", SDLK_EURO },
|
||||||
{"undo", SDLK_UNDO },
|
{"undo", "special", SDLK_UNDO },
|
||||||
{NULL, 0 }
|
{NULL, 0 }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -366,13 +367,13 @@ void init_sdl_keys()
|
||||||
}
|
}
|
||||||
struct sdl_key* k = keys_table;
|
struct sdl_key* k = keys_table;
|
||||||
while(k->name) {
|
while(k->name) {
|
||||||
symbolkeys[k->symbol] = new keygroup(k->name, keygroup::KT_KEY);
|
symbolkeys[k->symbol] = new keygroup(k->name, k->clazz, keygroup::KT_KEY);
|
||||||
k++;
|
k++;
|
||||||
}
|
}
|
||||||
for(unsigned i = 0; i < 256; i++) {
|
for(unsigned i = 0; i < 256; i++) {
|
||||||
std::ostringstream x;
|
std::ostringstream x;
|
||||||
x << "key" << i;
|
x << "key" << i;
|
||||||
scancodekeys[i] = new keygroup(x.str(), keygroup::KT_KEY);
|
scancodekeys[i] = new keygroup(x.str(), "scancode", keygroup::KT_KEY);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -21,6 +21,7 @@ namespace
|
||||||
void on_ok(wxCommandEvent& e);
|
void on_ok(wxCommandEvent& e);
|
||||||
void on_cancel(wxCommandEvent& e);
|
void on_cancel(wxCommandEvent& e);
|
||||||
void on_clear(wxCommandEvent& e);
|
void on_clear(wxCommandEvent& e);
|
||||||
|
void on_classchange(wxCommandEvent& e);
|
||||||
std::string getkey();
|
std::string getkey();
|
||||||
private:
|
private:
|
||||||
void set_mask(const std::string& mod);
|
void set_mask(const std::string& mod);
|
||||||
|
@ -29,6 +30,7 @@ namespace
|
||||||
void (wxdialog_keyentry::*fn)(const std::string& mod));
|
void (wxdialog_keyentry::*fn)(const std::string& mod));
|
||||||
void load_spec(const std::string& spec);
|
void load_spec(const std::string& spec);
|
||||||
std::map<std::string, keyentry_mod_data> modifiers;
|
std::map<std::string, keyentry_mod_data> modifiers;
|
||||||
|
wxComboBox* mainclass;
|
||||||
wxComboBox* mainkey;
|
wxComboBox* mainkey;
|
||||||
wxButton* ok;
|
wxButton* ok;
|
||||||
wxButton* cancel;
|
wxButton* cancel;
|
||||||
|
|
|
@ -33,226 +33,227 @@ namespace
|
||||||
{
|
{
|
||||||
int keynum;
|
int keynum;
|
||||||
const char* name;
|
const char* name;
|
||||||
|
const char* clazz;
|
||||||
keygroup* allocated;
|
keygroup* allocated;
|
||||||
} keys[] = {
|
} keys[] = {
|
||||||
{ WXK_BACK, "back", NULL },
|
{ WXK_BACK, "back", "editing", NULL },
|
||||||
{ WXK_TAB, "tab", NULL },
|
{ WXK_TAB, "tab", "editing", NULL },
|
||||||
{ WXK_RETURN, "return", NULL },
|
{ WXK_RETURN, "return", "editing", NULL },
|
||||||
{ WXK_ESCAPE, "escape", NULL },
|
{ WXK_ESCAPE, "escape", "editing", NULL },
|
||||||
{ WXK_SPACE, "space", NULL },
|
{ WXK_SPACE, "space", "characters", NULL },
|
||||||
{ 33, "exclaim", NULL },
|
{ 33, "exclaim", "characters", NULL },
|
||||||
{ 34, "quotedbl", NULL },
|
{ 34, "quotedbl", "characters", NULL },
|
||||||
{ 35, "hash", NULL },
|
{ 35, "hash", "characters", NULL },
|
||||||
{ 36, "dollar", NULL },
|
{ 36, "dollar", "characters", NULL },
|
||||||
{ 37, "percent", NULL },
|
{ 37, "percent", "characters", NULL },
|
||||||
{ 38, "ampersand", NULL },
|
{ 38, "ampersand", "characters", NULL },
|
||||||
{ 39, "quote", NULL },
|
{ 39, "quote", "characters", NULL },
|
||||||
{ 40, "leftparen", NULL },
|
{ 40, "leftparen", "characters", NULL },
|
||||||
{ 41, "rightparen", NULL },
|
{ 41, "rightparen", "characters", NULL },
|
||||||
{ 42, "asterisk", NULL },
|
{ 42, "asterisk", "characters", NULL },
|
||||||
{ 43, "plus", NULL },
|
{ 43, "plus", "characters", NULL },
|
||||||
{ 44, "comma", NULL },
|
{ 44, "comma", "characters", NULL },
|
||||||
{ 45, "minus", NULL },
|
{ 45, "minus", "characters", NULL },
|
||||||
{ 46, "period", NULL },
|
{ 46, "period", "characters", NULL },
|
||||||
{ 47, "slash", NULL },
|
{ 47, "slash", "characters", NULL },
|
||||||
{ 48, "0", NULL },
|
{ 48, "0", "numeric", NULL },
|
||||||
{ 49, "1", NULL },
|
{ 49, "1", "numeric", NULL },
|
||||||
{ 50, "2", NULL },
|
{ 50, "2", "numeric", NULL },
|
||||||
{ 51, "3", NULL },
|
{ 51, "3", "numeric", NULL },
|
||||||
{ 52, "4", NULL },
|
{ 52, "4", "numeric", NULL },
|
||||||
{ 53, "5", NULL },
|
{ 53, "5", "numeric", NULL },
|
||||||
{ 54, "6", NULL },
|
{ 54, "6", "numeric", NULL },
|
||||||
{ 55, "7", NULL },
|
{ 55, "7", "numeric", NULL },
|
||||||
{ 56, "8", NULL },
|
{ 56, "8", "numeric", NULL },
|
||||||
{ 57, "9", NULL },
|
{ 57, "9", "numeric", NULL },
|
||||||
{ 58, "colon", NULL },
|
{ 58, "colon", "characters", NULL },
|
||||||
{ 59, "semicolon", NULL },
|
{ 59, "semicolon", "characters", NULL },
|
||||||
{ 60, "less", NULL },
|
{ 60, "less", "characters", NULL },
|
||||||
{ 61, "equals", NULL },
|
{ 61, "equals", "characters", NULL },
|
||||||
{ 62, "greater", NULL },
|
{ 62, "greater", "characters", NULL },
|
||||||
{ 63, "question", NULL },
|
{ 63, "question", "characters", NULL },
|
||||||
{ 64, "at", NULL },
|
{ 64, "at", "characters", NULL },
|
||||||
{ 65, "a", NULL },
|
{ 65, "a", "alphabetic", NULL },
|
||||||
{ 66, "b", NULL },
|
{ 66, "b", "alphabetic", NULL },
|
||||||
{ 67, "c", NULL },
|
{ 67, "c", "alphabetic", NULL },
|
||||||
{ 68, "d", NULL },
|
{ 68, "d", "alphabetic", NULL },
|
||||||
{ 69, "e", NULL },
|
{ 69, "e", "alphabetic", NULL },
|
||||||
{ 70, "f", NULL },
|
{ 70, "f", "alphabetic", NULL },
|
||||||
{ 71, "g", NULL },
|
{ 71, "g", "alphabetic", NULL },
|
||||||
{ 72, "h", NULL },
|
{ 72, "h", "alphabetic", NULL },
|
||||||
{ 73, "i", NULL },
|
{ 73, "i", "alphabetic", NULL },
|
||||||
{ 74, "j", NULL },
|
{ 74, "j", "alphabetic", NULL },
|
||||||
{ 75, "k", NULL },
|
{ 75, "k", "alphabetic", NULL },
|
||||||
{ 76, "l", NULL },
|
{ 76, "l", "alphabetic", NULL },
|
||||||
{ 77, "m", NULL },
|
{ 77, "m", "alphabetic", NULL },
|
||||||
{ 78, "n", NULL },
|
{ 78, "n", "alphabetic", NULL },
|
||||||
{ 79, "o", NULL },
|
{ 79, "o", "alphabetic", NULL },
|
||||||
{ 80, "p", NULL },
|
{ 80, "p", "alphabetic", NULL },
|
||||||
{ 81, "q", NULL },
|
{ 81, "q", "alphabetic", NULL },
|
||||||
{ 82, "r", NULL },
|
{ 82, "r", "alphabetic", NULL },
|
||||||
{ 83, "s", NULL },
|
{ 83, "s", "alphabetic", NULL },
|
||||||
{ 84, "t", NULL },
|
{ 84, "t", "alphabetic", NULL },
|
||||||
{ 85, "u", NULL },
|
{ 85, "u", "alphabetic", NULL },
|
||||||
{ 86, "v", NULL },
|
{ 86, "v", "alphabetic", NULL },
|
||||||
{ 87, "w", NULL },
|
{ 87, "w", "alphabetic", NULL },
|
||||||
{ 88, "x", NULL },
|
{ 88, "x", "alphabetic", NULL },
|
||||||
{ 89, "y", NULL },
|
{ 89, "y", "alphabetic", NULL },
|
||||||
{ 90, "z", NULL },
|
{ 90, "z", "alphabetic", NULL },
|
||||||
{ 91, "leftbracket", NULL },
|
{ 91, "leftbracket", "characters", NULL },
|
||||||
{ 92, "backslash", NULL },
|
{ 92, "backslash", "characters", NULL },
|
||||||
{ 93, "rightbracket", NULL },
|
{ 93, "rightbracket", "characters", NULL },
|
||||||
{ 94, "caret", NULL },
|
{ 94, "caret", "characters", NULL },
|
||||||
{ 95, "underscore", NULL },
|
{ 95, "underscore", "characters", NULL },
|
||||||
{ 96, "backquote", NULL },
|
{ 96, "backquote", "characters", NULL },
|
||||||
{ 97, "a", NULL },
|
{ 97, "a", "alphabetic", NULL },
|
||||||
{ 98, "b", NULL },
|
{ 98, "b", "alphabetic", NULL },
|
||||||
{ 99, "c", NULL },
|
{ 99, "c", "alphabetic", NULL },
|
||||||
{ 100, "d", NULL },
|
{ 100, "d", "alphabetic", NULL },
|
||||||
{ 101, "e", NULL },
|
{ 101, "e", "alphabetic", NULL },
|
||||||
{ 102, "f", NULL },
|
{ 102, "f", "alphabetic", NULL },
|
||||||
{ 103, "g", NULL },
|
{ 103, "g", "alphabetic", NULL },
|
||||||
{ 104, "h", NULL },
|
{ 104, "h", "alphabetic", NULL },
|
||||||
{ 105, "i", NULL },
|
{ 105, "i", "alphabetic", NULL },
|
||||||
{ 106, "j", NULL },
|
{ 106, "j", "alphabetic", NULL },
|
||||||
{ 107, "k", NULL },
|
{ 107, "k", "alphabetic", NULL },
|
||||||
{ 108, "l", NULL },
|
{ 108, "l", "alphabetic", NULL },
|
||||||
{ 109, "m", NULL },
|
{ 109, "m", "alphabetic", NULL },
|
||||||
{ 110, "n", NULL },
|
{ 110, "n", "alphabetic", NULL },
|
||||||
{ 111, "o", NULL },
|
{ 111, "o", "alphabetic", NULL },
|
||||||
{ 112, "p", NULL },
|
{ 112, "p", "alphabetic", NULL },
|
||||||
{ 113, "q", NULL },
|
{ 113, "q", "alphabetic", NULL },
|
||||||
{ 114, "r", NULL },
|
{ 114, "r", "alphabetic", NULL },
|
||||||
{ 115, "s", NULL },
|
{ 115, "s", "alphabetic", NULL },
|
||||||
{ 116, "t", NULL },
|
{ 116, "t", "alphabetic", NULL },
|
||||||
{ 117, "u", NULL },
|
{ 117, "u", "alphabetic", NULL },
|
||||||
{ 118, "v", NULL },
|
{ 118, "v", "alphabetic", NULL },
|
||||||
{ 119, "w", NULL },
|
{ 119, "w", "alphabetic", NULL },
|
||||||
{ 120, "x", NULL },
|
{ 120, "x", "alphabetic", NULL },
|
||||||
{ 121, "y", NULL },
|
{ 121, "y", "alphabetic", NULL },
|
||||||
{ 122, "z", NULL },
|
{ 122, "z", "alphabetic", NULL },
|
||||||
{ 123, "leftcurly", NULL },
|
{ 123, "leftcurly", "characters", NULL },
|
||||||
{ 124, "pipe", NULL },
|
{ 124, "pipe", "characters", NULL },
|
||||||
{ 125, "rightcurly", NULL },
|
{ 125, "rightcurly", "characters", NULL },
|
||||||
{ 126, "tilde", NULL },
|
{ 126, "tilde", "characters", NULL },
|
||||||
{ WXK_DELETE, "delete", NULL },
|
{ WXK_DELETE, "delete", "editing", NULL },
|
||||||
{ WXK_START, "start", NULL },
|
{ WXK_START, "start", "special", NULL },
|
||||||
{ WXK_LBUTTON, "lbutton", NULL },
|
{ WXK_LBUTTON, "lbutton", "special", NULL },
|
||||||
{ WXK_RBUTTON, "rbutton", NULL },
|
{ WXK_RBUTTON, "rbutton", "special", NULL },
|
||||||
{ WXK_CANCEL, "cancel", NULL },
|
{ WXK_CANCEL, "cancel", "special", NULL },
|
||||||
{ WXK_MBUTTON, "mbutton", NULL },
|
{ WXK_MBUTTON, "mbutton", "special", NULL },
|
||||||
{ WXK_CLEAR, "clear", NULL },
|
{ WXK_CLEAR, "clear", "editing", NULL },
|
||||||
{ WXK_SHIFT, "shift", NULL },
|
{ WXK_SHIFT, "shift", "modifiers", NULL },
|
||||||
{ WXK_ALT, "alt", NULL },
|
{ WXK_ALT, "alt", "modifiers", NULL },
|
||||||
{ WXK_CONTROL, "control", NULL },
|
{ WXK_CONTROL, "control", "modifiers", NULL },
|
||||||
{ WXK_MENU, "menu", NULL },
|
{ WXK_MENU, "menu", "special", NULL },
|
||||||
{ WXK_PAUSE, "pause", NULL },
|
{ WXK_PAUSE, "pause", "special", NULL },
|
||||||
{ WXK_CAPITAL, "capital", NULL },
|
{ WXK_CAPITAL, "capital", "locks", NULL },
|
||||||
{ WXK_END, "end", NULL },
|
{ WXK_END, "end", "editing", NULL },
|
||||||
{ WXK_HOME, "home", NULL },
|
{ WXK_HOME, "home", "editing", NULL },
|
||||||
{ WXK_LEFT, "lefT", NULL },
|
{ WXK_LEFT, "lefT", "editing", NULL },
|
||||||
{ WXK_UP, "up", NULL },
|
{ WXK_UP, "up", "editing", NULL },
|
||||||
{ WXK_RIGHT, "right", NULL },
|
{ WXK_RIGHT, "right", "editing", NULL },
|
||||||
{ WXK_DOWN, "down", NULL },
|
{ WXK_DOWN, "down", "editing", NULL },
|
||||||
{ WXK_SELECT, "select", NULL },
|
{ WXK_SELECT, "select", "special", NULL },
|
||||||
{ WXK_PRINT, "print", NULL },
|
{ WXK_PRINT, "print", "special", NULL },
|
||||||
{ WXK_EXECUTE, "execute", NULL },
|
{ WXK_EXECUTE, "execute", "special", NULL },
|
||||||
{ WXK_SNAPSHOT, "snapshot", NULL },
|
{ WXK_SNAPSHOT, "snapshot", "special", NULL },
|
||||||
{ WXK_INSERT, "insert", NULL },
|
{ WXK_INSERT, "insert", "editing", NULL },
|
||||||
{ WXK_HELP, "help", NULL },
|
{ WXK_HELP, "help", "special", NULL },
|
||||||
{ WXK_NUMPAD0, "numpad0", NULL },
|
{ WXK_NUMPAD0, "numpad0", "numeric", NULL },
|
||||||
{ WXK_NUMPAD1, "numpad1", NULL },
|
{ WXK_NUMPAD1, "numpad1", "numeric", NULL },
|
||||||
{ WXK_NUMPAD2, "numpad2", NULL },
|
{ WXK_NUMPAD2, "numpad2", "numeric", NULL },
|
||||||
{ WXK_NUMPAD3, "numpad3", NULL },
|
{ WXK_NUMPAD3, "numpad3", "numeric", NULL },
|
||||||
{ WXK_NUMPAD4, "numpad4", NULL },
|
{ WXK_NUMPAD4, "numpad4", "numeric", NULL },
|
||||||
{ WXK_NUMPAD5, "numpad5", NULL },
|
{ WXK_NUMPAD5, "numpad5", "numeric", NULL },
|
||||||
{ WXK_NUMPAD6, "numpad6", NULL },
|
{ WXK_NUMPAD6, "numpad6", "numeric", NULL },
|
||||||
{ WXK_NUMPAD7, "numpad7", NULL },
|
{ WXK_NUMPAD7, "numpad7", "numeric", NULL },
|
||||||
{ WXK_NUMPAD8, "numpad8", NULL },
|
{ WXK_NUMPAD8, "numpad8", "numeric", NULL },
|
||||||
{ WXK_NUMPAD9, "numpad9", NULL },
|
{ WXK_NUMPAD9, "numpad9", "numeric", NULL },
|
||||||
{ WXK_MULTIPLY, "multiply", NULL },
|
{ WXK_MULTIPLY, "multiply", "characters", NULL },
|
||||||
{ WXK_ADD, "add", NULL },
|
{ WXK_ADD, "add", "characters", NULL },
|
||||||
{ WXK_SEPARATOR, "separator", NULL },
|
{ WXK_SEPARATOR, "separator", "characters", NULL },
|
||||||
{ WXK_SUBTRACT, "subtract", NULL },
|
{ WXK_SUBTRACT, "subtract", "characters", NULL },
|
||||||
{ WXK_DECIMAL, "decimal", NULL },
|
{ WXK_DECIMAL, "decimal", "characters", NULL },
|
||||||
{ WXK_DIVIDE, "divide", NULL },
|
{ WXK_DIVIDE, "divide", "characters", NULL },
|
||||||
{ WXK_F1, "f1", NULL },
|
{ WXK_F1, "f1", "F-keys", NULL },
|
||||||
{ WXK_F2, "f2", NULL },
|
{ WXK_F2, "f2", "F-keys", NULL },
|
||||||
{ WXK_F3, "f3", NULL },
|
{ WXK_F3, "f3", "F-keys", NULL },
|
||||||
{ WXK_F4, "f4", NULL },
|
{ WXK_F4, "f4", "F-keys", NULL },
|
||||||
{ WXK_F5, "f5", NULL },
|
{ WXK_F5, "f5", "F-keys", NULL },
|
||||||
{ WXK_F6, "f6", NULL },
|
{ WXK_F6, "f6", "F-keys", NULL },
|
||||||
{ WXK_F7, "f7", NULL },
|
{ WXK_F7, "f7", "F-keys", NULL },
|
||||||
{ WXK_F8, "f8", NULL },
|
{ WXK_F8, "f8", "F-keys", NULL },
|
||||||
{ WXK_F9, "f9", NULL },
|
{ WXK_F9, "f9", "F-keys", NULL },
|
||||||
{ WXK_F10, "f10", NULL },
|
{ WXK_F10, "f10", "F-keys", NULL },
|
||||||
{ WXK_F11, "f11", NULL },
|
{ WXK_F11, "f11", "F-keys", NULL },
|
||||||
{ WXK_F12, "f12", NULL },
|
{ WXK_F12, "f12", "F-keys", NULL },
|
||||||
{ WXK_F13, "f13", NULL },
|
{ WXK_F13, "f13", "F-keys", NULL },
|
||||||
{ WXK_F14, "f14", NULL },
|
{ WXK_F14, "f14", "F-keys", NULL },
|
||||||
{ WXK_F15, "f15", NULL },
|
{ WXK_F15, "f15", "F-keys", NULL },
|
||||||
{ WXK_F16, "f16", NULL },
|
{ WXK_F16, "f16", "F-keys", NULL },
|
||||||
{ WXK_F17, "f17", NULL },
|
{ WXK_F17, "f17", "F-keys", NULL },
|
||||||
{ WXK_F18, "f18", NULL },
|
{ WXK_F18, "f18", "F-keys", NULL },
|
||||||
{ WXK_F19, "f19", NULL },
|
{ WXK_F19, "f19", "F-keys", NULL },
|
||||||
{ WXK_F20, "f20", NULL },
|
{ WXK_F20, "f20", "F-keys", NULL },
|
||||||
{ WXK_F21, "f21", NULL },
|
{ WXK_F21, "f21", "F-keys", NULL },
|
||||||
{ WXK_F22, "f22", NULL },
|
{ WXK_F22, "f22", "F-keys", NULL },
|
||||||
{ WXK_F23, "f23", NULL },
|
{ WXK_F23, "f23", "F-keys", NULL },
|
||||||
{ WXK_F24, "f24", NULL },
|
{ WXK_F24, "f24", "F-keys", NULL },
|
||||||
{ WXK_NUMLOCK, "numlock", NULL },
|
{ WXK_NUMLOCK, "numlock", "locks", NULL },
|
||||||
{ WXK_SCROLL, "scroll", NULL },
|
{ WXK_SCROLL, "scroll", "locks", NULL },
|
||||||
{ WXK_PAGEUP, "pageup", NULL },
|
{ WXK_PAGEUP, "pageup", "editing", NULL },
|
||||||
{ WXK_PAGEDOWN, "pagedown", NULL },
|
{ WXK_PAGEDOWN, "pagedown", "editing", NULL },
|
||||||
{ WXK_NUMPAD_SPACE, "numpad_space", NULL },
|
{ WXK_NUMPAD_SPACE, "numpad_space", "editing", NULL },
|
||||||
{ WXK_NUMPAD_TAB, "numpad_tab", NULL },
|
{ WXK_NUMPAD_TAB, "numpad_tab", "editing", NULL },
|
||||||
{ WXK_NUMPAD_ENTER, "numpad_enter", NULL },
|
{ WXK_NUMPAD_ENTER, "numpad_enter", "editing", NULL },
|
||||||
{ WXK_NUMPAD_F1, "numpad_f1", NULL },
|
{ WXK_NUMPAD_F1, "numpad_f1", "F-keys", NULL },
|
||||||
{ WXK_NUMPAD_F2, "numpad_f2", NULL },
|
{ WXK_NUMPAD_F2, "numpad_f2", "F-keys", NULL },
|
||||||
{ WXK_NUMPAD_F3, "numpad_f3", NULL },
|
{ WXK_NUMPAD_F3, "numpad_f3", "F-keys", NULL },
|
||||||
{ WXK_NUMPAD_F4, "numpad_f4", NULL },
|
{ WXK_NUMPAD_F4, "numpad_f4", "F-keys", NULL },
|
||||||
{ WXK_NUMPAD_HOME, "numpad_home", NULL },
|
{ WXK_NUMPAD_HOME, "numpad_home", "editing", NULL },
|
||||||
{ WXK_NUMPAD_LEFT, "numpad_left", NULL },
|
{ WXK_NUMPAD_LEFT, "numpad_left", "editing", NULL },
|
||||||
{ WXK_NUMPAD_UP, "numpad_up", NULL },
|
{ WXK_NUMPAD_UP, "numpad_up", "editing", NULL },
|
||||||
{ WXK_NUMPAD_RIGHT, "numpad_right", NULL },
|
{ WXK_NUMPAD_RIGHT, "numpad_right", "editing", NULL },
|
||||||
{ WXK_NUMPAD_DOWN, "numpad_down", NULL },
|
{ WXK_NUMPAD_DOWN, "numpad_down", "editing", NULL },
|
||||||
{ WXK_NUMPAD_PAGEUP, "numpad_pageup", NULL },
|
{ WXK_NUMPAD_PAGEUP, "numpad_pageup", "editing", NULL },
|
||||||
{ WXK_NUMPAD_PAGEDOWN, "numpad_pagedown", NULL },
|
{ WXK_NUMPAD_PAGEDOWN, "numpad_pagedown", "editing", NULL },
|
||||||
{ WXK_NUMPAD_END, "numpad_end", NULL },
|
{ WXK_NUMPAD_END, "numpad_end", "editing", NULL },
|
||||||
{ WXK_NUMPAD_BEGIN, "numpad_begin", NULL },
|
{ WXK_NUMPAD_BEGIN, "numpad_begin", "editing", NULL },
|
||||||
{ WXK_NUMPAD_INSERT, "numpad_insert", NULL },
|
{ WXK_NUMPAD_INSERT, "numpad_insert", "editing", NULL },
|
||||||
{ WXK_NUMPAD_DELETE, "numpad_delete", NULL },
|
{ WXK_NUMPAD_DELETE, "numpad_delete", "editing", NULL },
|
||||||
{ WXK_NUMPAD_EQUAL, "numpad_equal", NULL },
|
{ WXK_NUMPAD_EQUAL, "numpad_equal", "characters", NULL },
|
||||||
{ WXK_NUMPAD_MULTIPLY, "numpad_multiply", NULL },
|
{ WXK_NUMPAD_MULTIPLY, "numpad_multiply", "characters", NULL },
|
||||||
{ WXK_NUMPAD_ADD, "numpad_add", NULL },
|
{ WXK_NUMPAD_ADD, "numpad_add", "characters", NULL },
|
||||||
{ WXK_NUMPAD_SEPARATOR, "numpad_separator", NULL },
|
{ WXK_NUMPAD_SEPARATOR, "numpad_separator", "characters", NULL },
|
||||||
{ WXK_NUMPAD_SUBTRACT, "numpad_subtract", NULL },
|
{ WXK_NUMPAD_SUBTRACT, "numpad_subtract", "characters", NULL },
|
||||||
{ WXK_NUMPAD_DECIMAL, "numpad_decimal", NULL },
|
{ WXK_NUMPAD_DECIMAL, "numpad_decimal", "characters", NULL },
|
||||||
{ WXK_NUMPAD_DIVIDE, "numpad_divide", NULL },
|
{ WXK_NUMPAD_DIVIDE, "numpad_divide", "characters", NULL },
|
||||||
{ WXK_WINDOWS_LEFT, "windows_left", NULL },
|
{ WXK_WINDOWS_LEFT, "windows_left", "modifiers", NULL },
|
||||||
{ WXK_WINDOWS_RIGHT, "windows_right", NULL },
|
{ WXK_WINDOWS_RIGHT, "windows_right", "modifiers", NULL },
|
||||||
{ WXK_WINDOWS_MENU, "windows_menu", NULL },
|
{ WXK_WINDOWS_MENU, "windows_menu", "modifiers", NULL },
|
||||||
{ WXK_COMMAND, "command", NULL },
|
{ WXK_COMMAND, "command", "special", NULL },
|
||||||
{ WXK_SPECIAL1, "special1", NULL },
|
{ WXK_SPECIAL1, "special1", "special", NULL },
|
||||||
{ WXK_SPECIAL2, "special2", NULL },
|
{ WXK_SPECIAL2, "special2", "special", NULL },
|
||||||
{ WXK_SPECIAL3, "special3", NULL },
|
{ WXK_SPECIAL3, "special3", "special", NULL },
|
||||||
{ WXK_SPECIAL4, "special4", NULL },
|
{ WXK_SPECIAL4, "special4", "special", NULL },
|
||||||
{ WXK_SPECIAL5, "special5", NULL },
|
{ WXK_SPECIAL5, "special5", "special", NULL },
|
||||||
{ WXK_SPECIAL6, "special6", NULL },
|
{ WXK_SPECIAL6, "special6", "special", NULL },
|
||||||
{ WXK_SPECIAL7, "special7", NULL },
|
{ WXK_SPECIAL7, "special7", "special", NULL },
|
||||||
{ WXK_SPECIAL8, "special8", NULL },
|
{ WXK_SPECIAL8, "special8", "special", NULL },
|
||||||
{ WXK_SPECIAL9, "special9", NULL },
|
{ WXK_SPECIAL9, "special9", "special", NULL },
|
||||||
{ WXK_SPECIAL10, "special10", NULL },
|
{ WXK_SPECIAL10, "special10", "special", NULL },
|
||||||
{ WXK_SPECIAL11, "special11", NULL },
|
{ WXK_SPECIAL11, "special11", "special", NULL },
|
||||||
{ WXK_SPECIAL12, "special12", NULL },
|
{ WXK_SPECIAL12, "special12", "special", NULL },
|
||||||
{ WXK_SPECIAL13, "special13", NULL },
|
{ WXK_SPECIAL13, "special13", "special", NULL },
|
||||||
{ WXK_SPECIAL14, "special14", NULL },
|
{ WXK_SPECIAL14, "special14", "special", NULL },
|
||||||
{ WXK_SPECIAL15, "special15", NULL },
|
{ WXK_SPECIAL15, "special15", "special", NULL },
|
||||||
{ WXK_SPECIAL16, "special16", NULL },
|
{ WXK_SPECIAL16, "special16", "special", NULL },
|
||||||
{ WXK_SPECIAL17, "special17", NULL },
|
{ WXK_SPECIAL17, "special17", "special", NULL },
|
||||||
{ WXK_SPECIAL18, "special18", NULL },
|
{ WXK_SPECIAL18, "special18", "special", NULL },
|
||||||
{ WXK_SPECIAL19, "special19", NULL },
|
{ WXK_SPECIAL19, "special19", "special", NULL },
|
||||||
{ WXK_SPECIAL20, "special20", NULL },
|
{ WXK_SPECIAL20, "special20", "special", NULL },
|
||||||
{ 0, NULL, NULL }
|
{ 0, NULL, NULL, NULL }
|
||||||
};
|
};
|
||||||
|
|
||||||
std::map<int, modifier*> modifier_map;
|
std::map<int, modifier*> modifier_map;
|
||||||
|
@ -333,7 +334,7 @@ void initialize_wx_keyboard()
|
||||||
key_entry* k = keys;
|
key_entry* k = keys;
|
||||||
while(k->name) {
|
while(k->name) {
|
||||||
if(!keys_allocated.count(k->name)) {
|
if(!keys_allocated.count(k->name)) {
|
||||||
k->allocated = new keygroup(k->name, keygroup::KT_KEY);
|
k->allocated = new keygroup(k->name, k->clazz, keygroup::KT_KEY);
|
||||||
key_map[k->keynum] = k->allocated;
|
key_map[k->keynum] = k->allocated;
|
||||||
keys_allocated[k->name] = k->keynum;
|
keys_allocated[k->name] = k->keynum;
|
||||||
} else
|
} else
|
||||||
|
|
|
@ -147,12 +147,12 @@ namespace
|
||||||
emulation_thread->join();
|
emulation_thread->join();
|
||||||
}
|
}
|
||||||
|
|
||||||
keygroup mouse_x("mouse_x", keygroup::KT_MOUSE);
|
keygroup mouse_x("mouse_x", "mouse", keygroup::KT_MOUSE);
|
||||||
keygroup mouse_y("mouse_y", keygroup::KT_MOUSE);
|
keygroup mouse_y("mouse_y", "mouse", keygroup::KT_MOUSE);
|
||||||
keygroup mouse_l("mouse_left", keygroup::KT_KEY);
|
keygroup mouse_l("mouse_left", "mouse", keygroup::KT_KEY);
|
||||||
keygroup mouse_m("mouse_center", keygroup::KT_KEY);
|
keygroup mouse_m("mouse_center", "mouse", keygroup::KT_KEY);
|
||||||
keygroup mouse_r("mouse_right", keygroup::KT_KEY);
|
keygroup mouse_r("mouse_right", "mouse", keygroup::KT_KEY);
|
||||||
keygroup mouse_i("mouse_inwindow", keygroup::KT_KEY);
|
keygroup mouse_i("mouse_inwindow", "mouse", keygroup::KT_KEY);
|
||||||
|
|
||||||
void handle_wx_mouse(wxMouseEvent& e)
|
void handle_wx_mouse(wxMouseEvent& e)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Add table
Reference in a new issue