|
@@ -228,15 +228,6 @@ void KeyboardDevice::key_state_changed(u8 scan_code, bool pressed)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
- if (!g_caps_lock_remapped_to_ctrl && key == Key_CapsLock && pressed)
|
|
|
|
- m_caps_lock_on = !m_caps_lock_on;
|
|
|
|
-
|
|
|
|
- if (g_caps_lock_remapped_to_ctrl && key == Key_CapsLock)
|
|
|
|
- m_caps_lock_to_ctrl_pressed = pressed;
|
|
|
|
-
|
|
|
|
- if (g_caps_lock_remapped_to_ctrl)
|
|
|
|
- update_modifier(Mod_Ctrl, m_caps_lock_to_ctrl_pressed);
|
|
|
|
-
|
|
|
|
Event event;
|
|
Event event;
|
|
event.key = key;
|
|
event.key = key;
|
|
event.scancode = m_has_e0_prefix ? 0xe000 + scan_code : scan_code;
|
|
event.scancode = m_has_e0_prefix ? 0xe000 + scan_code : scan_code;
|
|
@@ -246,9 +237,20 @@ void KeyboardDevice::key_state_changed(u8 scan_code, bool pressed)
|
|
event.code_point = HIDManagement::the().character_map().get_char(event);
|
|
event.code_point = HIDManagement::the().character_map().get_char(event);
|
|
|
|
|
|
// If using a non-QWERTY layout, event.key needs to be updated to be the same as event.code_point
|
|
// If using a non-QWERTY layout, event.key needs to be updated to be the same as event.code_point
|
|
- KeyCode mapped_key = visible_code_point_to_key_code(event.code_point);
|
|
|
|
- if (mapped_key != KeyCode::Key_Invalid)
|
|
|
|
|
|
+ KeyCode mapped_key = code_point_to_key_code(event.code_point);
|
|
|
|
+ if (mapped_key != KeyCode::Key_Invalid) {
|
|
event.key = mapped_key;
|
|
event.key = mapped_key;
|
|
|
|
+ key = mapped_key;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ if (!g_caps_lock_remapped_to_ctrl && key == Key_CapsLock && pressed)
|
|
|
|
+ m_caps_lock_on = !m_caps_lock_on;
|
|
|
|
+
|
|
|
|
+ if (g_caps_lock_remapped_to_ctrl && key == Key_CapsLock)
|
|
|
|
+ m_caps_lock_to_ctrl_pressed = pressed;
|
|
|
|
+
|
|
|
|
+ if (g_caps_lock_remapped_to_ctrl)
|
|
|
|
+ update_modifier(Mod_Ctrl, m_caps_lock_to_ctrl_pressed);
|
|
|
|
|
|
if (pressed)
|
|
if (pressed)
|
|
event.flags |= Is_Press;
|
|
event.flags |= Is_Press;
|