> Seems sensible on a first pass. Does our discussion regarding the intricacies
> of per-surface keymaps and modifier state require any alteration?
Not really - instead this helps with the per device keymaps, and helps with figuring out the actual modifiers according to the keymap configured. The alteration necessary is inside the mir::input::Seat implementation details. It needs to keep track of key states, instead of modifier states. Additionally to allow servers to properly implement key bindings I will add the per device keymapping to a related class there..
> Seems sensible on a first pass. Does our discussion regarding the intricacies
> of per-surface keymaps and modifier state require any alteration?
Not really - instead this helps with the per device keymaps, and helps with figuring out the actual modifiers according to the keymap configured. The alteration necessary is inside the mir::input::Seat implementation details. It needs to keep track of key states, instead of modifier states. Additionally to allow servers to properly implement key bindings I will add the per device keymapping to a related class there..