in native/desktop-linux/src/linux/keyboard.rs [73:97]
fn update_modifiers(
&mut self,
_: &Connection,
_: &QueueHandle<Self>,
_: &WlKeyboard,
serial: u32,
modifiers: Modifiers,
_raw_modifiers: RawModifiers,
_layout: u32,
) {
self.last_keyboard_event_serial = Some(serial);
let event = {
let mut key_modifiers = BitFlags::<KeyModifier>::EMPTY;
key_modifiers.set(KeyModifier::Ctrl, modifiers.ctrl);
key_modifiers.set(KeyModifier::Alt, modifiers.alt);
key_modifiers.set(KeyModifier::Shift, modifiers.shift);
key_modifiers.set(KeyModifier::CapsLock, modifiers.caps_lock);
key_modifiers.set(KeyModifier::Logo, modifiers.logo);
key_modifiers.set(KeyModifier::NumLock, modifiers.num_lock);
ModifiersChangedEvent {
modifiers: KeyModifierBitflag(key_modifiers.bits_c()),
}
};
self.send_event(event);
}