Index: src/menu.cpp =================================================================== --- src/menu.cpp (revision 5331) +++ src/menu.cpp (working copy) @@ -245,18 +245,23 @@ switch(*item->int_p) { case SDLK_UP: + case 264: item->change_input("Up cursor"); break; case SDLK_DOWN: + case 258: item->change_input("Down cursor"); break; case SDLK_LEFT: + case 260: item->change_input("Left cursor"); break; case SDLK_RIGHT: + case 262: item->change_input("Right cursor"); break; case SDLK_RETURN: + case 259: item->change_input("Return"); break; case SDLK_SPACE: @@ -744,7 +749,7 @@ if(item[active_item].kind == MN_CONTROLFIELD) { - if(key == SDLK_ESCAPE) + if(key == SDLK_ESCAPE || key == 265) { Menu::pop_current(); return; @@ -758,15 +763,19 @@ switch(key) { case SDLK_UP: /* Menu Up */ + case 264: menuaction = MENU_ACTION_UP; break; case SDLK_DOWN: /* Menu Down */ + case 258: menuaction = MENU_ACTION_DOWN; break; case SDLK_LEFT: /* Menu Up */ + case 260: menuaction = MENU_ACTION_LEFT; break; case SDLK_RIGHT: /* Menu Down */ + case 262: menuaction = MENU_ACTION_RIGHT; break; case SDLK_SPACE: @@ -777,6 +786,7 @@ break; } case SDLK_RETURN: /* Menu Hit */ + case 259: menuaction = MENU_ACTION_HIT; break; case SDLK_DELETE: @@ -785,6 +795,7 @@ delete_character++; break; case SDLK_ESCAPE: + case 265: Menu::pop_current(); break; default: Index: src/worldmap.cpp =================================================================== --- src/worldmap.cpp (revision 5331) +++ src/worldmap.cpp (working copy) @@ -576,13 +576,16 @@ break; case SDL_KEYDOWN: + case 258: switch(event.key.keysym.sym) { case SDLK_ESCAPE: + case 265: on_escape_press(); break; case SDLK_LCTRL: case SDLK_RETURN: + case 259: enter_level = true; break; default: @@ -635,13 +638,13 @@ { Uint8 *keystate = SDL_GetKeyState(NULL); - if (keystate[SDLK_LEFT]) + if (keystate[SDLK_LEFT] || keystate[260]) input_direction = D_WEST; - else if (keystate[SDLK_RIGHT]) + else if (keystate[SDLK_RIGHT] || keystate[262]) input_direction = D_EAST; - else if (keystate[SDLK_UP]) + else if (keystate[SDLK_UP] || keystate[264]) input_direction = D_NORTH; - else if (keystate[SDLK_DOWN]) + else if (keystate[SDLK_DOWN] || keystate[258]) input_direction = D_SOUTH; } } Index: src/gameloop.cpp =================================================================== --- src/gameloop.cpp (revision 5331) +++ src/gameloop.cpp (working copy) @@ -243,6 +243,7 @@ switch(key) { case SDLK_ESCAPE: /* Escape: Open/Close the menu: */ + case 265: on_escape_press(); break; default: @@ -302,6 +303,7 @@ switch(key) { case SDLK_ESCAPE: /* Escape: Open/Close the menu: */ + case 265: on_escape_press(); break; default: Index: src/leveleditor.cpp =================================================================== --- src/leveleditor.cpp (revision 5331) +++ src/leveleditor.cpp (working copy) @@ -1097,6 +1097,7 @@ switch(key) { case SDLK_ESCAPE: + case 265: Menu::set_current(leveleditor_menu); break; case SDLK_LEFT: Index: src/text.cpp =================================================================== --- src/text.cpp (revision 5331) +++ src/text.cpp (working copy) @@ -295,11 +295,13 @@ speed += SPEED_INC; break; case SDLK_SPACE: + case 259: case SDLK_RETURN: if(speed >= 0) scroll += SCROLL; break; case SDLK_ESCAPE: + case 265: done = 1; break; default: