Kasusnya begini, gue punya dua mouse dan pengen punya dua pointer. Buat apa? Kan bisa buat maen game balap di genymotion atau buat multitouch input. Masalahnya, kalau cuma dicolokin doang, dua mouse bakal pake satu pointer yang sama. Gimana caranya bikin dua pointer yang bisa dipake bersamaan?

*Ceritanya googling dulu*

Oh ternyata bisa pame XMP atau xinput. Kalau pake Ubuntu 10.04, xinput udah ada secara default di system. Ceritanya ini pake Ubuntu 12.04 di kantor :D

Pertama:

Lihat device apa aja yang kebaca sebagai input device dengan perintah:

xinput list

Contoh hasil xinput list

⎡ Virtual core pointer            id=2	[master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer  id=4	[slave  pointer  (2)]
⎜   ↳ Logitech USB Optical Mouse  id=8	[slave  pointer  (2)]
⎜   ↳ KYE Wireless Mouse          id=12	[slave  pointer  (2)]
⎣ Virtual core keyboard           id=3	[master keyboard (2)]
    ↳ Virtual core XTEST keyboard id=5	[slave  keyboard (3)]
    ↳ Power Button                id=6	[slave  keyboard (3)]
    ↳ Power Button                id=7	[slave  keyboard (3)]
    ↳ Logitech USB Keyboard       id=9	[slave  keyboard (3)]
    ↳ Logitech USB Keyboard       id=10	[slave  keyboard (3)]
    ↳ UVC Camera (046d:0824)      id=11	[slave  keyboard (3)]

Sampai sini, ada Logitech USB Optical Mouse dengan id 4, ada KYE Wireless Mouse dengan id 12. Logitech ini biarin aja sebagai primary atau master input, dan KYE Wireless Mouse sebagai secondary atau slave input.

Lanjut

xinput create-master Secondary
xinput list

Contoh lagi setelah xinput list dieksekusi

⎡ Virtual core pointer            id=2	[master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer  id=4	[slave  pointer  (2)]
⎜   ↳ Logitech USB Optical Mouse  id=8	[slave  pointer  (2)]
⎜   ↳ KYE Wireless Mouse          id=12	[slave  pointer  (2)]
⎣ Virtual core keyboard           id=3	[master keyboard (2)]
    ↳ Virtual core XTEST keyboard id=5	[slave  keyboard (3)]
    ↳ Power Button                id=6	[slave  keyboard (3)]
    ↳ Power Button                id=7	[slave  keyboard (3)]
    ↳ Logitech USB Keyboard       id=9	[slave  keyboard (3)]
    ↳ Logitech USB Keyboard       id=10	[slave  keyboard (3)]
    ↳ UVC Camera (046d:0824)      id=11	[slave  keyboard (3)]
⎡ Secondary pointer               id=13	[master pointer  (14)]
⎜   ↳ Secondary XTEST pointer     id=15	[slave  pointer  (13)]
⎣ Secondary keyboard              id=14	[master keyboard (13)]
    ↳ Secondary XTEST keyboard    id=16	[slave  keyboard (14)]

Sekarang kita punya satu pointer tambahan yang kadang suka ilang, kadang muncul di tengah layar, tapi masih belum bisa dipake sama Mouse kedua.

Terus ada dua section baru dibawah, ada Secondary pointer, ada Secondary keyboard. Nah Secondary pointer ini yang bakal dipake buat Mouse kedua (si KYE)

Lanjut attach KYE Wireless Mouse sebagai Secondary pointer

xinput reattach 12 "Secondary pointer"
xinput list

Ini hasil list nya setelah attach si KYE sebagai Secondary pointer

⎡ Virtual core pointer            id=2	[master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer  id=4	[slave  pointer  (2)]
⎜   ↳ Logitech USB Optical Mouse  id=8	[slave  pointer  (2)]
⎣ Virtual core keyboard           id=3	[master keyboard (2)]
    ↳ Virtual core XTEST keyboard id=5	[slave  keyboard (3)]
    ↳ Power Button                id=6	[slave  keyboard (3)]
    ↳ Power Button                id=7	[slave  keyboard (3)]
    ↳ Logitech USB Keyboard       id=9	[slave  keyboard (3)]
    ↳ Logitech USB Keyboard       id=10	[slave  keyboard (3)]
    ↳ UVC Camera (046d:0824)      id=11	[slave  keyboard (3)]
⎡ Secondary pointer               id=13	[master pointer  (14)]
⎜   ↳ KYE Wireless Mouse          id=12	[slave  pointer  (13)]
⎜   ↳ Secondary XTEST pointer     id=15	[slave  pointer  (13)]
⎣ Secondary keyboard              id=14	[master keyboard (13)]
    ↳ Secondary XTEST keyboard    id=16	[slave  keyboard (14)]

Sekarang tinggal sesuaikan button layout buat mouse dua, kalau pengen tetep itu 'left click' di telunjuk tangan kiri :D

xinput set-button-map 12 3 2 1

Angka 12 itu id, angka 3 itu context menu atau normalnya klik kanan, angka 2 itu center click atau yang ada di scroll wheel, angka 1 itu command atau klik kiri. Gitu :D

Dan sekarang ada dua pointer, dan dua-duanya bisa dipake :D

Cara ini juga bisa dipake buat nambah keyboard, misal buat maen game bola bareng, atau coding bareng di satu komputer dengan dua keyboard biar mesra ;)

Selamat mencoba dan jangan lupa kalau di desktop Unity pointer agak nge-bug :(