From: Toni Wilen Date: Fri, 18 Sep 2015 16:00:29 +0000 (+0300) Subject: Support alternate naming of key scan code events. X-Git-Tag: 3200~66 X-Git-Url: https://git.unchartedbackwaters.co.uk/w/?a=commitdiff_plain;h=1b96dbbf722adff5f90871121deecf90b9adc0dd;p=francis%2Fwinuae.git Support alternate naming of key scan code events. --- diff --git a/inputdevice.cpp b/inputdevice.cpp index be50db8d..afae2b6f 100644 --- a/inputdevice.cpp +++ b/inputdevice.cpp @@ -158,6 +158,29 @@ int inputdevice_uaelib (const TCHAR *s, const TCHAR *parm) { int i; + if (!_tcsncmp(s, _T("KEY_RAW_"), 8)) { + // KEY_RAW_UP + // KEY_RAW_DOWN + int v; + const TCHAR *value = parm; + TCHAR *endptr; + int base = 10; + int state = _tcscmp(s, _T("KEY_RAW_UP")) ? 1 : 0; + if (value[0] == '0' && _totupper(value[1]) == 'X') + value += 2, base = 16; + v = _tcstol(value, &endptr, base); + for (i = 1; events[i].name; i++) { + struct inputevent *ie = &events[i]; + if (_tcsncmp(ie->confname, _T("KEY_"), 4)) + continue; + if (ie->data == v) { + handle_input_event(i, state, 1, 0, false, false); + return 1; + } + } + return 0; + } + for (i = 1; events[i].name; i++) { if (!_tcscmp (s, events[i].confname)) { handle_input_event (i, parm ? _tstol (parm) : 0, 1, 0, false, false);