Comments (9)
Over on qtile/qtile#2548 I'm trying to build another CFFI module that imports the source from pywlroots
much like it does from pywayland
and python-xkbcommon
. The problem is that wlroots.ffi_build.py
requires some files in its repository that aren't packaged. Do you think we could move the include
folder into the python module and package it, or might there be a better solution?
from pywlroots.
The options exposed by sway are here: https://github.com/swaywm/sway/blob/master/sway/config/input.c#L22
from pywlroots.
This is pretty much the list of things that users reasonably would want to configure https://github.com/wayland-project/libinput/blob/master/src/libinput.h#L4315-L4330
from pywlroots.
I've been playing around with adding a small CFFI interface to libinput within Qtile, but I'm coming up with a problem with using it with pywlroots' cffi. It seems as though the issue should be resolved simply by doing ffi_builder.include(pywlroots_ffi_builder)
, but then oddly the libinput ffi has trouble compiling. Perhaps you might be able to spot an error in how pywlroots is being included? My ffi build script is here: https://github.com/m-col/qtile/blob/libinput/libqtile/backend/wayland/libinput_ffi_build.py
This script shows all the parts above that would be required for full coverage of all available input configuration options that people might use/expect from a compositor, so if you think they are better off in pywlroots then it's simply a cut-paste job.
from pywlroots.
The libinput wrapping module in Qtile is merged, so I'd be happy to close this and keep it as 'out of scope' for pywlroots.
from pywlroots.
I would like to try and implement some libinput boilerplate in Keyboard.py and Pointer.py.
@flacjacket Are you open to such patches? Or would it be considered out of scope?
from pywlroots.
Yeah, that would be great! If there are things that make sense to package to use with wlroots, that would be fine to add in.
from pywlroots.
If it's the same things that Qtile has that you're trying to add support for in your compositor, taking out Qtile's code and incorporating it into these classes might be a good solution. Qtile can also drop its own code and interface with libinput this way.
from pywlroots.
If it's the same things that Qtile has that you're trying to add support for in your compositor, taking out Qtile's code and incorporating it into these classes might be a good solution. Qtile can also drop its own code and interface with libinput this way.
Yep I am currently just copy pasting qtiles libinput ffi generator and having it incorporated into wlroots would save me 1 build step 🤣. I was thinking of just incorporating qtiles code into wlroots.
I'll get start on this as soon as possible!
from pywlroots.
Related Issues (20)
- Output: Support enabling/disabling adaptive sync
- Output.commit(): Return boolean?
- Proposal. Backend.start should return a boolean value HOT 3
- Seat.set_keyboard should accept None HOT 4
- Replace @classmethod with @staticmethod? HOT 2
- Add changelog to project HOT 2
- Cursor.detach_input_device(InputDevice) missing
- tinywl: Handle destroy keyboard HOT 1
- tinywl: Add startup command
- pywlroots 0.16.6: Strange error, XCursorManager has no method "set_cursor_image" HOT 2
- Property Seat.has_grab mirrors Seat.keyboard_has_grab()
- Roadmap for the project HOT 7
- Add OutputHeadV1State.apply() HOT 1
- Pywlroots on raspberry pi (ARM architecture) HOT 23
- pywlr 0.16.x: Add wlr/types/wlr_single_pixel_buffer_v1
- pywlr 0.16.x: Add wlr/types/wlr_keyboard_group
- pywlr 0.16.x: Add wlr/types/wlr_session_lock_v1
- pywlr 0.16.x: Add wlr/types/wlr_input_method_v2 HOT 1
- Proposal: Add helper function ptr_or_null to wlroots.__init__.py
- pywlr 0.16.x: xdg_shell.XdgTopLevel: "base" property is not implemented HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from pywlroots.