mirror of
https://github.com/melonDS-emu/melonDS.git
synced 2025-08-01 02:30:12 -06:00
* attempt at keyboard input, via raw scancodes
* load config, etc * some things are nicer, too
This commit is contained in:
@ -262,8 +262,14 @@ static int areaKeyEvent(uiArea *a, int up, WPARAM wParam, LPARAM lParam)
|
||||
|
||||
ke.Modifiers = getModifiers();
|
||||
|
||||
ke.Up = up;
|
||||
ke.Scancode = (lParam >> 16) & 0x1FF;
|
||||
|
||||
ke.Up = up;
|
||||
ke.Repeat = (lParam & 0x40000000) ? 1:0;
|
||||
|
||||
// StapleButter note: I don't actually need all this key decoding
|
||||
// raw scancodes are all I need for this
|
||||
#if 0
|
||||
// the numeric keypad keys when Num Lock is off are considered left-hand keys as the separate navigation buttons were added later
|
||||
// the numeric keypad Enter, however, is a right-hand key because it has the same virtual-key code as the typewriter Enter
|
||||
righthand = (lParam & 0x01000000) != 0;
|
||||
@ -306,9 +312,17 @@ static int areaKeyEvent(uiArea *a, int up, WPARAM wParam, LPARAM lParam)
|
||||
return 0;
|
||||
|
||||
keyFound:
|
||||
#endif
|
||||
return (*(a->ah->KeyEvent))(a->ah, a, &ke);
|
||||
}
|
||||
|
||||
char* uiKeyName(int scancode)
|
||||
{
|
||||
WCHAR tmp[64];
|
||||
GetKeyNameText(scancode<<16, tmp, 64);
|
||||
return toUTF8(tmp);
|
||||
}
|
||||
|
||||
// We don't handle the standard Windows keyboard messages directly, to avoid both the dialog manager and TranslateMessage().
|
||||
// Instead, we set up a message filter and do things there.
|
||||
// That stuff is later in this file.
|
||||
|
@ -143,6 +143,7 @@ uiWindowsControlDefaultHide(uiBox)
|
||||
uiWindowsControlDefaultEnabled(uiBox)
|
||||
uiWindowsControlDefaultEnable(uiBox)
|
||||
uiWindowsControlDefaultDisable(uiBox)
|
||||
uiWindowsControlDefaultSetFocus(uiBox)
|
||||
|
||||
static void uiBoxSyncEnableState(uiWindowsControl *c, int enabled)
|
||||
{
|
||||
|
@ -147,6 +147,7 @@ uiWindowsControlDefaultHide(uiForm)
|
||||
uiWindowsControlDefaultEnabled(uiForm)
|
||||
uiWindowsControlDefaultEnable(uiForm)
|
||||
uiWindowsControlDefaultDisable(uiForm)
|
||||
uiWindowsControlDefaultSetFocus(uiForm)
|
||||
|
||||
static void uiFormSyncEnableState(uiWindowsControl *c, int enabled)
|
||||
{
|
||||
|
@ -436,6 +436,7 @@ uiWindowsControlDefaultHide(uiGrid)
|
||||
uiWindowsControlDefaultEnabled(uiGrid)
|
||||
uiWindowsControlDefaultEnable(uiGrid)
|
||||
uiWindowsControlDefaultDisable(uiGrid)
|
||||
uiWindowsControlDefaultSetFocus(uiGrid)
|
||||
|
||||
static void uiGridSyncEnableState(uiWindowsControl *c, int enabled)
|
||||
{
|
||||
|
@ -75,6 +75,7 @@ uiWindowsControlDefaultHide(uiGroup)
|
||||
uiWindowsControlDefaultEnabled(uiGroup)
|
||||
uiWindowsControlDefaultEnable(uiGroup)
|
||||
uiWindowsControlDefaultDisable(uiGroup)
|
||||
uiWindowsControlDefaultSetFocus(uiGroup)
|
||||
|
||||
static void uiGroupSyncEnableState(uiWindowsControl *c, int enabled)
|
||||
{
|
||||
|
@ -112,6 +112,7 @@ uiWindowsControlDefaultHide(uiTab)
|
||||
uiWindowsControlDefaultEnabled(uiTab)
|
||||
uiWindowsControlDefaultEnable(uiTab)
|
||||
uiWindowsControlDefaultDisable(uiTab)
|
||||
uiWindowsControlDefaultSetFocus(uiTab)
|
||||
|
||||
static void uiTabSyncEnableState(uiWindowsControl *c, int enabled)
|
||||
{
|
||||
|
@ -229,6 +229,7 @@ static void uiWindowHide(uiControl *c)
|
||||
uiWindowsControlDefaultEnabled(uiWindow)
|
||||
uiWindowsControlDefaultEnable(uiWindow)
|
||||
uiWindowsControlDefaultDisable(uiWindow)
|
||||
uiWindowsControlDefaultSetFocus(uiWindow)
|
||||
// TODO we need to do something about undocumented fields in the OS control types
|
||||
uiWindowsControlDefaultSyncEnableState(uiWindow)
|
||||
// TODO
|
||||
|
Reference in New Issue
Block a user