| 8644 | } |
| 8645 | |
| 8646 | static void rqualifiers (uae_u64 flags, bool release) |
| 8647 | { |
| 8648 | uae_u64 mask = ID_FLAG_QUALIFIER1 << 1; |
| 8649 | for (int i = 0; i < MAX_INPUT_QUALIFIERS; i++) { |
| 8650 | if ((flags & mask) && (mask & (qualifiers << 1))) { |
| 8651 | if (release) { |
| 8652 | if (!(mask & qualifiers_r)) { |
| 8653 | qualifiers_r |= mask; |
| 8654 | for (int ii = 0; ii < MAX_INPUT_SUB_EVENT; ii++) { |
| 8655 | int qevt = qualifiers_evt[i][ii]; |
| 8656 | if (qevt > 0) { |
| 8657 | write_log (_T("Released %d '%s'\n"), qevt, events[qevt].name); |
| 8658 | inputdevice_do_keyboard (events[qevt].data, 0); |
| 8659 | } |
| 8660 | } |
| 8661 | } |
| 8662 | } else { |
| 8663 | if ((mask & qualifiers_r)) { |
| 8664 | qualifiers_r &= ~mask; |
| 8665 | for (int ii = 0; ii < MAX_INPUT_SUB_EVENT; ii++) { |
| 8666 | int qevt = qualifiers_evt[i][ii]; |
| 8667 | if (qevt > 0) { |
| 8668 | write_log (_T("Pressed %d '%s'\n"), qevt, events[qevt].name); |
| 8669 | inputdevice_do_keyboard (events[qevt].data, 1); |
| 8670 | } |
| 8671 | } |
| 8672 | } |
| 8673 | } |
| 8674 | } |
| 8675 | mask <<= 2; |
| 8676 | } |
| 8677 | } |
| 8678 | |
| 8679 | static int inputdevice_translatekeycode_2 (int keyboard, int scancode, int keystate, bool qualifiercheckonly, bool ignorecanrelease) |
| 8680 | { |
no test coverage detected