Commit graph

94 commits

Author SHA1 Message Date
github-actions[bot]
e1caa580f3
Format Rust code using rustfmt 2024-11-02 19:13:59 +00:00
cyber-sushi
2a342ee056 Inject tablet/pen events into a dedicated uinput device 2024-11-02 19:43:01 +01:00
cyber-sushi
dfd1e88543 Added per application bindings for Niri compositor 2024-06-23 22:01:03 +02:00
cyber-sushi
68be39056e Variable import moved into its own function 2024-06-23 16:17:39 +02:00
github-actions[bot]
91624c0ce0 Format Rust code using rustfmt 2024-06-09 13:40:13 +01:00
cyber-sushi
484e4f62d4 When setting systemd environment, chain user PATH with preexisting one 2024-06-07 10:27:58 +02:00
cyber-sushi
935e553a35 Added error message when permission is denied on uinput 2024-06-07 10:27:58 +02:00
cyber-sushi
6d741d0b41 Fixed a regression that prevented modifiers from being updated correctly when called by a wheel event 2024-06-01 13:02:34 +02:00
cyber-sushi
a0110e1fea Fixed indentation because Builder messed it up somehow 2024-05-31 08:36:37 +02:00
cyber-sushi
b43be75d8d When kdotool is called in a Plasma session, use a systemd scope and redirect stderr to null 2024-05-30 19:54:36 +02:00
cyber-sushi
a0100236ab Pass config as a reference instead of cloning 2024-05-30 06:40:59 +02:00
cyber-sushi
b7de2a1ce0 Minimize compositor calls 2024-05-30 04:55:11 +02:00
cyber-sushi
ebdc2eac00 Make KDE active window retrieval work when running as root as well 2024-05-30 04:52:51 +02:00
cyber-sushi
3f3bd7e3e8 If get_config() fails to get the config corresponding to the active layout, cycle to the next layout 2024-05-29 23:51:57 +02:00
cyber-sushi
94fc3d150b Rewritten config file name parsing 2024-05-29 21:00:04 +02:00
cyber-sushi
46cdd0346a Check if associated config file exists by matching config properties instead of hashing 2024-05-29 06:08:36 +02:00
cyber-sushi
955eac92e9 Added support for tablet wheel and layout switching 2024-05-29 06:06:52 +02:00
cyber-sushi
7c3da30404 Parse associated layout from config file name 2024-05-29 06:05:33 +02:00
cyber-sushi
b4dd6a8989 Associated application and layout is now stored inside Config struct 2024-05-29 06:04:38 +02:00
cyber-sushi
881318b867 Added tablet wheel remapping 2024-05-27 13:09:15 +02:00
cyber-sushi
6be266a3a9 Added axis events for tablet wheels 2024-05-27 13:08:28 +02:00
cyber-sushi
2d9b4eeaab Added per app bindings on KDE/Wayland through kdotool 2024-05-27 08:21:38 +02:00
cyber-sushi
7d311a214a Add INVERT_CURSOR_AXIS and INVERT_SCROLL_AXIS settings 2024-05-23 07:31:34 +02:00
cyber-sushi
a277a73caa Automatically infer DBUS_SESSION_BUS_ADDRESS from UID 2024-05-23 05:55:09 +02:00
cyber-sushi
c79d031fe7 Don't double fork command when running as systemd service since it's not necessary 2024-05-23 05:19:21 +02:00
cyber-sushi
69a2b9be16 Use systemd-run to spawn commands when running as system service 2024-05-23 04:51:50 +02:00
cyber-sushi
e563af5c1f Don't set env variables that are already set inside system service 2024-05-23 04:02:27 +02:00
cyber-sushi
a417498db1 When remapping a key in [remap], don't change the behavior of that key in [commands] unless it's a modifier 2024-05-20 21:33:45 +02:00
cyber-sushi
da2a43aaee Support mapping both a chained and non-chained event for the same key at the same time 2024-05-19 07:11:46 +02:00
cyber-sushi
f87c8cec45 Removed needless line 2024-05-19 06:55:28 +02:00
cyber-sushi
cf8f7d7ad3 Added CHAIN_ONLY setting to control behavior of mixed bindings 2024-05-19 06:45:49 +02:00
cyber-sushi
a51115c0d3 Implemented support for mixed bindings 2024-05-19 05:55:29 +02:00
cyber-sushi
06402cadee Added type Hold to Event enum, and parsing support for mixed bindings 2024-05-19 05:54:09 +02:00
cyber-sushi
8bc1016f4a Fixed regression that prevented key-up from being registered correctly when binding a single key to a single modifier 2024-05-19 03:26:47 +02:00
cyber-sushi
f35636fb42 Fixed regressions affecting default scroll wheel event and analog sticks rebinding 2024-05-18 03:57:47 +02:00
cyber-sushi
31c1b1ce44 Use Server enum instead of Option to match compositor 2024-05-18 01:47:49 +02:00
cyber-sushi
c19357d0b8 Refactor event conversion to avoid using strings, streamline event injection and use double fork when spawning subprocess 2024-05-18 01:46:39 +02:00
cyber-sushi
6092acc177 Wrap compositor status and active client into their own enum, split environment setup and task spawning 2024-05-18 01:44:04 +02:00
cyber-sushi
0e89f5aa19 Streamline event types and configuration parsing 2024-05-18 01:38:05 +02:00
cyber-sushi
aa1e6d66e2 Added L/RSTICK_ACTIVATION_MODIFIERS parameter to control cursor and scroll activation through modifiers 2024-05-13 18:26:10 +02:00
cyber-sushi
a5355432b4 Gamepad triggers correctly emit event value 0 when lifted 2024-05-11 22:57:14 +02:00
cyber-sushi
19ae1d8629 Removed outdated information from stdout 2024-05-10 02:31:35 +02:00
cyber-sushi
1d2acfb88e Automatically import user environment when running as system service 2024-05-10 01:53:47 +02:00
cyber-sushi
9c3f8528e5 Fixed line breaks in stdout 2024-05-10 01:28:53 +02:00
cyber-sushi
75b5699785 Get active window on Hyprland using subprocess instead of relying on external library 2024-05-09 18:36:08 +02:00
cyber-sushi
9dba3c564f Fixed default directory when running with no root permissions 2024-05-09 16:55:23 +02:00
cyber-sushi
7566e34efc Refactored subprocess spawning and fixed bug that prevented shell commands with arguments from running 2024-05-09 02:31:01 +02:00
cyber-sushi
d45025f0d2 If MAKIMA_CONFIG is set, don't bother locating the default config directory 2024-05-09 02:03:28 +02:00
cyber-sushi
a78978536b Automatically set DISPLAY if not found 2024-05-09 01:57:23 +02:00
cyber-sushi
245ee365e1 Ignore commands if no SUDO_USER env var is found when running as root 2024-05-08 20:18:47 +02:00