-
-
Notifications
You must be signed in to change notification settings - Fork 941
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Implement new Input Capture protocol #7919
base: main
Are you sure you want to change the base?
Conversation
@@ -1,6 +1,7 @@ | |||
[submodule "subprojects/hyprland-protocols"] | |||
path = subprojects/hyprland-protocols | |||
url = https://github.com/hyprwm/hyprland-protocols | |||
url = https://github.com/3l0w/hyprland-protocols | |||
branch = feat/input-capture-impl |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
marking this one as a blocker until this is removed so we dont forget (don't resolve)
95c44f6
to
d22653e
Compare
This comment was marked as off-topic.
This comment was marked as off-topic.
Idk when it will be finished. if you need it, build it yourself |
With your fork, will kvm software such as input leap work out of the box? |
Yes and i am it to test |
wow it was really troublesome compiling xdg-desktop-portal-hyprland. have to copy over the protocol to my /usr/share/hyprland-protocols(or clone it there), or i just removed the if line and forced it to get it from the repo. but, it seems to just fail in input-leap:
it was giving a error that it cant find the input-leap location before installing your hyprland & xdg-desktop-portal-hyprland fork. that error is gone. but still failed. |
Its strange that you have to copy the protocol file over, did you clone the submodules ? ( |
its the cmakelist file, it tried to grab from /usr/share/hyprland-protocols if exist, which doesn't have your protocol as it's not merged in the hyprland-protocol repo, thus i made it only grab from the gh repo.
i see, ill try that EDIT: in the install(from README: HOLLY! wow, not sure why, but i re-builded it and reinstalled it. and it WORKS! ty! A suggestion is that, disable this when mouse or keyboard is being capture/binded by programs(e.g. games that uses mouse to move camera) After two days of use. those are some feedbacks: this is what im using: but i have the following issues:
|
Thanks for the feedback tho i didn't encounter most of the issues you describe, but i will try to investigate it. |
alright. ty! Appreciate it! |
29214bb
to
189f615
Compare
The latest commit added a new shortcut: Personally, I bind it like this:
|
Nice! I'm currently on vacation without my laptop, so I'll try it when I get back EDIT: Now i tried it, the new dispatcher works! ill try it when it locks down hyprland again and see if it works then |
if thats not possible then maybe add a dispatcher so user can script it to do so |
trim.44B51EBB-2916-40A4-BFBB-7EBA4AF42874.MOV |
You mean if a 3d game has kinda the mouse captured and move it to a border the input is captured and should not ? |
If you have any steps to reproduce it it will be great |
yes, for example my macbook is left, and i moved my cursor in game(that i captured) to left, it will eventually go to my mac screen. It does this in X11 too, but hoping it gets fixed as its unintended behavior and is very annoying since i have to quit my kvm software(input leap) in order to play games properly |
It is quite strange that you where able to still move the mouse in your primary computer. |
not sure, it just happend randomly, but before it happend, i was impl a new feature and was opening a nested Hyprland, but i wont try again today cuz it's pretty late and ill sleep |
related: https://www.reddit.com/r/kde/comments/u34lg0/wayland_gaming_and_mouse_capture/ |
138cc8a
to
d9844c1
Compare
I added smth do the send the modifers to the clients, but this has some drawback most notably num lock light wont blink if you pressed while input is captured, but it will work on the client as expected |
Idk if i need this window rule, because i think hyprland has mecanism to prevent mouse passing from one screen to another while in game |
I added it, feel free to test |
nice! theres still another small issue besides the cursor delay when reappear. I'm not sure what caused this, but |
hmm, idk, the num lock is weird, it will not be lighted for first time you swap to the other device, but will stil be lighted later... idk it's very glitchy lol |
additionally, the problem of modifiers being held down still presist |
How do you know that they are held down ? What are exacly the symptomes that you observe ? |
the symptoms is just when i type, it doensn't type and the system shortcuts keep getting triggerd(i can see as the top bar/menu bar Edit section just firing stuff like copy, select etc when i press the corresponding key for them(i.e. c = cmd + c if cmd is held)), i figure if it's super(cmd) by pressing only tab etc(i solve this by just opening input leap, stop the server and restarting it). i have no idea how to reproduce it either, it just happens like 3-5times a day. not to mention the issue of it just disconnecting for no reason, no power state change(sleep etc) just worked on machine for a while(3+hr) then wen i try to go back to my mac, it just doesn't work(i solve this by just killall input-leap input-leaps && systemctl --user restart xdg-desktop-portal-hyprland && input-leap &) don't get me wrong, this is still amazing work! thanks EDIT: nvm, found out, you just have to hold a key and go to the mac and it will presist, but i didn't trigger it like that though, will wait a while and see if it's the same thing EDIT2: ya, i can repro and fix it by just pressing the key while changing to the other screen(server = arch, client = mac. hold super on mac, go back to arch, release it, go back to mac) |
646a976
to
50fb494
Compare
Describe your PR, what does it fix/add?
This PR implements the input capture protocol defined in hyprwm/hyprland-protocols#8.
It also fixed a bug where
wl_output::geometry
x
andy
arguments where always 0.The
wl_output::geometry
event is now sent when the output layout change (Help to followx
andy
modifications).Is there anything you want to mention? (unchecked code, possible bugs, found problems, breaking compatibility, etc.)
One bug that i found and i need to investigate, is when i capture every inputs,i can't shortcut into TTYs anymore.
Is it ready for merging, or does it need work?
It still need work, like sending the keyboard layout.