mirror of
https://github.com/zenith391/OCEmu.git
synced 2025-09-28 15:34:05 -04:00
Keyboard fixes
All non mapped codes will default to zero Add in a quick hack to correct the codepoints for tab and enter, which SDL doesn't generate a SDL_TextInputEvent for
This commit is contained in:
parent
046907c44d
commit
2fc29e6f8d
@ -9,19 +9,29 @@ local keys = require("support.sdl_to_lwjgl")
|
||||
|
||||
local code2char = {}
|
||||
|
||||
local function setLatest(char)
|
||||
kbdcodes[#kbdcodes].char = char
|
||||
code2char[kbdcodes[#kbdcodes].code] = char
|
||||
end
|
||||
|
||||
function elsa.textinput(event)
|
||||
local textevent = ffi.cast("SDL_TextInputEvent", event)
|
||||
local text = ffi.string(textevent.text)
|
||||
cprint("textinput",text)
|
||||
kbdcodes[#kbdcodes].char = lua_utf8.byte(text)
|
||||
code2char[kbdcodes[#kbdcodes].code] = kbdcodes[#kbdcodes].char
|
||||
setLatest(lua_utf8.byte(text))
|
||||
end
|
||||
|
||||
function elsa.keydown(event)
|
||||
local keyevent = ffi.cast("SDL_KeyboardEvent", event)
|
||||
local key = keyevent.keysym.scancode
|
||||
cprint("keydown",keys[key])
|
||||
table.insert(kbdcodes,{type="key_down",addr=address,code=keys[key]})
|
||||
table.insert(kbdcodes,{type="key_down",addr=address,code=keys[key] or 0})
|
||||
-- TODO: Lovely SDL Hacks
|
||||
if keys[key] == 15 then
|
||||
setLatest(9)
|
||||
elseif keys[key] == 28 or keys[key] == 156 then
|
||||
setLatest(13)
|
||||
end
|
||||
if keys[key] == 210 then
|
||||
if SDL.hasClipboardText() > 0 then
|
||||
table.insert(machine.signals,{"clipboard",address,ffi.string(SDL.getClipboardText())})
|
||||
|
@ -43,7 +43,6 @@ return {
|
||||
[46]=13,
|
||||
[47]=26,
|
||||
[48]=27,
|
||||
[49]=0,
|
||||
[51]=39,
|
||||
[52]=40,
|
||||
[53]=41,
|
||||
@ -85,20 +84,16 @@ return {
|
||||
[90]=208,
|
||||
[91]=209,
|
||||
[92]=203,
|
||||
[93]=0,
|
||||
[94]=205,
|
||||
[95]=199,
|
||||
[96]=200,
|
||||
[97]=201,
|
||||
[98]=210,
|
||||
[99]=211,
|
||||
[101]=0,
|
||||
[224]=29,
|
||||
[225]=42,
|
||||
[226]=56,
|
||||
[227]=0,
|
||||
[228]=157,
|
||||
[229]=54,
|
||||
[230]=184,
|
||||
[231]=0,
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user