From 1b96dbbf722adff5f90871121deecf90b9adc0dd Mon Sep 17 00:00:00 2001 From: Toni Wilen Date: Fri, 18 Sep 2015 19:00:29 +0300 Subject: [PATCH] Support alternate naming of key scan code events. --- inputdevice.cpp | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) 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); -- 2.47.3