mirror of
https://github.com/Smithay/smithay.git
synced 2024-09-28 03:21:14 +02:00
Fail using handle
This commit is contained in:
parent
9350f09b06
commit
034cf7cb13
4 changed files with 17 additions and 4 deletions
|
@ -62,6 +62,13 @@ x11rb = { version = "0.10.0", optional = true }
|
|||
xkbcommon = { version = "0.4.0", features = ["wayland"]}
|
||||
scan_fmt = { version = "0.2.3", default-features = false }
|
||||
|
||||
[patch.crates-io]
|
||||
wayland-protocols-misc = { path = '/home/rano/Public/code/wayland-rs/wayland-protocols-misc/' }
|
||||
wayland-server = { path = '/home/rano/Public/code/wayland-rs/wayland-server/' }
|
||||
wayland-backend = { path = '/home/rano/Public/code/wayland-rs/wayland-backend/' }
|
||||
wayland-sys = { path = '/home/rano/Public/code/wayland-rs/wayland-sys/' }
|
||||
wayland-protocols = { path = '/home/rano/Public/code/wayland-rs/wayland-protocols/' }
|
||||
|
||||
[dev-dependencies]
|
||||
slog-term = "2.3"
|
||||
|
||||
|
|
|
@ -45,8 +45,8 @@ use smithay::{
|
|||
viewporter::ViewporterState,
|
||||
xdg_activation::{
|
||||
XdgActivationHandler, XdgActivationState, XdgActivationToken, XdgActivationTokenData,
|
||||
},
|
||||
},
|
||||
}, virtual_keyboard::VirtualKeyboardManagerState,
|
||||
}, delegate_virtual_keyboard_manager,
|
||||
};
|
||||
|
||||
#[cfg(feature = "xwayland")]
|
||||
|
@ -163,6 +163,8 @@ delegate_text_input_manager!(@<BackendData: 'static> AnvilState<BackendData>);
|
|||
|
||||
delegate_input_method_manager!(@<BackendData: 'static> AnvilState<BackendData>);
|
||||
|
||||
delegate_virtual_keyboard_manager!(@<BackendData: 'static> AnvilState<BackendData>);
|
||||
|
||||
delegate_viewporter!(@<BackendData: 'static> AnvilState<BackendData>);
|
||||
|
||||
impl<BackendData> XdgActivationHandler for AnvilState<BackendData> {
|
||||
|
@ -273,6 +275,7 @@ impl<BackendData: Backend + 'static> AnvilState<BackendData> {
|
|||
let xdg_shell_state = XdgShellState::new::<Self, _>(&dh, log.clone());
|
||||
TextInputManagerState::new::<Self>(&dh);
|
||||
InputMethodManagerState::new::<Self>(&dh);
|
||||
VirtualKeyboardManagerState::new::<Self>(&dh);
|
||||
|
||||
// init input
|
||||
let seat_name = backend_data.seat_name();
|
||||
|
|
|
@ -6,7 +6,7 @@ use wayland_protocols_misc::zwp_virtual_keyboard_v1::server::{
|
|||
};
|
||||
use wayland_server::{DisplayHandle, GlobalDispatch, Dispatch, Client, New, DataInit};
|
||||
|
||||
use self::virtual_keyboard_handle::{VirtualKeyboardUserData, VirtualKeyboardHandle};
|
||||
use self::virtual_keyboard_handle::{VirtualKeyboardHandle};
|
||||
|
||||
use super::seat::Seat;
|
||||
|
||||
|
@ -14,6 +14,8 @@ const MANAGER_VERSION: u32 = 1;
|
|||
|
||||
mod virtual_keyboard_handle;
|
||||
|
||||
pub use virtual_keyboard_handle::VirtualKeyboardUserData;
|
||||
|
||||
/// State of wp misc virtual keyboard protocol
|
||||
#[derive(Debug)]
|
||||
pub struct VirtualKeyboardManagerState {
|
||||
|
@ -81,7 +83,7 @@ where
|
|||
user_data.insert_if_missing(VirtualKeyboardHandle::default);
|
||||
let handle = user_data.get::<VirtualKeyboardHandle>().unwrap();
|
||||
if handle.has_instance() {
|
||||
return; //TODO: compositor should present an error when an untrusted client requests a new keyboard. ? :/
|
||||
return; //TODO: Replace with privileged filter, found in dmabuf
|
||||
}
|
||||
let instance = data_init.init(
|
||||
id,
|
||||
|
|
|
@ -3,6 +3,7 @@ use std::sync::{Arc, Mutex};
|
|||
use wayland_backend::server::{ClientId, ObjectId};
|
||||
use wayland_protocols_misc::zwp_virtual_keyboard_v1::server::zwp_virtual_keyboard_v1::{self, ZwpVirtualKeyboardV1};
|
||||
use wayland_server::{Dispatch, Client, DisplayHandle, DataInit};
|
||||
use xkbcommon::xkb;
|
||||
|
||||
use crate::{wayland::{seat::{KeyboardHandle, FilterResult}, SERIAL_COUNTER}, backend::input::KeyState};
|
||||
|
||||
|
|
Loading…
Reference in a new issue