diff --git a/libretro-common/include/defines/ps3_defines.h b/libretro-common/include/defines/ps3_defines.h index 8b10b8ddca..fdfaca672b 100644 --- a/libretro-common/include/defines/ps3_defines.h +++ b/libretro-common/include/defines/ps3_defines.h @@ -234,7 +234,6 @@ extern int audioAddData(uint32_t portNum, float *data, #define KB_RMODE_INPUTCHAR CELL_KB_RMODE_INPUTCHAR #define KB_CODETYPE_RAW CELL_KB_CODETYPE_RAW -#define KbData cellKbData #define KbInfo cellKbInfo #define ioKbSetCodeType cellKbSetCodeType @@ -361,6 +360,56 @@ extern int audioAddData(uint32_t portNum, float *data, #define KB_RAWKEY_YEN_106 0x89 #define KB_CODETYPE_RAW CELL_KB_CODETYPE_RAW + +/*! \brief Keyboard Led State. */ +typedef struct KbLed +{ + union + { + u32 leds; + struct + { + u32 reserved : 27; /*!< \brief Reserved MSB */ + u32 kana : 1; /*!< \brief LED Kana 0:OFF 1:ON Bit4 */ + u32 compose : 1; /*!< \brief LED Compose 0:OFF 1:ON Bit3 */ + u32 scroll_lock : 1; /*!< \brief LED Scroll Lock 0:OFF 1:ON Bit2 */ + u32 caps_lock : 1; /*!< \brief LED Caps Lock 0:OFF 1:ON Bit1 */ + u32 num_lock : 1; /*!< \brief LED Num Lock 0:OFF 1:ON Bit0 LSB */ + }_KbLedS; + }_KbLedU; +} KbLed; + + +/*! \brief Keyboard Modifier Key State. */ +typedef struct KbMkey +{ + union + { + u32 mkeys; + struct + { + u32 reserved : 24; /*!< \brief Reserved MSB */ + u32 r_win : 1; /*!< \brief Modifier Key Right WIN 0:OFF 1:ON Bit7 */ + u32 r_alt : 1; /*!< \brief Modifier Key Right ALT 0:OFF 1:ON Bit6 */ + u32 r_shift : 1; /*!< \brief Modifier Key Right SHIFT 0:OFF 1:ON Bit5 */ + u32 r_ctrl : 1; /*!< \brief Modifier Key Right CTRL 0:OFF 1:ON Bit4 */ + u32 l_win : 1; /*!< \brief Modifier Key Left WIN 0:OFF 1:ON Bit3 */ + u32 l_alt : 1; /*!< \brief Modifier Key Left ALT 0:OFF 1:ON Bit2 */ + u32 l_shift : 1; /*!< \brief Modifier Key Left SHIFT 0:OFF 1:ON Bit1 */ + u32 l_ctrl : 1; /*!< \brief Modifier Key Left CTRL 0:OFF 1:ON Bit0 LSB */ + /* For Macintosh Keyboard ALT & WIN correspond respectively to OPTION & APPLE keys */ + }_KbMkeyS; + }_KbMkeyU; +} KbMkey; + +/*! \brief Keyboard input data data structure. */ +typedef struct KbData +{ + KbLed led; /*!< \brief Keyboard Led State */ + KbMkey mkey; /*!< \brief Keyboard Modifier Key State */ + s32 nb_keycode; /*!< \brief Number of key codes (0 equal no data) */ + u16 keycode[MAX_KEYCODES]; /*!< \brief Keycode values */ +} KbData; #endif /*============================================================