libretro: add support for Open / Solid Apple keys.
Signed-off-by: Andrea Odetti <mariofutire@gmail.com>
This commit is contained in:
parent
ab655cda40
commit
e461847a49
2 changed files with 109 additions and 68 deletions
|
@ -26,6 +26,7 @@
|
|||
|
||||
#include "linux/videobuffer.h"
|
||||
#include "linux/keyboard.h"
|
||||
#include "linux/paddle.h"
|
||||
#include "frontends/common2/programoptions.h"
|
||||
#include "frontends/common2/configuration.h"
|
||||
#include "frontends/retro/environment.h"
|
||||
|
@ -145,6 +146,16 @@ void Game::keyboardCallback(bool down, unsigned keycode, uint32_t character, uin
|
|||
{
|
||||
if (down)
|
||||
{
|
||||
processKeyDown(keycode, character, key_modifiers);
|
||||
}
|
||||
else
|
||||
{
|
||||
processKeyUp(keycode, character, key_modifiers);
|
||||
}
|
||||
}
|
||||
|
||||
void Game::processKeyDown(unsigned keycode, uint32_t character, uint16_t key_modifiers)
|
||||
{
|
||||
BYTE ch = 0;
|
||||
switch (keycode)
|
||||
{
|
||||
|
@ -189,6 +200,16 @@ void Game::keyboardCallback(bool down, unsigned keycode, uint32_t character, uin
|
|||
ch = 0x09;
|
||||
break;
|
||||
}
|
||||
case RETROK_LALT:
|
||||
{
|
||||
Paddle::setButtonPressed(Paddle::ourOpenApple);
|
||||
break;
|
||||
}
|
||||
case RETROK_RALT:
|
||||
{
|
||||
Paddle::setButtonPressed(Paddle::ourSolidApple);
|
||||
break;
|
||||
}
|
||||
case RETROK_a ... RETROK_z:
|
||||
{
|
||||
ch = (keycode - RETROK_a) + 0x01;
|
||||
|
@ -228,6 +249,22 @@ void Game::keyboardCallback(bool down, unsigned keycode, uint32_t character, uin
|
|||
addKeyToBuffer(ch);
|
||||
log_cb(RETRO_LOG_INFO, "RA2: %s - %02x\n", __FUNCTION__, ch);
|
||||
}
|
||||
}
|
||||
|
||||
void Game::processKeyUp(unsigned keycode, uint32_t character, uint16_t key_modifiers)
|
||||
{
|
||||
switch (keycode)
|
||||
{
|
||||
case RETROK_LALT:
|
||||
{
|
||||
Paddle::setButtonReleased(Paddle::ourOpenApple);
|
||||
break;
|
||||
}
|
||||
case RETROK_RALT:
|
||||
{
|
||||
Paddle::setButtonReleased(Paddle::ourSolidApple);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -17,6 +17,10 @@ public:
|
|||
|
||||
static void keyboardCallback(bool down, unsigned keycode, uint32_t character, uint16_t key_modifiers);
|
||||
|
||||
private:
|
||||
private:
|
||||
Speed mySpeed; // fixed speed
|
||||
|
||||
static void processKeyDown(unsigned keycode, uint32_t character, uint16_t key_modifiers);
|
||||
static void processKeyUp(unsigned keycode, uint32_t character, uint16_t key_modifiers);
|
||||
|
||||
};
|
||||
|
|
Loading…
Add table
Reference in a new issue