Can I use my Android device for wireless multitouch?

Asked by ethana2 on 2010-08-16

In my family we have two HTC Evo 4G's, two Motorola Droids, and one HTC Incredible. When will we be able to use these phones with our laptops as multitouch input devices over bluetooth, USB, or wifi?

Question information

Language:
English Edit question
Status:
Answered
For:
Open Input Framework Edit question
Assignee:
No assignee Edit question
Last query:
2010-08-16
Last reply:
2010-08-16
Fabián Rodríguez (magicfab) said : #1

Hi ethana2

I don't think the Android devices provide an HID (Human interface device) bluetooth profile just yet. Maybe 2.2 devices do ? You could provide us with the output of such profiles on your device:
1) Install the bluez package
2) Find out what MAC address corresponds to your phone:
hcitool scan
3) Find out which bluetooth profiles it povides:
$ sdptool browse XX:XX:XX:XX:XX:XX

On the Apple Magic Mouse, this is the result:

Browsing XX:XX:XX:XX:XX:XX...
Service Name: Apple Wireless Mouse
Service Description: Apple Wireless Mouse
Service Provider: Apple Inc.
Service RecHandle: 0x10000
Service Class ID List:
  "Human Interface Device" (0x1124)
Protocol Descriptor List:
  "L2CAP" (0x0100)
    PSM: 17
  "HIDP" (0x0011)
Language Base Attr List:
  code_ISO639: 0x656e
  encoding: 0x6a
  base_offset: 0x100
Profile Descriptor List:
  "Human Interface Device" (0x1124)
    Version: 0x0100

Here is the output I got on a Nexus One running Android 2.1 - as you can see there is no HID profile:

Browsing XX:XX:XX:XX:XX:XX ...
Service RecHandle: 0x10000
Service Class ID List:
  "PnP Information" (0x1200)
Profile Descriptor List:
  "PnP Information" (0x1200)
    Version: 0x0102

Service Name: Audio Source
Service RecHandle: 0x10001
Service Class ID List:
  "Audio Source" (0x110a)
Protocol Descriptor List:
  "L2CAP" (0x0100)
    PSM: 25
  "AVDTP" (0x0019)
    uint16: 0x100
Profile Descriptor List:
  "Advanced Audio" (0x110d)
    Version: 0x0100

Service Name: AVRCP TG
Service RecHandle: 0x10002
Service Class ID List:
  "AV Remote Target" (0x110c)
Protocol Descriptor List:
  "L2CAP" (0x0100)
    PSM: 23
  "AVCTP" (0x0017)
    uint16: 0x100
Profile Descriptor List:
  "AV Remote" (0x110e)
    Version: 0x0100

Service Name: Voice Gateway
Service RecHandle: 0x10003
Service Class ID List:
  "Handsfree Audio Gateway" (0x111f)
  "Generic Audio" (0x1203)
Protocol Descriptor List:
  "L2CAP" (0x0100)
  "RFCOMM" (0x0003)
    Channel: 10
Profile Descriptor List:
  "Handsfree" (0x111e)
    Version: 0x0105

Service Name: Voice Gateway
Service RecHandle: 0x10004
Service Class ID List:
  "Headset Audio Gateway" (0x1112)
  "Generic Audio" (0x1203)
Protocol Descriptor List:
  "L2CAP" (0x0100)
  "RFCOMM" (0x0003)
    Channel: 11
Profile Descriptor List:
  "Headset" (0x1108)
    Version: 0x0100

Service Name: OBEX Object Push
Service RecHandle: 0x10005
Service Class ID List:
  "OBEX Object Push" (0x1105)
Protocol Descriptor List:
  "L2CAP" (0x0100)
  "RFCOMM" (0x0003)
    Channel: 12
  "OBEX" (0x0008)
Profile Descriptor List:
  "OBEX Object Push" (0x1105)
    Version: 0x0100

Service Name: OBEX Phonebook Access Server
Service RecHandle: 0x10006
Service Class ID List:
  "Phonebook Access - PSE" (0x112f)
Protocol Descriptor List:
  "L2CAP" (0x0100)
  "RFCOMM" (0x0003)
    Channel: 19
  "OBEX" (0x0008)
Profile Descriptor List:
  "Phonebook Access" (0x1130)
    Version: 0x0100

I hope this answers your question, I'll gladly be corrected if this can be achieved otherwise.

Chase Douglas (chasedouglas) said : #2

I've created an input server called rinputd and a client for the iPhone called Remotux. I haven't updated Remotux to send raw multitouch events to the server yet, but I will soon as it's trivial.

If someone were to create a version of Remotux for Android, then that would be all you need. The rinputd server and protocol are documented at https://wiki.ubuntu.com/RemoteInput.

Can you help with this problem?

Provide an answer of your own, or ask ethana2 for more information if necessary.

To post a message you must log in.