A11yKeyboardMonitor: Distinguish modifier and other key

When processing a key event, only update A11yKeyboardMonitor::lastModifier and A11yKeyboardMonitor::lastModifierTime if the pressed key is actually a modifier.

Otherwise, the "if the modifier was pressed twice within the key repeat delay process it normally" logic above would trigger when pressing a non-modifier key twice within the key repeat delay time, breaking e.g. Orca's structural navigation when pressing "H" twice to jump to the heading after the next, and instead result in a literal "h" getting inserted when input is accepted (e.g. in an editable LibreOffice Writer document).

BUG: 506715

Merge request reports

Loading