21#include "../../SDL_internal.h"
23#if SDL_VIDEO_DRIVER_PSP
29#include "../../events/SDL_sysevents.h"
30#include "../../events/SDL_events_c.h"
31#include "../../events/SDL_keyboard_c.h"
35#include "../../thread/SDL_systhread.h"
40#include <pspirkeyb_rawkeys.h>
42#define IRKBD_CONFIG_FILE NULL
44static int irkbd_ready = 0;
48static enum PspHprmKeys hprm = 0;
49static SDL_sem *event_sem =
NULL;
51static int running = 0;
64int EventUpdate(
void *
data)
68 sceHprmPeekCurrentKey(&hprm);
71 sceKernelDelayThread(1000000 / 60);
79 enum PspHprmKeys keys;
80 enum PspHprmKeys changed;
81 static enum PspHprmKeys old_keys = 0;
89 changed = old_keys ^ keys;
92 for(
i=0;
i<
sizeof(keymap_psp)/
sizeof(keymap_psp[0]);
i++) {
93 if(changed & keymap_psp[
i].
id) {
95 sym.
sym = keymap_psp[
i].sym;
110 unsigned char buffer[255];
112 SIrKeybScanCodeData *scanData;
115 if((
length %
sizeof(SIrKeybScanCodeData)) == 0){
118 unsigned char raw, pressed;
119 scanData=(SIrKeybScanCodeData*)
buffer+
i;
121 pressed = scanData->pressed;
123 sym.
sym = keymap[raw];
134 sceKernelDelayThread(0);
160 keymap[KEY_F13] = SDLK_PRINT;
230 keymap[KEY_NUMLOCK] = SDLK_NUMLOCK;
231 keymap[KEY_LEFTMETA] = SDLK_LSUPER;
249void PSP_EventInit(
_THIS)
252 int outputmode = PSP_IRKBD_OUTPUT_MODE_SCANCODE;
253 int ret = pspIrKeybInit(IRKBD_CONFIG_FILE, 0);
254 if (ret == PSP_IRKBD_RESULT_OK) {
255 pspIrKeybOutputMode(outputmode);
273void PSP_EventQuit(
_THIS)
#define SDL_DestroySemaphore
#define SDL_CreateSemaphore
#define SDL_GetScancodeFromKey
int SDL_SendKeyboardKey(Uint8 state, SDL_Scancode scancode)
Sint32 SDL_Keycode
The SDL virtual key representation.
GLuint GLuint GLsizei count
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
GLuint GLsizei GLsizei * length
void PSP_InitOSKeymap(_THIS)
void PSP_PumpEvents(_THIS)
#define SDL_TABLESIZE(table)
SDL_Thread * SDL_CreateThreadInternal(int(*fn)(void *), const char *name, const size_t stacksize, void *data)
return Display return Display Bool Bool int int int return Display XEvent Bool(*) XPointer return Display return Display Drawable _Xconst char unsigned int unsigned int return Display Pixmap Pixmap XColor XColor unsigned int unsigned int return Display _Xconst char char int char return Display Visual unsigned int int int char unsigned int unsigned int in i)
The SDL keysym structure, used in key events.