jay-compositor 1.15.0

The Jay compositor
use crate::it::test_error::TestErrorError;
use crate::it::test_utils::test_expected_event::TEEH;
use crate::wire::zwp_input_method_keyboard_grab_v2::*;
use std::rc::Rc;

#[derive(Default)]
pub struct TestInputMethodKeyboardGrab {
    pub keymap: TEEH<Keymap>,
    pub key: TEEH<Key>,
    pub modifiers: TEEH<Modifiers>,
    pub repeat_info: TEEH<RepeatInfo>,
}

synthetic_event_handler!(TestInputMethodKeyboardGrab);

impl ZwpInputMethodKeyboardGrabV2EventHandler for TestInputMethodKeyboardGrab {
    type Error = TestErrorError;

    fn keymap(&self, ev: Keymap, _slf: &Rc<Self>) -> Result<(), Self::Error> {
        self.keymap.push(ev);
        Ok(())
    }

    fn key(&self, ev: Key, _slf: &Rc<Self>) -> Result<(), Self::Error> {
        self.key.push(ev);
        Ok(())
    }

    fn modifiers(&self, ev: Modifiers, _slf: &Rc<Self>) -> Result<(), Self::Error> {
        self.modifiers.push(ev);
        Ok(())
    }

    fn repeat_info(&self, ev: RepeatInfo, _slf: &Rc<Self>) -> Result<(), Self::Error> {
        self.repeat_info.push(ev);
        Ok(())
    }
}