Whoa: Weston, the reference compositor for #Wayland, supports multiple physical independent mice at the same time! 😀

"New mouse, who dis?"

(I'll write up how to do this later!)

Two mouse cursors (that look like turtles) play with terminal windows. They can move them independently of each other!
Two mouse cursors (that look like turtles) play with terminal windows. They can move them independently of each other!

There are couple of surprises around window interaction:

- Once a cursor starts to resize/move a window, those actions are not possible for the other one.
- One cursor can open a menu, and the other one can use it, that one works pretty well!
- Closing a window with one cursor, while the other drags it, makes the second one disappear! :D

I mean, these are really hard UI questions to solve! Often, it's not clear to me what the correct behavior should be!

The mouse cursors demonstrate the describe behavior.
The mouse cursors demonstrate the describe behavior.

Okay, let's try some applications, and see how they deal with multiple mice! 😈

First up: Gedit, a GTK application.

Both cursors can place the cursor and select text, but movement from one cursor "interrupts" the selection of the other one. Not very satisfying.

Imagine how cool it would be if both had their own selections + cursors!! That would allow a really neat form of collaboration within the same document!

We demonstrate the described behavior.
We demonstrate the described behavior.

Next up: Chromium! It has a very pragmatic solution: It just ignores all cursors but the first one!

In the video, the arrow-shaped cursor can click on stuff. The turtle has no power here.

Two cursors click around in Wikipedia. Only the pointer can do stuff.
Two cursors click around in Wikipedia. Only the pointer can do stuff.

In Firefox, it seems like all mouse events are mashed together, and are seen as coming from the same device.

That means that both cursors can click – if the other one "holds still". Otherwise, I guess Firefox is very confused by a click on a link while the mouse is not in it! 😆

Selections feel strange – the last-moving cursor will determine the selection.

Also notice how, if one cursor hovers a link, both turn into hand icons!

The cursors play around in Firefox, and brows through Wikipedia together.
The cursors play around in Firefox, and brows through Wikipedia together.

Of course, we had to try a drawing application next!

Here's @tldraw (in Firefox)! rainbow_heart_eyes

Collaborative drawing at it's best! 💚

Each cursor can draw lines independently, but if both click, very fancy-looking zigzag-lines appear! We make a little artwork.
Each cursor can draw lines independently, but if both click, very fancy-looking zigzag-lines appear! We make a little artwork.