Comments (12)
After doing some binary searching on enabling ranges of key types for the keyboard, I have found that the issue seems to be trying to enable key types that don't exist with the range [0..KEY_MAX]
. E.g.
Given the snippet:
#define KEY_ROTATE_LOCK_TOGGLE 0x231 /* Display rotation lock */
#define KEY_BUTTONCONFIG 0x240 /* AL Button Configuration */
when enabling the range [0..=KEY_ROTATE_LOCK_TOGGLE]
then the keyboard works, but the range [0..=KEY_BUTTONCONFIG]
no longer works.
The range [0x232..=0x239]
of key events don't seem to exist.
So I would say this is a bug with rkvm. It's more work, but we should probably enable events in a type safe way rather than just using ranges, unless you can do both.
from rkvm.
I've got a branch where I've separated the mouse and keyboard into separate devices and modified the supported event types for each and this makes it work on sway. I'm not sure whether it's sway specifically or wayland or wlroots etc and I'm not sure whether this is a bug or expected behaviour, but I'm probably going to use this branch and clean this up some time so that I at least have a usable kvm system with wayland. The keyboard supported events still needs to be expanded on my branch though to work 100%.
from rkvm.
This worked with Sway when I tested it like 2 months back. However it's no longer working and is just freezing the server side Sway even when no clients are connected.
from rkvm.
I can report the same for Gnome 40 on Wayland (Archlinux) as Client (Archlinux with XFCE as Server) - Using the version from this repository does not work, the switch seemingly happens, but mouse and keyboard don't work on the Client Side. Using the Branch from @BrendanBall with separated Mouse and Keyboard Devices does work.
Edit: Well, works mostly. With this branch some keys stop working, like e.g. the Arrow keys. I suspect this has something to do with the mentioned supported keyboard events that need to be expanded. Is there any Solution for this yet?
from rkvm.
@BrendanBall did you ever managed to take a look at the key ranges ? This is the only kvm solution working on my wayland client ( thanks to your branch ) and now im just missing some of my keys to be completely happy for now :D
from rkvm.
My setup has changed so I no longer need rkvm/barrier. I haven't looked at this in a long time, but from rereading this, I believe my branch was just to test whether using proper key ranges fixes the issue with wayland. I don't think I ever finished the work.
So you'll have to build on my branch to include all the valid key ranges for a keyboard.
from rkvm.
@BrendanBall alright, I might fork the project and take a look at it sometime soon, this is still the only kvm working on wayland so far which is kinda absurd.
Appreciate your efforts !
from rkvm.
I am using this with no problems between two Debian "bookworm" 12 systems running the distro packaging for sway
(version 1.7). Using rkvm
commit ec11f26 which is a little later than the tagged release of 0.3.2.
To get it to compile, I did have to include some pinning (/etc/apt/preferences.d/99pin
) to deal with your "hey it's Tuesday" Rust build breakages (clap_lex
requires Rust 1.64 or later)... :-/
Package: rustc libstd-rust-dev
Pin: release o=Debian,a=unstable
Pin-Priority: 900
from rkvm.
Could there be a fix put upstream on rkvm @jimdigriz ?
Like, it feels like there is only more fragmentation in this open source effort, everyone is forking/branching but no real effort is made to put the fixes upstream ?
from rkvm.
@AkechiShiro I do not understand what you mean by "fix put upstream", no fixes are needed to the project to make it work.
As for "everyone", it looks like two (2) people have forked the project and actively done anything with it, one of those forks is a pending PR so again confused what you are referring to here?
from rkvm.
@AkechiShiro I see there are some earlier forks with useful work, but you have to remember, htrefil/rkvm
is not our project its @htrefil so they get to decide what helps them. We are all just secondary concerns...people who nag and whine and are best ignored for ones own sanity :)
Forks are good thing. Everyone wants someone from a given project and that venn diagram rarely overlaps 100%, so they should be encouraged!
i would suggest building your own fork and merge in all the other work you are interested in.
from rkvm.
Sorry @jimdigriz if I came of as rude here but I thought there was no pending PR about the fixes mentioned here.
You also mentioned an issue with compiling, if I can get to fix this and there is no PR, I'll put one.
I'm not against forking but if this project is still actively maintained then, there people forking and fixing bugs should PR, they're not forced to PR but I believe they should do that effort.
Now if the maintainer does or doesn't pick up the PR that is another matter.
from rkvm.
Related Issues (20)
- Unable to start server: Input error: Device or resource busy (os error 16) HOT 3
- Consider moving config examples in `/usr/share` and make them readable by non-root users, and suggest putting config files in $XDG_CONFIG_HOME HOT 2
- Mouse cursor not moving on the client side HOT 1
- IPv6 server config (ie. on the client side) reading fails HOT 3
- Issues building on Ubuntu 22.04 HOT 4
- switch keys remain pressed HOT 1
- rkvm-server not work on kde wayland HOT 3
- server failing to start with "kernel: uinput: invalid abs[28] min:0 max:-1" and "rkvm-server[4238]: [ERROR rkvm_server] Error: Input error: Invalid argument (os error 22)" HOT 9
- race condition when starting server prevents next key release event HOT 2
- Donation ? HOT 1
- Connectivity issues after the server reboots, goes on sleep, etc. HOT 14
- Improve logging for "switched to client" message HOT 4
- User-level uinput permissions HOT 3
- UnknownIssuer/UnknownCA TLS certificate errors HOT 2
- keyboard repeat in vterm not working HOT 2
- INFO rkvm_server::server: Listening on 0.0.0.0:5258 ERROR rkvm_server: Error: Input error: No such device (os error 19) HOT 1
- Use of domain names in listen address of server config file
- Feature Request: Tunnel over ssh
- Enter key inop when server running, new lines HOT 1
- Issue with advanced keyboard - Ultimate Hacking Keyboard Modules HOT 7
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 rkvm.