Add isolated native Rime service and MiSans candidate UI

This commit is contained in:
aria committed 2026-10-28 00:58:38 +09:00
1 parent f21167e1a2
commit 8e9a5838ab
28 files changed
+2381 -17

No files matched your search

+17 -4
View File
@@ -9,7 +9,7 @@ use smithay::backend::input::{
KeyboardKeyEvent, PointerAxisEvent, PointerButtonEvent, PointerMotionEvent, Switch,
SwitchState, SwitchToggleEvent, TouchEvent,
};
use smithay::input::keyboard::{FilterResult, keysyms};
use smithay::input::keyboard::{FilterResult, KeyboardSource, keysyms};
use smithay::input::pointer::{
AxisFrame, ButtonEvent, Focus, GestureSwipeBeginEvent, GestureSwipeEndEvent,
GestureSwipeUpdateEvent, GrabStartData, MotionEvent, PointerHandle, RelativeMotionEvent,
@@ -133,11 +133,23 @@ impl Ferese {
}
pub fn process_input_event<I: InputBackend>(&mut self, event: InputEvent<I>) {
self.process_input_event_inner(event);
self.process_input_event_from_source(event, KeyboardSource::MAIN);
}
pub(crate) fn process_input_event_from_source<I: InputBackend>(
&mut self,
event: InputEvent<I>,
source: KeyboardSource,
) {
self.process_input_event_inner(event, source);
self.poll_window_interaction();
}
fn process_input_event_inner<I: InputBackend>(&mut self, event: InputEvent<I>) {
fn process_input_event_inner<I: InputBackend>(
&mut self,
event: InputEvent<I>,
source: KeyboardSource,
) {
if self.input_capture.active() {
self.set_binding_mode("default");
}
@@ -329,7 +341,8 @@ impl Ferese {
let client_grab = keyboard
.with_grab(|_, grab| grab.is::<smithay::desktop::PopupKeyboardGrab<Self>>())
.unwrap_or(true);
let intercepted = keyboard.input::<(), _>(
let intercepted = keyboard.input_from_source::<(), _>(
source,
self,
keycode,
state,