sites

public wiki contents of suckless.org
git clone git://git.suckless.org/sites
Log | Files | Refs

commit 863101f8fc5070a3d36bd24a2af85fd1daaf1eec
parent baaf333c88e088c088561f5425064c1673854e4c
Author: Ivan Tham <pickfire@riseup.net>
Date:   Wed, 28 Dec 2016 11:47:55 +0800

[dwm] Tutorial: crappy multi-pointer

Diffstat:
Adwm.suckless.org/multi-pointer.md | 78++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 78 insertions(+), 0 deletions(-)

diff --git a/dwm.suckless.org/multi-pointer.md b/dwm.suckless.org/multi-pointer.md @@ -0,0 +1,78 @@ +Multi-pointer +------------- + +Multi-pointer can be an alternative to multi-seat. Compared to multi-seat, +multi-pointer is easier to setup (because no multi-seat experience), allows +hardware acceleration and at least one monitor is required. Bad news? Both +shared the same xorg server, most things are shared. + +As of now, no window manager with active development support multi-pointers +with multiple active window. Dwm does not support multi-pointer but here's a +crappy version in which the other users can only control one application +through keyboard since there is only one active window at a time. + +Configuring inputs +------------------ + +One way to configure input devices is via the `xinput` tool. Without any +arguments given, it should list all the input devices in short format. + + xinput + +It will print all the master device (cursors on screen) and the slave device +(physical device). Master device comes in pair, which is pointer and keyboard. + +Adding master device +-------------------- + +To create another pointer for a new user. First, we add a master device. + + xinput create-master Name + +Another pointer should appear in the center of the screen by now. + +Assigning slave device +---------------------- + +We will then require to assign a slave device to the master device. The *id* of +the **master** and **slave** device can be found by using `xinput`. + + xinput reattach <slave> <master> + +By the end of this, both pointer can move simultaneously but keyboard cannot +type in different application simultaneously, this is normal for window manager +without multi-pointer support. + +Point master device to window +----------------------------- + +Time to point the master device to the respective window, do this for both +pointer and keyboard master device (not sure if specifying one works). + +The **window** is the PID of window which can be checked with either `xprop` +(useless sometimes) or `xdotool selectwindow`. + + xinput set-cp <window> <master> + +If the setup is successful, the other keyboard should be able to input only in +the window. In which multiple user can play different games at the same time. + +Cleaning up +----------- + +Remove all the master device that was created. + + xinput remove-master <master> + +And `reattach` the pointer or keyboard back to the main master device. + +Ideas +----- + +- The other could have used Xephyr or Xnest to have his own session instead. + +See also +-------- + +- https://ao2.it/en/blog/2010/01/19/poor-mans-multi-touch-using-multiple-mice-xorg +- https://www.x.org/wiki/Development/Documentation/MPX/