Request XI2 input events from the X11 server.(Optional: Have a command line flag / env var to skip this check and wait a release to see if anyone complains about this new requirement.) Require XI2 support and check this at startup.Each bullet point can be its own, small-ish PR that hopefully is easy-ish to review: If so, here might be a road map for anyone wanting to implement this. So, 2009 seems old enough that one might get away with requiring XI2 support and rejecting any X11 server that do not offer this extension. v2.0, October 2009: Initial release of XI2 protocolįrom just this list, XI2 seems to be enough for what is needed here. v2.1, December 2011: new raw event behaviour, smooth scrolling support v2.2, March 2012: Multitouch support added Oh and I am not sure what the difference between XInput 1, 2.0, 2.1, 2.2 are. In libxcb-land, the XML description had to be enhanced with new constructs to support them. XInput and XKB are two of the most complicated X11 extensions. I bet that there are better introductions online. AFAIR the compatibility is mostly things like "the server remembers the last input device for each window and interprets other things relative to that device", but I am not really sure. As soon as a single client has to interact with two devices (two persons trying to use the same gimp window at the same time), this compatibility layer of course breaks down. one person uses gimp, the other one is elsewhere and uses inkscape). This works fine as long as a client has to only interact with a single master device at the same time (e.g. There is lots of compatibility behaviour in the protocol. The idea here is that if you click on a window with a mouse, the input focus of the corresponding keyboard is moved to that window. You can create a new master with xinput -create-master foo (you now have a second mouse cursor on screen!) and you can move slaves to another master via xinput -reattach slave master.Įvery master is a combination of a keyboard and a mouse. The masters are an aggregation of multiple slaves. The slaves are the actual input devices that are connected to your computer. Just run xinput in a terminal and you get a list of all inputs. there is a SetFocus request to use instead of the core protocol's SetInputFocus. "What needs to be done" is basically "use XInput instead of the core protocol for things". "Motion") work similar to the same events in the core protocol. They show the actual input of the input device and are not mapped to a specific window. There are "Raw" events and "normal" ones. These work similar to xev that they open a window and show events to this event, but instead of just using the core protocol ( xev), they also support XInput 1 and 2, respectively. If you want to get a feeling of the involved events, you can run xinput -test or xinput -test-xi2 in a terminal. Are you using a compositor (e.g., xcompmgr or compton): yes, picom (I'm using i3-gaps, but that doesn't seem to be relevant for this feature request.) - Linux Distribution & Version: Arch Linux 5.16.9-arch1-g14-1 (custom kernel) The i3 binary you just called: /usr/bin/i3 home/lordmzte/.config/i3/config (main) (last modified: Wed 11:46:52 AM CET, 114954 seconds ago) Output of i3 -moreversion 2>&-: i3 version:īinary i3 version: 4.20.1-78-ga661d82c © 2009 Michael Stapelberg and contributors Also, this could be used to, for example use a second touch-capable monitor, without the touch inputs moving the main mouse cursor, or affecting the focus of the window that the keyboard and mouse are currently on. Multiple users could work on one machine at the same time. Impact This feature requires new configuration and/or commands When one xinput master is working on window A, the keyboard & mouse events will go to window A, while another xinput master is using a different window. Multiple xinput masters can work independantly. The window focus of master B is also moved onto dekstop 1, instead of staying on desktop 2. For example, when xinput master A clicks a window on desktop 1, then the mouse cursor of xinput master B will be moved onto the monitor that desktop 1 is running on. I3wm will not allow them to work independantly. When multiple xinput masters are configured, each with their own keyboard and mouse,
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |