Commit Graph

208 Commits (master)

Author SHA1 Message Date
Takashi Kokubun 63e24b4dc5
Simplify Application deserializer 2 years ago
Takashi Kokubun fbdda1f1e6
Simplify Keymap deserializer 2 years ago
Takashi Kokubun d6fe343f31
Simplify Modmap deserializer 2 years ago
Takashi Kokubun ef0d7c428d
Simplify Actions deserializer 2 years ago
Takashi Kokubun 179674e713
Simplify KeyAction deserializer 2 years ago
Greg Dallavalle 225f8019bd Add hotkey command support 2 years ago
Takashi Kokubun 4280a3f559
Simplify serde a little 2 years ago
Takashi Kokubun e8b4aed1aa
Re-add serde tests 2 years ago
Takashi Kokubun 7ab1595836
Rollback to v0.1.5 2 years ago
Takashi Kokubun 613555943d
Add serde test cases 2 years ago
Takashi Kokubun ff1c19e076
Start testing serde 2 years ago
Takashi Kokubun 12906a45df
Resurrect deserializer for Actions 2 years ago
Takashi Kokubun 00e4a07f43
This no longer needs to be pub 2 years ago
Takashi Kokubun 8c7d2b1aac
Refactor remap deserializer 2 years ago
Takashi Kokubun fc9927b2f7
serde_error is no longer shared 2 years ago
Takashi Kokubun 320b602789
s/evdev::Key/Key/g again 2 years ago
Takashi Kokubun 47768f8ca7
Simplify the default 2 years ago
Takashi Kokubun 12fac38102
Rename a deserialization function 2 years ago
Takashi Kokubun 3c0fe13c27
Unwrap evdev::Key 2 years ago
Takashi Kokubun eb68ae2da3
Add #[serde(untagged)] 2 years ago
Takashi Kokubun 186f02c8d0
Switch to #[derive(Deserialize)] 2 years ago
Takashi Kokubun daaf353bdb
Add a wrapper of evdev::key for deserialization 2 years ago
Takashi Kokubun eb58323637
Simplify Actions serde 2 years ago
Takashi Kokubun 18f1084da7
Simplify serde a little 2 years ago
Takashi Kokubun 0c4aabd07e
Commit an unstaged change 2 years ago
Takashi Kokubun d292c59dbe
Implement --watch 2 years ago
Takashi Kokubun 8dd6b254ee
Recover from a removed device 2 years ago
Takashi Kokubun 2ab9008d54
Ignore its own device 2 years ago
Takashi Kokubun d6182c0412
Move event_handler function to another file again 2 years ago
Takashi Kokubun 9aebbd032c
Make name optional 2 years ago
Takashi Kokubun a5f2185766
Add --ignore option
Close #46
2 years ago
Takashi Kokubun 9f69ef8bb6
Refactor module boundaries 2 years ago
Takashi Kokubun 94e91d9f6a
Add a clarification comment 2 years ago
Takashi Kokubun 091900500d
Support multi-purpose keys in modmap 2 years ago
Takashi Kokubun 1518dae48f
Fix a typo
Fix #43
2 years ago
Takashi Kokubun 57b9962ca7
cargo fmt 2 years ago
Takashi Kokubun 13719b9f70
Drop sudo requirement and stop forking swayipc 2 years ago
Takashi Kokubun cb4f735d2a
Revert "Workaround for xremap crate v0.1.0"
This reverts commit ef49f84f905ab088a7dcd95ee4d612e5af0aa419.
2 years ago
Takashi Kokubun 26c8c8429f
Workaround for xremap crate v0.1.0
I noticed git-based dependencies cannot be published to crates.io.
So I removed the sway feature from crates.io temporarily to finish the
namespace reservation.

I'll make it right in the upcoming release of xremap.
2 years ago
κeen 53b2ae58b4
introduce log/env_logger 2 years ago
Takashi Kokubun a6be4f00bd
Add troubleshooting messages for X11 2 years ago
Takashi Kokubun 4b0e3ceb36
Implement GnomeClient primarily for Wayland 2 years ago
Takashi Kokubun 6547b4883d
Rename wm_class to application 2 years ago
Takashi Kokubun 4b251b1fce
Feature-flag WM clients 2 years ago
Takashi Kokubun ecfdcb8de5
Guard from SEGV 2 years ago
Takashi Kokubun 60e6ada024
Implement SwayClient 2 years ago
Takashi Kokubun d0bffa8c2f
Fix modifier bugs 2 years ago
Takashi Kokubun 387c29d355
Workaround FocusProxy 2 years ago
Takashi Kokubun bcc4598069
Implement conditional modmap properly 2 years ago
Takashi Kokubun 39dbc8a1fe
Support wm_class for X11 2 years ago
Takashi Kokubun 63ec6948e6
Implement chained remap 2 years ago
Takashi Kokubun c57dbee606
Implement keymap 2 years ago
Takashi Kokubun f5695d3bc2
Maintain pressed modifiers 2 years ago
Takashi Kokubun 0d5f37cae3
Implement EventHandler as a mutable struct 2 years ago
Takashi Kokubun aa3dd2efe3
Implement modmap 2 years ago
Takashi Kokubun fe696a8956
Implement event multiplexer 2 years ago
Takashi Kokubun f058c44433
Implement xremap's VirtualDevice 2 years ago
Takashi Kokubun d21a3e7650
Implement --device option 2 years ago
Takashi Kokubun 5448801473
Implement automatic device selection 2 years ago
Takashi Kokubun 6fbd45a19a
Implement listing devices 2 years ago
Takashi Kokubun 1a8b2b15d1
Implement CLI 2 years ago
Takashi Kokubun d76ab68d7c
Shorten main function 2 years ago
Takashi Kokubun ae7d2deff4
Validate extra action keys 2 years ago
Takashi Kokubun db1c9f5600
Parse remap action 2 years ago
Takashi Kokubun 689ad59163
Parse chained actions 2 years ago
Takashi Kokubun 74ee0f36da
Some abstraction for further extension 2 years ago
Takashi Kokubun 10845ed7c0
Parse KeyPress 2 years ago
Takashi Kokubun fed0b5526f
Break up config source files 2 years ago
Takashi Kokubun 16615e55d3
Parse Windows keys 2 years ago
Takashi Kokubun 2ee85b8773
Implement key parser 2 years ago
Takashi Kokubun d9127e8a90
Parse the basic config structure 2 years ago
Takashi Kokubun 2f8029a200
Parse the top-level element 2 years ago
Takashi Kokubun e5ac6af6bd
Use nix crate to call select(2) 2 years ago
Takashi Kokubun fc30cb8bca
Handle all errors properly 2 years ago
Takashi Kokubun 2db606bce3
Start parsing the config 2 years ago
Takashi Kokubun 9cc6bb0006
Implement global modmap 3 years ago
Takashi Kokubun 4061f77694
Infinite loop 3 years ago
Takashi Kokubun e29714484c
Change the hard-coded device 3 years ago
Takashi Kokubun 6a8683304c
Revert "Set relative axes"
This reverts commit 4b33dee052.
3 years ago
Takashi Kokubun 1ed2fd9029
cargo fmt 3 years ago
Takashi Kokubun 4b33dee052
Set relative axes 3 years ago
Takashi Kokubun 06b2d04a89
Simulate supported keys 3 years ago
Takashi Kokubun cc178eb575
Build a virtual device to output events 3 years ago
Takashi Kokubun 0878d52dcb
Add a basic event loop 3 years ago
Takashi Kokubun efb1db6d3b
Prepare for calling select(2) 3 years ago
Takashi Kokubun e9c5afb054
Grab the input device 3 years ago
Takashi Kokubun d324c4a73b
cargo init 3 years ago
Takashi Kokubun 603be104f4
Full scratch 3 years ago
Seiei Miyagi e9bbb31bc4
Fix #32 introduced in 1e2d641 We need the constants from both keysymdef.h and X.h 6 years ago
Seiei Miyagi 6ceda05568
Generate X11 constants from headers at build-time.
The X11 constants are different between versions.

For example, Debian doesn't have XF86XK_WWAN
https://salsa.debian.org/xorg-team/proto/x11proto-core/blob/debian-unstable/XF86keysym.h

But Arch Linux does.
https://www.archlinux.org/packages/extra/any/xorgproto/

I've got following error on Debian stretch

```
 /home/sei/src/github.com/k0kubun/xremap/src/x11_constants.c:2710:20: error: ‘XF86XK_WWAN’ undeclared (first use in this function)
    define_x11_const(XF86XK_WWAN);
```

To avoid macro undeclared error, wrap the `define_x11_const` with #ifdef

```
#ifdef XF86XK_WWAN
define_x11_const(XF86XK_WWAN)
#endif
```

Or generate code at build-time.
6 years ago
Ignacio Avas 8236d9f032
Revert removed line 6 years ago
Ignacio Avas 39922c2de7 Support for XFree86 vendor specific keysyms 6 years ago
Takashi Kokubun 7a2ec961f3 Merge patch by @garin in #29 6 years ago
Seiei Miyagi a9d8c0c7e7
Avoid goto loop 7 years ago
Seiei Miyagi df6194880f
Make fetch_window_class look up the parent window if get WM_CLASS failed
Some applications have the window without name, such as Firefox.

c.f.
> XGetInputFocus() returns an unnamed child window
> that every instance of Firefox has.
https://burrows.svbtle.com/universal-copy-paste-in-linux
7 years ago
Takashi Kokubun 6e8e1f2128 Rename xkremap to xremap 8 years ago
Takashi Kokubun 0b9600d1ea Experimentally add press and release DSL 8 years ago
Takashi Kokubun de6aab92fd Implement window-specific remaps 8 years ago
Takashi Kokubun a8de68d52a Define constants in X.h 8 years ago
Takashi Kokubun 560e51efb5 Define X11 keysym constants 8 years ago
Takashi Kokubun 74c44b5c8f Try to implement actual remap by mruby 8 years ago
Takashi Kokubun cc4730f517 Implement key press handler 8 years ago
Takashi Kokubun fc993cee6e Grab keys only when active window is changed 8 years ago
Takashi Kokubun 36d41a3c99 Grab key by mruby 8 years ago
Takashi Kokubun b2ddabbe25 Build with X11 8 years ago
Takashi Kokubun 246e97d495 Try to fetch window's pid, name and class 8 years ago
Takashi Kokubun 7e66ebde39 Try to remap keyboard
This can avoid GitHub's key binding control.
8 years ago
Takashi Kokubun f901083c72 Add basic build system 8 years ago