}
}
-static int shift = 0, ctrl = 0;
+static int shift = 0, ctrl = 0, alt = 0;
static void keyboard_sdl(int down, enum keycode keycode)
{
set_amiga_key(keycode, down);
shift = down;
break;
+ case KEYCODE_LALT:
+ set_amiga_key(keycode, down);
+ alt = down;
+ break;
+ case KEYCODE_RALT:
+ set_amiga_key(keycode, down);
+ alt = down;
+ break;
case KEYCODE_LEFT:
if (shift && down) {
set_amiga_key(keycode, down);
break;
}
set_amiga_key(keycode, 0);
- set_joystick(-1, -1, down, -1, -1);
+ if (!alt || down)
+ set_joystick(-1, -1, down, 0, -1);
break;
case KEYCODE_DOWN:
if (shift && down) {
break;
}
set_amiga_key(keycode, 0);
- set_joystick(-1, -1, -1, down, -1);
+ if (!alt || down)
+ set_joystick(-1, -1, 0, down, -1);
break;
case KEYCODE_END:
set_joystick(-1, -1, -1, -1, down);