Skip to content
Use your iPad as a graphics tablet
Swift Objective-C
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
Sources
ipad-mouse-ios.xcodeproj
ipad-mouse-ios
.gitignore
Cartfile
Cartfile.resolved
Package.swift
README.md

README.md

iPad Mouse

An iOS+OSX app that allows you to use your iPad (or any iOS device) as a graphics tablet. Latency is minimal due to the use of WebSockets over a direct WiFi connection.

Demonstration

Features

  • Single tap to left click
  • Double tap to double left click
  • Single tap + movement to move mouse
  • Double tap + movement to move mouse with left gclick

Dependencies

Uses StarScream as the WebSocket client, and Zewo/WebSocketServer as the WebSocket server. You can fetch these using carthage bootstrap --no-build and swift build -X, respectively.

Setup

Client

To run the client application, you need to open the xcode project in Xcode 8 Beta 2. Then, the app should run on any iOS device (tested on iOS 10 iPad Pro).

Server

To run the server either use a precompiled binary or build from source.

Precompiled Binary

Download the binary for the latest release and CD into the downloads directory. Run chmod +x ipad-mouse and then ./ipad-mouse to start the server.

Build from Source

You need to be able to build code compatible with the 05-09 snapshot with the OSX SDK. For me, the following options work:

  • Generate the Xcode project with swift build -X and open it using Xcode 7.3.1 with the 05-09 snapshot selected
  • Have Xcode 8 Beta 1 selected using xcode-select and run xcrun --sdk macosx swift build in the command line

Usage

Ensure that both of your devices are connected to the same WiFi network.

Replace the ip constant with your mac's ip address in the local network. You can find this by running ifconfig | grep netmask. For my machine, it is 192.168.1.132.

Run the iOS app on your device and wait for it to connect.

You can’t perform that action at this time.