Create a Windows driver for the Apple Magic Trackpad

Storniert Veröffentlicht Feb 8, 2012 Bezahlt bei Lieferung
Storniert Bezahlt bei Lieferung

A driver for the Apple Magic Trackpad shall be created. It has to support Windows XP, Windows Vista, and Windows 7, both 32-bit and 64-bit. If the driver is installed, the Trackpad shall not be used to control the mouse. Instead, the native touch information shall be made available to user-mode applications, together with a time stamp. 10 concurrent touch positions shall be supported. A simple user-mode sample application (e.g. a Visual C++ console project) shall be provided to show how to connect to the driver and receive the information.

Microsoft Visual C++ 2010 and Microsoft Windows Driver Kit for Windows 7 shall be used as development environment. The sources and binaries of both the driver (both 32 and 64 bit, if applicable) and the sample application have to be delivered. The rights of the source code will be transferred to us. In case that a part of the code is covered by some license (e.g. GPL, LGPL, BSD), it has to be communicated and agreed with us.

## Deliverables

Hints:

The Apple Magic Trackpad is a Bluetooth device that can be connected to Windows XP/Vista/7 without installing any special drivers. In this case, it operates like a simple mouse with two physical buttons, without supporting any gestures. Technically, it is a HID device that supports the HID_DEVICE_SYSTEM_MOUSE class. Therefore, it is opened by Windows in exclusive mode (see [url removed, login to view]), and we failed to write a user-mode driver for this device. Apple has created its own Windows drivers as part of the Bootcamp package. This driver is a kernel mode driver that supports additional touch gestures.

We have successfully connected and paired the Apple Magic Trackpad to the PC using the Microsoft Bluetooth stack, both on Windows XP and Windows 7. Therefore we strongly recommend using this Bluetooth stack during development. When connecting and pairing the Trackpad with Ubuntu 11.10, it will work automatically. In that case, you can peek at the raw data being transfered by CATting the file sys/kernel/debug/hid/0005:05AC:030E:0002/events.

The communication protocol on top of the HID layer can be reverse engineered by looking at the source code of the Linux driver (hid-magicmouse.c). It is able to receive and decode 10 concurrent touch positions from the Apple Magic Trackpad.

Microsoft Softwarearchitektur Windows Desktop

Projekt-ID: #2709515

Über das Projekt

2 Vorschläge Remote Projekt Aktiv Apr 3, 2012

2 Freelancer bieten im Durchschnitt $1350 für diesen Job

DavidLou

See private message.

$1200.2 USD in 40 Tagen
(22 Bewertungen)
5.8
icellama

See private message.

$1500 USD in 40 Tagen
(3 Bewertungen)
3.9