pressure sensitive touchpad in macOS
README
ofxMacTrackpadPressure
macOS trackpad pressure / Force Touch support for openFrameworks.
Files
ofxMacTrackpadPressure/
├── addon_config.mk
├── src/
│ ├── ofxMacTrackpadPressure.h // C++ header (clean, no Obj-C)
│ └── ofxMacTrackpadPressure.mm // Objective-C++ implementation
└── example-pressure-drawing/
└── src/
├── main.cpp
├── ofApp.h
└── ofApp.cppInstallation
1. Copy
ofxMacTrackpadPressure/ to your openFrameworks/addons/ folder 2. Generate your project with Project Generator, include this addon 3. Or manually add the .h and .mm files to your Xcode projectUsage
#include "ofxMacTrackpadPressure.h"
ofxMacTrackpadPressure pressure;
void ofApp::setup() {
pressure.setup();
pressure.setEnabled(true);
ofAddListener(pressure.pressureChanged, this, &ofApp::onPressureChanged);
}
void ofApp::onPressureChanged(ofxTrackpadPressureEventArgs& args) {
float p = args.pressure; // 1.0 = normal click, up to ~5.0 deep press
}Key Points
- macOS only — uses
NSEventpressure API - Force Touch required for variable pressure; normal trackpads return
1.0 - Events fire alongside standard OF
mouseDragged— both work simultaneously - Pressure is accumulated delta from baseline
1.0, not absolute
Controls (example)
C— clear canvasSpace— toggle pressure tracking on/off- Click-and-drag — draw with pressure-sensitive width
- Deep press (Force Touch) — wider strokes
ofxAddons