feat(config): add options for alternative xdotool backend
This commit is contained in:
parent
bf35a80d4d
commit
e7e7d83885
|
@ -166,6 +166,10 @@ pub trait Config: Send + Sync {
|
|||
// the built-in native module on X11.
|
||||
fn x11_use_xclip_backend(&self) -> bool;
|
||||
|
||||
// If true, use an alternative injection backend based on the `xdotool` library.
|
||||
// This might improve the situation for certain locales/layouts on X11.
|
||||
fn x11_use_xdotool_backend(&self) -> bool;
|
||||
|
||||
// If true, filter out keyboard events without an explicit HID device source on Windows.
|
||||
// This is needed to filter out the software-generated events, including
|
||||
// those from espanso, but might need to be disabled when using some software-level keyboards.
|
||||
|
@ -212,6 +216,7 @@ pub trait Config: Send + Sync {
|
|||
secure_input_notification: {:?}
|
||||
|
||||
x11_use_xclip_backend: {:?}
|
||||
x11_use_xdotool_backend: {:?}
|
||||
win32_exclude_orphan_events: {:?}
|
||||
win32_keyboard_layout_cache_interval: {:?}
|
||||
|
||||
|
@ -246,6 +251,7 @@ pub trait Config: Send + Sync {
|
|||
self.secure_input_notification(),
|
||||
|
||||
self.x11_use_xclip_backend(),
|
||||
self.x11_use_xdotool_backend(),
|
||||
self.win32_exclude_orphan_events(),
|
||||
self.win32_keyboard_layout_cache_interval(),
|
||||
|
||||
|
|
|
@ -49,6 +49,7 @@ pub(crate) struct ParsedConfig {
|
|||
pub win32_exclude_orphan_events: Option<bool>,
|
||||
pub win32_keyboard_layout_cache_interval: Option<i64>,
|
||||
pub x11_use_xclip_backend: Option<bool>,
|
||||
pub x11_use_xdotool_backend: Option<bool>,
|
||||
|
||||
pub pre_paste_delay: Option<usize>,
|
||||
pub restore_clipboard_delay: Option<usize>,
|
||||
|
|
|
@ -121,6 +121,9 @@ pub(crate) struct YAMLConfig {
|
|||
#[serde(default)]
|
||||
pub x11_use_xclip_backend: Option<bool>,
|
||||
|
||||
#[serde(default)]
|
||||
pub x11_use_xdotool_backend: Option<bool>,
|
||||
|
||||
// Include/Exclude
|
||||
#[serde(default)]
|
||||
pub includes: Option<Vec<String>>,
|
||||
|
@ -213,6 +216,7 @@ impl TryFrom<YAMLConfig> for ParsedConfig {
|
|||
win32_exclude_orphan_events: yaml_config.win32_exclude_orphan_events,
|
||||
win32_keyboard_layout_cache_interval: yaml_config.win32_keyboard_layout_cache_interval,
|
||||
x11_use_xclip_backend: yaml_config.x11_use_xclip_backend,
|
||||
x11_use_xdotool_backend: yaml_config.x11_use_xdotool_backend,
|
||||
|
||||
use_standard_includes: yaml_config.use_standard_includes,
|
||||
includes: yaml_config.includes,
|
||||
|
@ -273,6 +277,7 @@ mod tests {
|
|||
win32_exclude_orphan_events: false
|
||||
win32_keyboard_layout_cache_interval: 300
|
||||
x11_use_xclip_backend: true
|
||||
x11_use_xdotool_backend: true
|
||||
|
||||
use_standard_includes: true
|
||||
includes: ["test1"]
|
||||
|
@ -329,6 +334,7 @@ mod tests {
|
|||
win32_exclude_orphan_events: Some(false),
|
||||
win32_keyboard_layout_cache_interval: Some(300),
|
||||
x11_use_xclip_backend: Some(true),
|
||||
x11_use_xdotool_backend: Some(true),
|
||||
|
||||
pre_paste_delay: Some(300),
|
||||
evdev_modifier_delay: Some(40),
|
||||
|
|
|
@ -331,6 +331,10 @@ impl Config for ResolvedConfig {
|
|||
fn x11_use_xclip_backend(&self) -> bool {
|
||||
self.parsed.x11_use_xclip_backend.unwrap_or(false)
|
||||
}
|
||||
|
||||
fn x11_use_xdotool_backend(&self) -> bool {
|
||||
self.parsed.x11_use_xdotool_backend.unwrap_or(false)
|
||||
}
|
||||
}
|
||||
|
||||
impl ResolvedConfig {
|
||||
|
@ -417,6 +421,7 @@ impl ResolvedConfig {
|
|||
win32_exclude_orphan_events,
|
||||
win32_keyboard_layout_cache_interval,
|
||||
x11_use_xclip_backend,
|
||||
x11_use_xdotool_backend,
|
||||
includes,
|
||||
excludes,
|
||||
extra_includes,
|
||||
|
|
|
@ -410,6 +410,10 @@ impl Config for LegacyInteropConfig {
|
|||
fn x11_use_xclip_backend(&self) -> bool {
|
||||
false
|
||||
}
|
||||
|
||||
fn x11_use_xdotool_backend(&self) -> bool {
|
||||
false
|
||||
}
|
||||
}
|
||||
|
||||
struct LegacyMatchGroup {
|
||||
|
|
Loading…
Reference in New Issue
Block a user