[haiku-bugs] [Haiku] #9545: Add multitouch support

  • From: "X512" <trac@xxxxxxxxxxxx>
  • Date: Sun, 17 Mar 2013 02:44:17 -0000

#9545: Add multitouch support
-------------------------+------------------------------
 Reporter:  X512         |        Owner:  nobody
     Type:  enhancement  |       Status:  new
 Priority:  normal       |    Milestone:  R1
Component:  - General    |      Version:  R1/Development
 Keywords:               |   Blocked By:  8338
 Blocking:  8370         |  Has a Patch:  0
 Platform:  All          |
-------------------------+------------------------------
 To use Haiku on tablet PCs it's required to support multitouch. To add
 this modifications to the API and OS services should be made.

 Following components will be probably affected:

 '''USB HID driver'''
 Get contact id and transmit it to add-on.

 '''tablet input_server add-on'''
 Adapt mouse message generation.

 '''app_server'''
 Add ability to have many cursors and track it independently.

 '''interface kit'''
 Mayble correct B_ENTER_VIEW/B_LEAVE_VIEW MouseMoved codes generating.

 I suggest following modifications to the API:
 * Add "be:tablet_contact_id" to mouse messages that represent id of
 touching position tracking. First id is 0, second is 1 and so on. When
 user release finger from touch screen contact id is recycled and can be
 used by following contacts. Note that released contact is is not always
 the last allocated id so id fragmentation can appear.

 * Add "B_MULTITOUCH_AWARE" BView flag. Without this flag view can accept
 only messages from one contact, other messages will be dropped. Also
 "be:tablet_contact_id" will be removed.

 * Add "B_MULTITOUCH_AWARE_WINDOW" BWindow flag. It enables ability to work
 with many views simultaneously. For example you can control 2 sliders by 2
 fingers with this flag.

 Some work is done in patch of #8338. Also I wrote some test that
 demonstrates multitouch.

 If someone is interested in tablet PC and multitouch support please let me
 know.

--
Ticket URL: <http://dev.haiku-os.org/ticket/9545>
Haiku <http://dev.haiku-os.org>
Haiku - the operating system.

Other related posts: