This enables you easily to access raw data of the multitouch trackpad.
Objective-C
245
40 commits
updated May 28, 2026
This enables you easily to observe global multitouch events on the trackpad (only default device).
I created this library to make MultitouchSupport.framework (Private Framework) easy to use.
This library refers the following frameworks very much. Special Thanks!
App SandBox must be disabled to use OpenMultitouchSupport.
import OpenMultitouchSupport
let manager = OMSManager.shared()
Task { [weak self, manager] in
for await touchData in manager.touchDataStream {
// use touchData
}
}
manager.startListening()
manager.stopListening()
struct OMSPosition: Sendable {
var x: Float
var y: Float
}
struct OMSAxis: Sendable {
var major: Float
var minor: Float
}
enum OMSState: String, Sendable {
case notTouching
case starting
case hovering
case making
case touching
case breaking
case lingering
case leaving
}
struct OMSTouchData: Sendable {
var id: Int32
var position: OMSPosition
var total: Float // total value of capacitance
var pressure: Float
var axis: OMSAxis
var angle: Float // finger angle
var density: Float // area density of capacitance
var state: OMSState
var timestamp: String
}
808 followers · starred Jul 2025
471 followers · starred Jul 2025
1,594 followers · starred Jul 2025
109 followers · starred Jul 2025
This enables you easily to access raw data of the multitouch trackpad.
Objective-C
245
40 commits
updated May 28, 2026
This enables you easily to observe global multitouch events on the trackpad (only default device).
I created this library to make MultitouchSupport.framework (Private Framework) easy to use.
This library refers the following frameworks very much. Special Thanks!
App SandBox must be disabled to use OpenMultitouchSupport.
import OpenMultitouchSupport
let manager = OMSManager.shared()
Task { [weak self, manager] in
for await touchData in manager.touchDataStream {
// use touchData
}
}
manager.startListening()
manager.stopListening()
struct OMSPosition: Sendable {
var x: Float
var y: Float
}
struct OMSAxis: Sendable {
var major: Float
var minor: Float
}
enum OMSState: String, Sendable {
case notTouching
case starting
case hovering
case making
case touching
case breaking
case lingering
case leaving
}
struct OMSTouchData: Sendable {
var id: Int32
var position: OMSPosition
var total: Float // total value of capacitance
var pressure: Float
var axis: OMSAxis
var angle: Float // finger angle
var density: Float // area density of capacitance
var state: OMSState
var timestamp: String
}
808 followers · starred Jul 2025
471 followers · starred Jul 2025
1,594 followers · starred Jul 2025
109 followers · starred Jul 2025