(workshop)

shoulder surfing:
communal devices as sites of (un)learning?

back to top

Intro [all together]

Exchange [in groups]

Pick questions which spark your interest and discuss:

Multi-Cursor Setup [in groups]

Who is familiar with linux? Who has used the terminal before? Let's help each other and don't hesitate to ask questions!
terminology disclaimer The documentation package uses colonial/racist language – how do we deal with it? Ezn and Karl helped us to remove it editing the binaries <3
step 1: open the terminal Press Ctrl + Alt + T to open the terminal.
step 2: check if xinput is installed Type the following command and press Enter: xinput --version If xinput is not installed, install it by typing the following and press Enter: sudo apt-get install xinput Enter your password if prompted (written on the computer)
step 3: list input devices Make sure you have plugged in all the devices which you want to use. To get the list of input devices, type the following command and press Enter: xinput list
The output should look something like this:
⎡ Virtual core pointer id=2
⎜ ↳ Virtual core XTEST pointer id=4
⎜ ↳ QEMU QEMU USB Tablet id=7
⎜ ↳ QEMU QEMU USB Mouse id=8
⎜ ↳ spice vdagent tablet id=10
⎣ Virtual core keyboard id=3
↳ Virtual core XTEST keyboard id=5
↳ Power Button id=6
↳ QEMU QEMU USB Keyboard id=9
step 4: create additional pointers For each group member, create a new pointer. E.g. type the following and press Enter: xinput create-main second-pointer
second-pointer is an identifier and can be any name you want to give the pointer. It needs to be a unique name for each pointer which you create.
The new pointer should already be visible on the screen but cannot be moved yet.
step 5: assign devices to pointers Check the list again using again xinput list | awk -F'\\[' '{print $1}‘.
The output should look similar to this: ⎡ Virtual core pointer id=2
⎜ ↳ Virtual core XTEST pointer id=4
⎜ ↳ QEMU QEMU USB Tablet id=7
⎜ ↳ QEMU QEMU USB Mouse id=8
⎜ ↳ spice vdagent tablet id=10
⎣ Virtual core keyboard id=3
↳ Virtual core XTEST keyboard id=5
↳ Power Button id=6
↳ QEMU QEMU USB Keyboard id=9
⎡ second pointer id=11
⎜ ↳ second XTEST pointer id=13
⎣ second keyboard id=12
↳ second XTEST keyboard id=14

You can see that there is a new pointer available in the list. In this case, our new pointer has the id=11. You can also identify the id of the multiple devices, e.g. the id of the tablet, which is id=10. You can now assign a device to the new pointer by the command xinput reattach 10 11 The number will differ depending on the values in your list. The syntax is xinput reattach [device] [pointer].
step 6: repeat for every device Repeating the steps 4 and 5 you can create as many pointers as you need. You are good to go for your multicursor setup! Beware of bugs: Depending on your machine, the cursors will flicker, disappear and change state depending on your and the others interaction. Also, only the root cursor will be able to open new programs/move windows etc. and probably many other bugs which we didn't encounter yet!




3 Modes of Communal Surfing [in groups]

We propose 3 different modes of surfing together. Only the last one requires the multiple cursors. Take some time to roam around in the different settings:
mode 1

several people but only one of them is operating the mouse and the corresponding cursor

mode 2

several people operate a mouse each – but only one cursors

mode 3

several operators/mouses and one cursor each

Here is a small list of tasks which you can take as a starting point for your explorations:

Feel free to come up with additional modes of communal surfing! One person leading the other persons hand, two people holding the computer, walking togehter while browsing, ...





Reflection [all togehter]

Thank you all :) black and white dithered image of a boxy laptop. Four computer mice are gathering around it, their cables are plucked into the laptop, convivially curling and intertwining with each other.