fix gdi backend bug

git-svn-id: http://svn2.nishi.boats/svn/milsko/trunk@610 b9cfdab3-6d41-4d17-bbe4-086880011989
This commit is contained in:
NishiOwO
2025-11-06 16:27:19 +00:00
parent 06753e97f5
commit 9874b24846
3 changed files with 17 additions and 3 deletions

View File

@@ -369,7 +369,7 @@ void MwLLNextEvent(MwLL handle) {
if(strlen(str) == 1) {
char s = str[0];
if(ev.xkey.state & (ShiftMask | LockMask)) {
if(ev.xkey.state & (ShiftMask | LockMask) && !(ev.xkey.state & (ControlMask | Mod1Mask))) {
n = toupper((int)s);
} else {
n = s;
@@ -392,6 +392,17 @@ void MwLLNextEvent(MwLL handle) {
n = MwLLKeyLeftShift;
} else if(strcmp(str, "Shift_R") == 0) {
n = MwLLKeyRightShift;
} else if(strcmp(str, "Alt_L") == 0 || strcmp(str, "Alt_R") == 0){
n = MwLLKeyAlt;
} else if(strcmp(str, "Control_R") == 0 || strcmp(str, "Control_R") == 0){
n = MwLLKeyControl;
}
if(n != MwLLKeyControl && ev.xkey.state & ControlMask){
n |= MwLLControlMask;
}
if(n != MwLLKeyAlt && ev.xkey.state & Mod1Mask){
n |= MwLLAltMask;
}
if(n != -1) {