Use FL_Alt_Gr key definition in test/keyboard

... and reformat key definition table
This commit is contained in:
Albrecht Schlosser 2024-03-09 14:03:51 +01:00
parent 602cd7a990
commit 290e95eaef
1 changed files with 39 additions and 35 deletions

View File

@ -47,7 +47,7 @@ int handle(int e) {
} }
int MyWindow::handle(int msg) { int MyWindow::handle(int msg) {
if (msg==FL_MOUSEWHEEL) { if (msg == FL_MOUSEWHEEL) {
roller_x->value( roller_x->value() + Fl::e_dx * roller_x->step() ); roller_x->value( roller_x->value() + Fl::e_dx * roller_x->step() );
roller_y->value( roller_y->value() + Fl::e_dy * roller_y->step() ); roller_y->value( roller_y->value() + Fl::e_dy * roller_y->step() );
return 1; return 1;
@ -55,38 +55,42 @@ int MyWindow::handle(int msg) {
return 0; return 0;
} }
struct keycode_table{int n; const char* text;} table[] = { struct keycode_table {
{FL_Escape, "FL_Escape"}, int n; // key code
{FL_BackSpace, "FL_BackSpace"}, const char* text; // key name
{FL_Tab, "FL_Tab"}, } key_table[] = {
{FL_Iso_Key, "FL_Iso_Key"}, { FL_Escape, "FL_Escape"},
{FL_Enter, "FL_Enter"}, { FL_BackSpace, "FL_BackSpace"},
{FL_Print, "FL_Print"}, { FL_Tab, "FL_Tab"},
{FL_Scroll_Lock, "FL_Scroll_Lock"}, { FL_Iso_Key, "FL_Iso_Key"},
{FL_Pause, "FL_Pause"}, { FL_Enter, "FL_Enter"},
{FL_Insert, "FL_Insert"}, { FL_Print, "FL_Print"},
{FL_Home, "FL_Home"}, { FL_Scroll_Lock, "FL_Scroll_Lock"},
{FL_Page_Up, "FL_Page_Up"}, { FL_Pause, "FL_Pause"},
{FL_Delete, "FL_Delete"}, { FL_Insert, "FL_Insert"},
{FL_End, "FL_End"}, { FL_Home, "FL_Home"},
{FL_Page_Down, "FL_Page_Down"}, { FL_Page_Up, "FL_Page_Up"},
{FL_Left, "FL_Left"}, { FL_Delete, "FL_Delete"},
{FL_Up, "FL_Up"}, { FL_End, "FL_End"},
{FL_Right, "FL_Right"}, { FL_Page_Down, "FL_Page_Down"},
{FL_Down, "FL_Down"}, { FL_Left, "FL_Left"},
{FL_Shift_L, "FL_Shift_L"}, { FL_Up, "FL_Up"},
{FL_Shift_R, "FL_Shift_R"}, { FL_Right, "FL_Right"},
{FL_Control_L, "FL_Control_L"}, { FL_Down, "FL_Down"},
{FL_Control_R, "FL_Control_R"}, { FL_Shift_L, "FL_Shift_L"},
{FL_Caps_Lock, "FL_Caps_Lock"}, { FL_Shift_R, "FL_Shift_R"},
{FL_Alt_L, "FL_Alt_L"}, { FL_Control_L, "FL_Control_L"},
{FL_Alt_R, "FL_Alt_R"}, { FL_Control_R, "FL_Control_R"},
{FL_Meta_L, "FL_Meta_L"}, { FL_Caps_Lock, "FL_Caps_Lock"},
{FL_Meta_R, "FL_Meta_R"}, { FL_Alt_L, "FL_Alt_L"},
{FL_Menu, "FL_Menu"}, { FL_Alt_R, "FL_Alt_R"},
{FL_Help, "FL_Help"}, { FL_Meta_L, "FL_Meta_L"},
{FL_Num_Lock, "FL_Num_Lock"}, { FL_Meta_R, "FL_Meta_R"},
{FL_KP_Enter, "FL_KP_Enter"} { FL_Menu, "FL_Menu"},
{ FL_Help, "FL_Help"},
{ FL_Num_Lock, "FL_Num_Lock"},
{ FL_KP_Enter, "FL_KP_Enter"},
{ FL_Alt_Gr, "FL_Alt_Gr"}
}; };
int main(int argc, char** argv) { int main(int argc, char** argv) {
@ -136,8 +140,8 @@ int main(int argc, char** argv) {
snprintf(buffer, sizeof(buffer), "FL_Button+%d", k-FL_Button); snprintf(buffer, sizeof(buffer), "FL_Button+%d", k-FL_Button);
} else { } else {
snprintf(buffer, sizeof(buffer), "0x%04x", k); snprintf(buffer, sizeof(buffer), "0x%04x", k);
for (int i = 0; i < int(sizeof(table)/sizeof(*table)); i++) for (int i = 0; i < int(sizeof(key_table)/sizeof(*key_table)); i++)
if (table[i].n == k) {keyname = table[i].text; break;} if (key_table[i].n == k) {keyname = key_table[i].text; break;}
} }
if (strcmp(key_output->value(), keyname)) if (strcmp(key_output->value(), keyname))
key_output->value(keyname); key_output->value(keyname);