fn update_modifiers()

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);
    }