Commit Graph

653 Commits (master)
 

Author SHA1 Message Date
Takashi Kokubun d9127e8a90
Parse the basic config structure 3 years ago
Takashi Kokubun 2f8029a200
Parse the top-level element 3 years ago
Takashi Kokubun e5ac6af6bd
Use nix crate to call select(2) 3 years ago
Takashi Kokubun fc30cb8bca
Handle all errors properly 3 years ago
Takashi Kokubun 2db606bce3
Start parsing the config 3 years ago
Takashi Kokubun 2590a84654
Design the DSL syntax prototype 3 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
Takashi Kokubun caea9a1c2f Update README.md
Thanks to hanachin, xremap is actively maintained these days.
6 years ago
Seiei Miyagi 40246cb42b
Cleanup src/*.inc 6 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 1e2d641fe3
Fix 6ceda05 src/x11_constants_XF86.inc source, X.h -> XF86keysym.h 6 years ago
Takashi Kokubun 6160899fec
Merge pull request #31 from hanachin/generate_x11_constants_from_headers_at_build_time
Generate X11 constants from headers at build-time.
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
Takashi Kokubun c7a69cadcd Don't use exception for branching 6 years ago
Takashi Kokubun 8aefb73a5f
Merge pull request #30 from igui/master
Support for XFree86 vendor specific
6 years ago
Ignacio Avas 8236d9f032
Revert removed line 6 years ago
Ignacio Avas e58a172394 Example for Asus ROG Keyboard 6 years ago
Ignacio Avas 39922c2de7 Support for XFree86 vendor specific keysyms 6 years ago
Takashi Kokubun 69240e92a0 Update project status 6 years ago
Takashi Kokubun 7a2ec961f3 Merge patch by @garin in #29 6 years ago
Takashi Kokubun 34cbeea0a0
Merge pull request #27 from mrDSide/patch-1
Add some keybindings to emacs_like.rb
6 years ago
Eugene 8415b8058a
Add some keybindings to emacs_like.rb 6 years ago
Takashi Kokubun 194e1d4be0 Make delay configurable via env var 7 years ago
Takashi Kokubun 79a5266f1a
Merge pull request #26 from waka/guard_segfault_if_window_not_found
guard segfault if window not found
7 years ago
Takashi Kokubun fb61edd7c6
Merge pull request #25 from lostdj/patch-1
Fix event handling lag
7 years ago
yo_waka 0a9372fc96 guard segfault 7 years ago
Timofey Lagutin 10ad0bc553
Fix event handling lag
On KDE 4 switching between virtual desktops results in a flood of `PropertyNotify` event: cef2ca36ee/tools/xremap/main.c (L56)

Coupled with the specified delay of 100ms in this file, and the fact that `KeyPress` event is handled last, it results in a 1+ second lag.

I don't know whether there's a justification for the existing, specific 100ms delay, but 1ms seem to be ok for me.
7 years ago
Takashi Kokubun f6918d8dde Explicitly specify Type=Simple 7 years ago
Takashi Kokubun 31491dd055 Drop unintentional setting from systemd example 7 years ago
Takashi Kokubun e1273c8158 Fix WantedBy to default.target
It should be so, if you use systemctl --user.
7 years ago
Takashi Kokubun 86399b3b12 Fix DISPLAY to be xenial's default 7 years ago
Takashi Kokubun cef2ca36ee Merge pull request #21 from hanachin/debug
Better error logging
7 years ago
Seiei Miyagi d0cc032922
Better logging
The error codes is defined in X11/X.h,
and request code is defined in X11/Xproto.h
7 years ago
Seiei Miyagi f1ece680c2
Output ClientMessage to help debug
In my environment, detected unexpected event is only ClientMessage.

```
% journalctl | grep 'unexpected event detected' | cut -d! -f2 | sort | uniq
 (33)
```
7 years ago
Takashi Kokubun 64eef405a6 Merge pull request #19 from hanachin/follow_parent
Make fetch_window_class look up the parent window if get WM_CLASS failed
7 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 2d3eefbf1e Merge pull request #17 from acro5piano/master
Fix cannot remap_keys when using "window focus follows the mouse"
8 years ago