mirror of
https://github.com/XProger/OpenLara.git
synced 2025-08-09 14:47:02 +02:00
Linux AZERTY keyboard layout support
This commit is contained in:
@@ -6301,7 +6301,7 @@ namespace TR {
|
|||||||
for (int j = 0; j < animTex.count; j++)
|
for (int j = 0; j < animTex.count; j++)
|
||||||
animTex.textures[j] = *(ptr++);
|
animTex.textures[j] = *(ptr++);
|
||||||
}
|
}
|
||||||
delete animTexBlock;
|
delete[] animTexBlock;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (version & (VER_TR4 | VER_TR5)) {
|
if (version & (VER_TR4 | VER_TR5)) {
|
||||||
|
@@ -78,7 +78,7 @@ void sndFree() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Input
|
// Input
|
||||||
InputKey keyToInputKey(XKeyEvent event) {
|
InputKey keyToInputKey(Display *dpy, XKeyEvent event) {
|
||||||
KeySym code = XLookupKeysym(&event, 0);
|
KeySym code = XLookupKeysym(&event, 0);
|
||||||
|
|
||||||
if (code == XK_Shift_R) code = XK_Shift_L;
|
if (code == XK_Shift_R) code = XK_Shift_L;
|
||||||
@@ -96,7 +96,7 @@ InputKey keyToInputKey(XKeyEvent event) {
|
|||||||
};
|
};
|
||||||
|
|
||||||
for (int i = 0; i < COUNT(codes); i++) {
|
for (int i = 0; i < COUNT(codes); i++) {
|
||||||
if (codes[i] == code) {
|
if (XKeysymToKeycode(dpy, codes[i]) == event.keycode) {
|
||||||
return (InputKey)(ikLeft + i);
|
return (InputKey)(ikLeft + i);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -338,7 +338,7 @@ void toggle_fullscreen(Display* dpy, Window win) {
|
|||||||
XSendEvent(dpy, DefaultRootWindow(dpy), False, SubstructureNotifyMask, &xev);
|
XSendEvent(dpy, DefaultRootWindow(dpy), False, SubstructureNotifyMask, &xev);
|
||||||
}
|
}
|
||||||
|
|
||||||
void WndProc(const XEvent &e,Display*dpy,Window wnd) {
|
void WndProc(const XEvent &e, Display* dpy, Window wnd) {
|
||||||
switch (e.type) {
|
switch (e.type) {
|
||||||
case ConfigureNotify :
|
case ConfigureNotify :
|
||||||
Core::width = e.xconfigure.width;
|
Core::width = e.xconfigure.width;
|
||||||
@@ -350,7 +350,7 @@ void WndProc(const XEvent &e,Display*dpy,Window wnd) {
|
|||||||
toggle_fullscreen(dpy,wnd);
|
toggle_fullscreen(dpy,wnd);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
Input::setDown(keyToInputKey(e.xkey), e.type == KeyPress);
|
Input::setDown(keyToInputKey(dpy, e.xkey), e.type == KeyPress);
|
||||||
break;
|
break;
|
||||||
case ButtonPress :
|
case ButtonPress :
|
||||||
case ButtonRelease : {
|
case ButtonRelease : {
|
||||||
@@ -455,7 +455,7 @@ int main(int argc, char **argv) {
|
|||||||
XNextEvent(dpy, &event);
|
XNextEvent(dpy, &event);
|
||||||
if (event.type == ClientMessage && *event.xclient.data.l == WM_DELETE_WINDOW)
|
if (event.type == ClientMessage && *event.xclient.data.l == WM_DELETE_WINDOW)
|
||||||
Core::quit();
|
Core::quit();
|
||||||
WndProc(event,dpy,wnd);
|
WndProc(event, dpy, wnd);
|
||||||
} else {
|
} else {
|
||||||
joyUpdate();
|
joyUpdate();
|
||||||
bool updated = Game::update();
|
bool updated = Game::update();
|
||||||
|
Reference in New Issue
Block a user