GithubHelp home page GithubHelp logo

Comments (17)

feschber avatar feschber commented on July 23, 2024 8

Update: Got in contact with KDE devs. Should be fixed in 6.1.1 it was a type mismatch in dbus

from lan-mouse.

feschber avatar feschber commented on July 23, 2024 2

Okay TLDR:

Plasma 6.1.0 introduced the input-capture portal, i.e. the "frontend" to libei.
Previously, the layer-shell backend was used as a fallback, which is basically a 1px wide window that grabbed the mouse on the edge of the screen.

Now with the plasma input capture portal there were two issues:

  • Plasma used a wrong type in serialization, causing deserialization to fail in ashpd. This is now fixed in 6.1.1 after I reported it.

  • The second issue is that plasma does not (yet?) report barrier_ids, when input capture is activated.
    This is an optional addition of the spec, however I expected it to be implemented, which is not the case.
    So keep in mind, this is not a plasma bug and please dont report bugs ;).
    The Input Capture Portal works by defining "barriers" and giving them an id. Then, when input capture is activated, The compositor reports the position and optionally a barrier id, which I can use to check which barrier was activated (i.e. which lan-mouse client).

There is several ways to go about this:

  • Wait for plasma to implement barrier_ids & only support one client until this is done
  • Add the option to fallback to the layer-shell capture backend (I'd still prefer this to be a fallback)
  • Work around barrier_ids by calculating the activated barrier from the activation position of the cursor

Nr. 3 is probably the most favourable.

from lan-mouse.

feschber avatar feschber commented on July 23, 2024

This log is unrelated. Did you update xdg-desktop-portal-kde as well?

from lan-mouse.

xf- avatar xf- commented on July 23, 2024

yes - xdg-desktop-portal-kde 6.0.90-1

from lan-mouse.

feschber avatar feschber commented on July 23, 2024

Ah I just noticed: they apparently implemented the input-capture portal. So that's interesting. I will have to test that later!

from lan-mouse.

xf- avatar xf- commented on July 23, 2024

I'm not in a hurry, just reported the issue. It is still a beta.

from lan-mouse.

feschber avatar feschber commented on July 23, 2024

Got around to testing this. I am getting valid barriers but not receiving any input events... Will have to see if thats a kwin bug or what else is going on here.

from lan-mouse.

xf- avatar xf- commented on July 23, 2024

Is the second issue 6.1.1 input (mouse, keyboard) freezes as soon as I touch edge?

from lan-mouse.

DrYak avatar DrYak commented on July 23, 2024

@xf- : yup exactly. (My setup suffers the same).

from lan-mouse.

feschber avatar feschber commented on July 23, 2024

The specific reason, why its getting stuck is actually because ashpd does not yet correctly handle the case of no barrier_id being sent.
Its already fixed but not yet in a new release.

from lan-mouse.

xf- avatar xf- commented on July 23, 2024

The specific reason, why its getting stuck is actually because ashpd does not yet correctly handle the case of no barrier_id being sent. Its already fixed but not yet in a new release.

I build the main branch and I had the issue. You mean committed and pushed towards main or a git release?

from lan-mouse.

feschber avatar feschber commented on July 23, 2024

No, the barrier_id is fixed in the ashpd main branch. It still requires a workaround in lan-mouse and an update of ashpd after there is a new ashpd release.

from lan-mouse.

feschber avatar feschber commented on July 23, 2024

You can now set

capture_backend = "LayerShell"

in config.toml as a workaround

from lan-mouse.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.