Commit graph

346 commits

Author SHA1 Message Date
vaxerski
41cdfb7420 allow binding tablets to outputs 2022-12-21 15:11:39 +00:00
vaxerski
4fd90144d1 touch up the clang format and format all files 2022-12-20 02:18:47 +00:00
vaxerski
f72c237d85 add disabling keyboards 2022-12-16 17:20:51 +00:00
Vaxry
98a4fa2b0d
Added clang format (#1239)
* clang-format stuff and format files
2022-12-16 17:17:31 +00:00
vaxerski
c3f1dc3f52 fix minor issues with move focus and follow mouse 0 2022-12-10 15:15:40 +00:00
vaxerski
62f4503f07 handle constraint cursor hints better 2022-12-10 14:43:46 +00:00
vaxerski
ff12a41c40 minor focus fixes with LS-es and moving windows 2022-12-09 14:03:37 +00:00
vaxerski
20b91f58f8 remove idiotic guard in processMouseDownNormal 2022-12-05 14:30:04 +00:00
vaxerski
ac0e675f3b better capability handling 2022-12-05 14:28:27 +00:00
vaxerski
409ac12f23 avoid duplicate device names 2022-12-03 20:36:52 +00:00
vaxerski
6aa26582f6 added hyprctl switchxkblayout 2022-12-03 16:22:02 +00:00
vaxerski
0a302901d2 Added handling more special workspaces 2022-11-27 22:42:22 +00:00
0e6e8461eb reset m_bEmptyFocusCursorSet on workspace switch 2022-11-25 11:34:52 +00:00
vaxerski
379597e78f remove redundant strval_empty checks 2022-11-24 17:11:21 +00:00
CactiChameleon9
f00b2fd509
Fix swiping on the first workspace going to the last (#1067) 2022-11-21 23:30:26 +00:00
vaxerski
eb86e7967f add scroll_button libinput opt 2022-11-21 23:26:18 +00:00
vaxerski
254c3d166f don't send motion events to lock constraints 2022-11-20 18:38:53 +00:00
vaxerski
137cf9e582 improve constraint handling 2022-11-20 17:35:13 +00:00
vaxerski
e427d9f622 unify setting of the active monitor 2022-11-19 16:41:41 +00:00
d5eafe1926 set cursor to hand1 when moving a window 2022-11-15 10:39:05 +00:00
Leftas
34a7f17956
Add keyboard led update after keys/mod update 2022-11-12 13:12:37 +02:00
vaxerski
dd11434e90 notify idle on touch down 2022-11-11 23:41:04 +00:00
vaxerski
5f2c741f49 remove spammy ime logs 2022-11-10 12:24:41 +00:00
vaxerski
1cf829c889 minor loose focus fixes 2022-11-08 20:28:41 +00:00
17992b633d minor fixes for follow_mouse 3 2022-11-08 14:48:17 +00:00
vaxerski
aefc34b405 Minor fixes for virtual input devices 2022-11-07 22:22:13 +00:00
vaxerski
976b44443a ignore constraints on exclusiveClient create 2022-11-05 18:34:26 +00:00
vaxerski
70aece8522 constraint focus simplifications 2022-11-04 18:09:40 +00:00
vaxerski
e796157672 fix passing input to constrained windows without relative 2022-11-04 11:09:34 +00:00
vaxerski
b51222c004 fix ordering in mouse connect 2022-11-04 10:48:42 +00:00
d0e47d9fe0 added workspace_swipe_forever 2022-11-03 13:35:34 +00:00
603a90886f fix swipe on 2 detached workspaces 2022-11-02 10:01:13 +00:00
vaxerski
a69fd21a1a Add an idleinhibit windowrule 2022-10-31 12:26:07 +00:00
vaxerski
9f1d7f7fc7 properly scan for subsurfaces in fullscreen input refocus 2022-10-30 12:28:37 +00:00
vaxerski
644c64d79d lower IME errors to WARNs 2022-10-28 21:47:08 +01:00
vaxerski
c2cd718e89 ignore pointer constraints in touch 2022-10-27 23:44:23 +01:00
28c81fc71e add disabling pointer devices 2022-10-27 12:58:10 +01:00
ba9a8a9ded unify LS unmap focus 2022-10-25 14:19:24 +01:00
vaxerski
c6a3092b45 more safety around shutting down and mouse movements 2022-10-24 00:14:42 +01:00
vaxerski
6df6aea1ba fix swipe with fullscreen maximized 2022-10-20 20:37:37 +01:00
dada872981 minor swipe on new fixes 2022-10-20 17:52:17 +01:00
1eec5161bd minor fix for swipes from empty workspaces 2022-10-20 15:47:35 +01:00
53c3644c29 fix minor anim issue with swipe new 2022-10-20 15:02:46 +01:00
6d66dde208 added swipe create new 2022-10-20 14:54:32 +01:00
vaxerski
edeb759bb1 add loose focus behavior 2022-10-15 14:13:21 +01:00
vaxerski
34cd8b125a rework focus system to be more safe and faster 2022-10-14 20:46:32 +01:00
724fa4a7d4 add touch binding to output 2022-10-14 12:38:44 +01:00
df9409b8a2 rename transform in DC to touch_transform 2022-10-14 12:23:11 +01:00
Histausse
6287f2b71b
use static for transformation matrices 2022-10-10 12:52:12 +02:00
Histausse
406b2fe6dc
Add additionnal matrices and rename config var 2022-10-09 00:45:34 +02:00
Histausse
32ae0c51f0
Add input:touchdevice:td_rotation config
Add support for touch device roation. The rotation is
set globally with `input:touchdevice:td_rotation config` and by
device with `td_rotation` in a device block.
2022-10-08 15:25:46 +02:00
a19b152e4a make swipe respect slidevert 2022-10-07 16:52:53 +01:00
Mihai Fufezan
e4820d1c71
Add input:touchpad:scroll_factor 2022-10-06 22:47:05 +03:00
d7ef19e2e7 map touch to the correct output 2022-10-06 09:26:05 +01:00
Mihai Fufezan
477ad2dd82
Add accel profile and scroll method 2022-10-05 23:51:08 +03:00
Felix Dick
6d46ed4011 Fix getDeviceInt string arg "input:left_handed" 2022-10-05 04:25:26 +02:00
vaxerski
60c414ccad add left_handed config for input 2022-10-04 21:46:41 +01:00
vaxerski
0d702b556d Add switch device handling and binds 2022-10-04 20:07:21 +01:00
Felix Dick
bf3f519eb7 Remove trailing whitespace. 2022-09-25 20:07:48 +02:00
e5d143b238 support more wlr_cursor events 2022-09-22 21:14:02 +01:00
79c645f8cd handle touch devices internally as objects 2022-09-21 14:39:34 +01:00
c24b45671a mouse binds overhaul 2022-09-19 19:04:48 +01:00
7c809a3059 fullscreen animation en-nice-ment 2022-09-19 10:23:13 +01:00
29626989e7 fix focus follows mouse 0 event sending on wrong window 2022-09-18 12:35:05 +01:00
a72a39ebd5 minor swipe fixes 2022-09-17 15:05:12 +01:00
vaxerski
d94fe3d063 added window pinning 2022-09-10 13:11:02 +02:00
vaxerski
f663fa209c minor code styling fixes 2022-09-09 19:08:11 +02:00
vaxerski
d6c06318af don't accumulate from virtual 2022-09-05 11:19:40 +02:00
vaxerski
cb839c9dcc guard pFoundWindow in CInputManager under fullscreen 2022-09-05 00:59:13 +02:00
vaxerski
7a3b57c99c send accumulated modifiers to surfaces 2022-09-04 18:46:28 +02:00
vaxerski
ba0c5fe0bb fix mouse focus not returning from a LS on follow mouse 0 2022-09-04 18:42:11 +02:00
vaxerski
ff26531e11 use activateSurface in unconstrainMouse 2022-09-04 11:29:49 +02:00
vaxerski
fbd2b4799d Fix some more crimes against humanity 2022-09-03 22:49:52 +02:00
vaxerski
c425e620af fix some minor crimes against humanity 2022-09-03 19:35:17 +02:00
vaxerski
09495375b5 ratelimit setting cursor 2022-08-28 22:45:05 +02:00
vaxerski
ed2cacc5d5 fix styling in const ptrs 2022-08-27 21:37:35 +02:00
vaxerski
23c5760538 IME Popup damage fixes 2022-08-23 11:16:35 +02:00
vaxerski
6565c31dbf fix IME grab on multiple open native inputs 2022-08-22 18:40:38 +02:00
vaxerski
575bfa40e5 added misc:float_switch_override_focus 2022-08-22 18:22:26 +02:00
vaxerski
429b2bffed fix minor refocus issue 2022-08-22 18:16:32 +02:00
vaxerski
0f63077a07 use a custom translation state in keybinds 2022-08-21 16:43:22 +02:00
1b1a0259a8 fix crash 2022-08-19 23:22:59 +02:00
Vaxry
223ca6e286
Merge pull request #548 from FlafyDev/main
add input:kb_file option to use a .xkb file.
2022-08-19 22:39:50 +02:00
FlafyDev
f0ad77251b move absolutePath to MiscFunctions 2022-08-19 23:18:09 +03:00
FlafyDev
69d17bf424 add input:kb_file 2022-08-19 21:01:51 +03:00
946222f4a7 fix typo in swipe alpha control 2022-08-19 17:42:10 +02:00
504d07a87d fix swipe on workspace style fade 2022-08-19 17:36:01 +02:00
81b27be6bb reset lastwindow on full LS focus 2022-08-19 17:29:16 +02:00
f9e30e985c fix refocus on no window 2022-08-19 17:25:07 +02:00
9b62328b22 minor changes to the activelayout event 2022-08-18 17:50:32 +02:00
b078a12eed Added an activelayout event 2022-08-18 17:17:33 +02:00
c5a4c83f78 better integrate touch with subsurfaces 2022-08-17 23:23:36 +02:00
317b6c430c damage monitor on workspace swipe end 2022-08-16 16:34:36 +02:00
ea45c6bfe0 fix memory issue with hyprctl devices 2022-08-16 16:15:43 +02:00
6e2467cc24 fix active keymap in hyprctl devices 2022-08-16 16:10:20 +02:00
f85c765634 change activemon to focusedmon for consistency 2022-08-11 20:55:39 +02:00
9eb750c00b added misc:layers_hog_keyboard_focus 2022-08-10 17:46:01 +02:00
8e5985d70e clean up unconstraining logic 2022-08-09 20:36:21 +02:00
e2f61e267e add parse errors for invalid kb layouts 2022-08-09 18:13:13 +02:00
bf9d358d3b fix refocus shenanigans with window data 2022-08-08 20:21:11 +02:00
d64227e7c7 added basic touch controls 2022-08-07 21:17:03 +02:00
9564a4cd12 added misc:always_follow_on_dnd 2022-08-06 22:26:32 +02:00
vaxerski
78e4f274bc remove some spammy logs from IME 2022-08-05 19:03:03 +02:00
vaxerski
14026d4484 move IME panel below the cursor to not obstruct 2022-08-05 18:54:59 +02:00
vaxerski
ad42392856 fix rare IME crash 2022-08-05 17:19:49 +02:00
vaxerski
e0ada97a24 support zwp_input_method_v2 popups 2022-08-05 17:07:01 +02:00
vaxerski
9a8a6317ff multiple IME fixes 2022-08-05 16:21:08 +02:00
vaxerski
cb5521ec6e fix possible crashes with IME 2022-08-05 13:19:16 +02:00
vaxerski
1c4d0e8c18 added IME protocol support 2022-08-05 13:03:37 +02:00
vaxerski
c779a7c03b move refocus on only unmap 2022-08-03 12:03:18 +02:00
vaxerski
338865e433 added follow_mouse 3 2022-08-01 18:42:11 +02:00
vaxerski
dba4596c7e focus to first window on not found in refocus 2022-07-31 17:07:39 +02:00
vaxerski
a1d1ec4c46 added misc:mouse_move_enables_dpms 2022-07-31 15:46:42 +02:00
vaxerski
4076a3b6d7 fixed device configs 2022-07-28 21:38:30 +02:00
vaxerski
1455442b9a fix swipe not cancelling constraints 2022-07-26 18:38:30 +02:00
vaxerski
66eac124e2 add binding to mouse buttons 2022-07-26 14:50:21 +02:00
vaxerski
14176f01ca fix swiping with one workspace on monitor 2022-07-25 15:42:27 +02:00
vaxerski
3e6abaf680 fix some swipe issues 2022-07-25 14:06:49 +02:00
vaxerski
fa1273f258 minor changes to swipes 2022-07-22 00:13:56 +02:00
vaxerski
8f66ddcad0 minor changes to swipes 2022-07-22 00:10:26 +02:00
vaxerski
4db1062af6 minor changes to swipes 2022-07-22 00:08:25 +02:00
Darksome
eb8a1939e6 Merge upstream 2022-07-21 19:18:03 +03:00
vaxerski
fa2bd3b1a8 added keybinds on key up 2022-07-20 22:45:06 +02:00
vaxerski
641aaff998 minor code adjustments 2022-07-20 18:39:08 +02:00
vaxerski
d52446135b add sensitivity per device & reload mice on config 2022-07-19 19:26:53 +02:00
vaxerski
1ba600ca23 added workspace swipe fingers 2022-07-19 18:35:24 +02:00
vaxerski
0026414f9b fix workspace swipes mistake 2022-07-19 18:30:53 +02:00
vaxerski
21217bcb2b notify enter on subsurfaces with follow mouse not 1 2022-07-19 14:05:12 +02:00
Darksome
ce9efb7ae3 Impl changeworkspace(e+{n}) 2022-07-16 15:28:17 +03:00
Darksome
1eceae811f Try mouse wheel configuration 2022-07-15 21:54:05 +03:00
Darksome
5388b54442 Merge upstream 2022-07-15 19:42:03 +03:00
vaxerski
c2215e4efb fix focus on fullscreen and over 2022-07-13 18:33:36 +02:00
Mathias Zhang
da83ef7b96
add config drag_lock for touchpad (#353)
* add config drag_lock for touchpad

* fix err

* Update ConfigManager.cpp
2022-07-12 13:11:54 +02:00
vaxerski
b55b6c95f2 update wlroots dep 2022-07-11 23:09:35 +02:00
vaxerski
ad66c158ba don't refocus on virt ptrs 2022-07-11 20:23:16 +02:00
vaxerski
6f7377f381 accumulate mods from all kbs for keybind processing 2022-07-09 23:24:08 +02:00
vaxerski
92e17f2925 added rules to hyprctl devices and fixed rules 2022-07-08 12:27:05 +02:00
vaxerski
cd0a01f4de Added binding by keycodes 2022-07-08 09:27:17 +02:00
vaxerski
75c2a378e3 unfocus keyboard on refocus null 2022-07-07 21:47:59 +02:00
vaxerski
96f19d706a fix possible swipe crash 2022-07-07 20:53:22 +02:00
vaxerski
22c4ecf496 fixed swiping with one ws 2022-07-07 13:57:26 +02:00
vaxerski
4b796d30c1 Added swipe workspace gestures 2022-07-07 13:49:04 +02:00
vaxerski
9655d0c138 added support for wlr_idle_inhibitor_v1 2022-07-06 15:42:37 +02:00
vaxerski
8d05dddb98 fix focus on maximized windows with special open 2022-07-06 14:58:46 +02:00
vaxerski
0d54451c67 fix incorrect mouse pos in fullscreen xdg 2022-07-06 11:12:27 +02:00
vaxerski
01228fbc9c fix some bugs 2022-07-03 22:54:47 +02:00
Mihai Fufezan
0a01ec9926
Fix non-focused windows on WS change
Fixes #298
2022-07-03 15:51:32 +03:00
vaxerski
9d6999345e don't process new focus when cursor constrained 2022-07-02 20:06:10 +02:00
Darksome
cb8a6f881b Disallow scrolling into empty workspaces 2022-07-02 19:55:35 +03:00
xDarksome
185c4d6ea1
Merge branch 'hyprwm:main' into main 2022-07-02 19:43:52 +03:00
vaxerski
6f4f164071 don't focus layers without keyboard_interactive 2022-07-01 20:14:33 +02:00
vaxerski
7d7e82d446 only do mouseMoveUnified on pix change 2022-07-01 17:59:11 +02:00
vaxerski
d010ca2049 added per-device config options 2022-06-30 21:26:00 +02:00
vaxerski
328b3fa4bc mordernize pointers 2022-06-30 15:44:26 +02:00
vaxerski
9391357063 fix focus on maximize 2022-06-29 14:44:24 +02:00
vaxerski
6ec16fdcda damage drag and drop 2022-06-29 14:15:08 +02:00
vaxerski
3832720273 fix possible crash in cinputmanager 2022-06-28 15:40:14 +02:00
vaxerski
781526dac5 added hyprctl kill 2022-06-27 13:42:20 +02:00
xDarksome
504f76112a
Merge branch 'hyprwm:main' into main 2022-06-26 19:20:20 +03:00
vaxerski
b46f45befa additional keymap reload safety 2022-06-25 11:50:09 +02:00
vaxerski
72c86b99eb added general:cursor_inactive_timeout 2022-06-24 23:27:02 +02:00
vaxerski
45a44f9690 added noblur 2022-06-24 22:28:54 +02:00
xDarksome
be460ea954
Merge branch 'hyprwm:main' into main 2022-06-24 18:58:11 +03:00
Darksome
776ca3baf2 Change workspace wheel scrolling direction 2022-06-24 18:57:14 +03:00
vaxerski
218675246f guard pkeyboard in onMouseButton 2022-06-23 21:46:36 +02:00
vaxerski
b25bafda08 guard null context in applyConfigToKeyboard 2022-06-23 18:52:05 +02:00
vaxerski
4945c5887d reload all keyboards and not only the active 2022-06-23 15:48:31 +02:00
vaxerski
770bada5d5 Fixed oversized apps' incorrect layout 2022-06-22 15:45:56 +02:00
vaxerski
33abb6a5bf dang it autoformat 2022-06-21 22:30:07 +02:00
vaxerski
1810725a0c cleaner code 2022-06-21 22:29:11 +02:00
SebOuellette
20ad9d3e7d Passes all constraint tests!
So a summary of what's been done in this fork/PR. Instead of moving the cursor, we're warp_closest ing. warp_absolute didn't work, so warp closest has kindof an auto constrain feature so it works beautifully. I'm also contraining to the right side of the window - 1, because the cursors are treating that pixel as the next pixel over, so it was actually thinking it was on the next monitor (assuming fullscreen) when the cursor got to the right or bottom of the window. TL;DR rounding issue.

This fix didn't work when you had a fullscreen video playing on a monitor beside, so I also fixed that by ignoring all focus changes or whatever when a constraint actually occured, we obviously just don't want to focus another monitor when constrained, so why not just *disable it when a constraint happened*

The PR is now ready, I love Hyprland, and I can't wait to contribute more :)
2022-06-21 16:25:40 -04:00
SebOuellette
3dc2277fd0 Actually, mostly working.
One failure case: When there is a fullscreen window directly to the right of a game, for example, in a multimonitor setup, then the cursor will bug out in between the monitors. sometimes it will get constrained to the border, but just outside the window (which is what this PR fixes, so it's unusual) and sometimes the cursor will just ignore the constraint entirely. However this is only in the one case.
2022-06-21 02:23:57 -04:00
SebOuellette
ee7900f819 Mouse no longer removes focus from constraining window
The window properly constrains the mouse now

I do still notice a bug with moving the mouse in games, if you don't move the mouse fast enough, some games will not register the mouse movement. This doesn't happen in KDE so I know it's related somehow
2022-06-20 23:15:16 -04:00
Darksome
8f62f6d4b0 Add workspace switching with mouse wheel 2022-06-20 22:47:28 +03:00
Sebastian Ouellette
dc84935059
Set the constraint position to the window center (properly)
Missed one expression, it was set to the bottom middle. I missed it because i don't have an extra monitor extending from the bottom of that screen.
2022-06-19 16:54:59 -04:00
Sebastian Ouellette
95e083dbd3
Converted tabs to spaces. Now ready for PR 2022-06-19 16:51:03 -04:00
SebOuellette
5058a74453 Cleaned up some old debug 2022-06-19 16:23:49 -04:00
Sebastian Ouellette
ae1bcc909d
Invisible cursors are constrained to center
This is a first version of my test to properly constrain cursors. This is mostly working in the buggy applications I had before, but I feel that the cursor needs to actually move around, instead of being locked to the center of the window. 

This may cause problems when locking to the edge, but yeah.
2022-06-19 16:07:41 -04:00
bazuin-32
1926bb4659 Resolves #204. Enables numlock on startup when configured to do so. 2022-06-16 10:49:16 -06:00
Marco Siedentopf
f13217f698
Codestyle 2022-06-12 15:06:58 +00:00
Marco Siedentopf
85d2c1d5a6
Merge branch 'vaxerski:main' into main 2022-06-12 15:04:02 +00:00
spectreseven1138
46d11f7646 Access config value statically 2022-06-12 16:31:56 +09:00
Marco Siedentopf
16d1b44ef9
Implemented Config options for Touchpads
Implemented Options to 1. toggle between clickfinger behavior and software buttons, 2. button emulation and 3. tap-to-click
2022-06-12 05:40:06 +00:00
spectreseven1138
95a626f72e Add loose (2) option to follow_mouse config 2022-06-12 09:14:22 +09:00
Bruno Ancona
018b0684dd Add natural_scrolling option for touchpads only 2022-06-11 10:24:00 -05:00
vaxerski
d68e09a707 remove unfocusall 2022-06-09 22:07:33 +02:00
vaxerski
fbc7853459 de-focusify on lost proximity 2022-06-09 21:39:03 +02:00
vaxerski
53146ccf69 oopsie 2022-06-09 21:39:03 +02:00
vaxerski
506977c13d unfocus on destroy 2022-06-09 19:40:16 +02:00
vaxerski
09b130374d unfocus tablets 2022-06-09 19:38:39 +02:00
vaxerski
8929172bc2 remove redundant logs 2022-06-09 19:19:42 +02:00
vaxerski
6317f64ba0 set proximity in tablets 2022-06-09 18:09:09 +02:00
vaxerski
824d8b954d logify even more 2022-06-09 17:40:05 +02:00
vaxerski
c218ed4432 notify tablet motion 2022-06-09 17:16:01 +02:00
vaxerski
1841d244f0 log shit in tablets 2022-06-09 14:40:56 +02:00
vaxerski
47404534d0 added tablet v2 support (alpha alpha) 2022-06-09 12:46:55 +02:00