Ei protocol support
- Use the configured keyboard layout, track ei seats to reconfigure their keyboards - DBus interface - Disambiguate input devices per backend instance - Add support for `ei_keysym` and `ei_text` - Act as input method for ei_text UTF-8 injection - Create a region per output for abosolute pointer position - Map ei region for touchscreen emulation - Release pointer buttons and keys on removal - Send modifiers to EI connections
This commit is contained in:
parent
e939a72b30
commit
f4ee52c46a
15 changed files with 1092 additions and 218 deletions
|
|
@ -230,6 +230,16 @@ impl State {
|
|||
state.common.output_configuration_state.update();
|
||||
});
|
||||
|
||||
// Output scale or geometry may have changed. EI absolute-pointer regions
|
||||
// are immutable per device, so any connected EI client (e.g. an RDP server)
|
||||
// keeps mapping with the old scale until it reconnects. Recreate the
|
||||
// device with the updated region so the mapping tracks the change live.
|
||||
// (drop the backend lock first: refresh borrows `self` immutably.)
|
||||
drop(backend);
|
||||
if !test_only {
|
||||
crate::libei::refresh_absolute_pointer_regions(self);
|
||||
}
|
||||
|
||||
true
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue