-
Notifications
You must be signed in to change notification settings - Fork 33
Add mouse support #149
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
Add mouse support #149
Conversation
96dbc62 to
3d2703c
Compare
|
@MacSlow, if you have time to review or test it? For testing you will need:
I prefer to not enable mouse support by default, as it's a bit experimental. The main differences with your implementations:
|
|
Keep in mind that we'd probably want this enabled in Fedora since there would be no other way to have mouse support. |
gpm or consolation are not enabled by default in Fedora. |
4b6f2e4 to
acceb9e
Compare
Prepare work to support other input devices like mouse, touchpad... Signed-off-by: Jocelyn Falempe <jfalempe@redhat.com>
This prepare the work to have a different hook for pointer events Signed-off-by: Jocelyn Falempe <jfalempe@redhat.com>
Signed-off-by: Jocelyn Falempe <jfalempe@redhat.com>
In gltex_draw(), add gl_x1, gl_x2, gl_y1, gl_y2, to store vertex coordinate. This is cosmetic and should have no impacts. Signed-off-by: Jocelyn Falempe <jfalempe@redhat.com>
This allows to draw a mouse pointer at specific location Signed-off-by: Jocelyn Falempe <jfalempe@redhat.com>
Signed-off-by: Jocelyn Falempe <jfalempe@redhat.com>
acceb9e to
ea502a7
Compare
Start support for standard mouse, using relative EV_REL events Signed-off-by: Jocelyn Falempe <jfalempe@redhat.com>
input_pointer needs to know the screen size in pixel, and make the pointer stay within the screen boundaries. Signed-off-by: Jocelyn Falempe <jfalempe@redhat.com>
Touchpad and mouse in VM, use absolute coordinate, with EV_ABS. Touchpad is a bit special because it's smaller than the screen, so you need to slide multiple time to go from one edge to the other. Handle double tap and triple tap as paste, to make it easy to copy/ paste with a touchpad. This is very basic, and doesn't include all the quirks from libinput, but I hope it works in most cases. Touchscreen may work, but I don't feel it's needed to support it in kmscon, as you will need gesture/onscreen keyboard to make it useful.
Signed-off-by: Jocelyn Falempe <jfalempe@redhat.com>
Mouse support is still experimental, so it's disabled by default. Also update the man page accordingly
As the mouse pointer is not really transparent, it's better to hide it when it's not in use.
Select a word by double left click on it. It requires libtsm >= 4.3.0 to call tsm_screen_selection_word() Only handle double click for mouse left button as a first implementation Signed-off-by: Jocelyn Falempe <jfalempe@redhat.com>
Handle the case where the screen is not used, and its width and height are set to 0. Suggested-by: Geo Carncross <geocar@gmail.com> Signed-off-by: Jocelyn Falempe <jfalempe@redhat.com>
ea502a7 to
e78393b
Compare
Add support for mouse / touchpad / virtual mouse on VM.
It is based on my rotation support PR #147
Basic mouse support
Touchpad support
Virtual mouse support with absolute coordinate
Select/Copy/Paste
Scroll with the wheel
Hide mouse pointer when not used
gltex renderer
pixman renderer
bbulk renderer
bblit renderer
Fix #54