jbensmann / xmouseless Goto Github PK
View Code? Open in Web Editor NEWA fast and simple way to control the mouse.
License: GNU General Public License v3.0
A fast and simple way to control the mouse.
License: GNU General Public License v3.0
If you start xmouseless while holding a key that is defined as a movement key the cursor will not move until releasing the key. Then it will move in the opposit direction of the defined direction of the key.
For example i have set i,j,k,l
for mouse movement. j
will move the cursor to the left. When i press and hold j
and then activate/start xmouseless while still holding j
the mouse will not move until i release j
. On key release the mouse will move to the right until i press j
again.
Hello!
I like to move my windows around with holding LAlt and dragging the window. This way, I don't have to aim for the window's top bar to drag, I can grab the window anywhere.
Of course, this doesn't work when xmouseless grabs all input, it gets intercepted and cancelled before it gets through to the OS I presume.
Any ideas how to make this work? Is there any way to let the OS do it or would it mean extending this program's functionality and re-implement the dragging by reading what window I'm pointing at?
It could be an interesting addition to the program. For my current OS setup, the hitbox for dragging the window to enlarge is literally 1px wide so if there was window detection in place, it could be a big help to have an enlarge window modifier key too.
Would be good to be able to have the mouse move forever wrapping around multiple monitors horizontally. How to achieve this?
Hi,
i am struggling with a behaviour i would like to achive, maybe it is not possible with the actual implementation or i am doing something wrong so this is maybe a feature request, maybe just a configuration question.
I'm under manjaro + i3 and would like to be able to activate xmouseless mouse-mode when i press (and hold) the caps_lock key and disable it when i release the key.
I have totally disabled the caps_lock key toggling by setting setxkbmap -option caps:none
Nevertheless it is not working. When i press and hold caps_lock xmouseless activates for about 1-2 seconds but i can not move the mouse and then it disables itself.
Is it possible to achive this behaviour in the current implementation or is it possible to implement it?
When using
{ XK_p, 4 }, scroll up
{ XK_n, 5 }, scroll down
Is it possible to set a higher speed for the navigation in a web browser for instance ?
It works with vlc, chromium web browser but using it on other programs like Thunar, Libreoffice Writer, Filezilla ...etc. I get no menu at all.
I try using my physical mouse to right click and it still will not popup the menu with those programs while xmouseless is running. But in VLC/Chromium it works
Host: arcolinux Kernel: 5.10.87-1-lts x86_64 bits: 64 Desktop: Xfce 4.16.0
Distro: ArcoLinux
How do I configure config.h so that I can execute two or more actions on a key press? for example maybe I want to click and then have notify-send show that I clicked. Or click and have notify-send show that I've exited xmouseless and then exit out of the program?
I noticed 'p' for scroll up wasn't working, so I recompiled with the below change:
static ScrollBinding scroll_bindings[] = {
/* key x y */
{ XK_n, 0 , 25 },
{ XK_p, 0 , -25 },
{ XK_t, 0 , -25 },
...
Now, 't' will scroll up, but 'p' still doesn't.
In case it helps anyone, you can use xmouseless
with the mouse-hiding application unclutter-xfixes
(the default unclutter
in Arch's package repo) by adding in a simulated raw mouse event in the move_relative
function using XTestFakeMotionEvent
:
void move_relative(float x, float y) {
mouseinfo.x += x;
mouseinfo.y += y;
XWarpPointer(dpy, None, root, 0, 0, 0, 0, (int)mouseinfo.x, (int)mouseinfo.y);
XTestFakeMotionEvent(dpy, -1, (int)mouseinfo.x, (int)mouseinfo.y, CurrentTime);
XFlush(dpy);
}
Will autoclose this issue.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.