AI Decision System
Replayable, offline-verifiable records for AI-assisted go/no-go decisions: experiment promotions, typed model answers and human-approved actions.
翻譯準備中
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證See what your Magic Mouse and Magic Trackpad send, and what macOS actually delivers. A free, open-source diagnostic app for macOS.
翻譯準備中
取自儲存庫 README
正在載入完整 README。
檢視完整 README ↗Right-click that does nothing. Clicks that vanish now and then. A trackpad that feels a bit off. These problems are maddening because you can't see where they happen.
RodentGym shows you every step: where your fingers are, what the device reports, and what macOS delivers to your apps. When those don't match, it tells you, logs it, and helps you work out whether the problem is the mouse, the wireless link or the Mac.
It started as a way to find out why one Magic Mouse's right-click kept disappearing. The answer turned out to be a setting that resets itself, and the app kept growing from there.
Live touches and clicks. Each device is drawn at its sensor's real proportions, in its own colour, with your fingers on it in real time. Trails follow each finger and every click ripples out from where it happened. The secondary-click area is shaded from your actual settings.
Dropped and remapped clicks. RodentGym compares the button reports from the hardware with the clicks macOS delivers. A click that never arrives is flagged as dropped; one that arrives as the wrong button is flagged as remapped. Both are logged with a timestamp.
The settings that are really in effect. Model, firmware, colour, battery and charging, and the settings each device's driver is applying right now, which aren't always what System Settings shows. Magic Keyboards get a tile too, with battery and charging status.
An adjustable Magic Mouse split. Drag the line between the left and right click areas. System Settings doesn't offer this; it's fixed at 55% unless you change it.
Click latency, touch report rate and Bluetooth signal on one two-minute timeline, with dropped clicks and connects and disconnects marked across all three. When a problem shows up, you can see what else was happening at that moment. Bluetooth signal is opt-in: RodentGym only asks for Bluetooth permission if you turn it on.
Three short checks for faults in the device itself: surface coverage finds dead zones, phantom touch catches a sensor reporting contact when nobody is touching it, and haptics checks a Force Touch trackpad's haptic engine. Copy Report gives you a plain-text summary for a support case.
Press every key once and watch it light up. The tester also catches what a worn keyboard does: keys that chatter (one press arriving as two), keys that stick, and how many keys it can report at once. Every Magic Keyboard since 2015, the aluminium Apple Wireless Keyboard and MacBook keyboards are drawn to scale, in ANSI, ISO or JIS, with labels from your own input source. It reads keys only from its own window, so it needs no permission.
RodentGym runs on macOS 14 Sonoma or later. It's developed on macOS 27 and uses Liquid Glass on macOS 26 and later.
Signed downloads and Homebrew are coming soon. Until then, building it yourself takes about a minute and needs only Apple's free command line tools:
xcode-select --install # once, if you don't have the command line tools
git clone https://github.com/gofastercloud/RodentGym.git
cd RodentGym
./build.sh # builds and installs to ~/Applications
open ~/Applications/RodentGym.app
There's no Xcode project: the app is a handful of Objective-C files, built with clang and signed for local use.
./build.sh --no-install # build only, into ./build
./build.sh --screenshot # regenerate the images in docs/images from anonymised demo data
# Open straight into a tool
open ~/Applications/RodentGym.app --args --show-latency --show-selftest --show-trainer --show-game --show-force
# Draw every keyboard layout to PNGs, to check layout data by eye
build/RodentGym.app/Contents/MacOS/RodentGym --keyboard-layouts /tmp/layouts
RodentGym watches mouse buttons and touches. It never opens a keyboard or watches typing in other apps: the Keyboard Tester only sees keys pressed in its own window, and doesn't log them. It makes no network connections, needs no Accessibility permission, and nothing leaves your Mac. Its log stays in ~/Library/Logs and only you can read it.
It only listens, with one exception: if you move the Magic Mouse split, it saves your new split to the mouse's preferences.
Watching click events doesn't normally need permission. If click events show as unavailable, allow RodentGym under System Settings › Privacy & Security › Input Monitoring. Bluetooth permission is only requested if you turn on signal monitoring. Because a self-built app is signed locally, each rebuild may prompt again.
| What | Where it comes from | What it tells you |
|---|---|---|
| Touches, report rate, stalls | MultitouchSupport.framework (private), every frame | Where fingers are, and how steadily each device reports |
| Button reports | IOHIDManager | What the hardware says was pressed, and when |
| Click events | Listen-only CGEventTap on the login session | What macOS delivered to apps |
| Click latency | HID report timestamp vs event arrival | Time from button report to delivered click |
| Device details | IORegistry (MultitouchPreferences, VersionNumber, ColorID) | Model, firmware, colour, effective settings |
| Battery | Accessory power sources (as pmset -g accps uses) | Level, charging, on cable or battery |
| Gesture settings | Driver preferences, com.apple.dock, global defaults | Which gestures are on |
| Click pressure, haptics | NSEvent pressure, NSHapticFeedbackManager | Force Click and the haptic engine |
| Bluetooth signal (opt-in) | IOBluetoothDevice.rawRSSI | Link quality in dBm |
A button report is matched with the click event that follows it within a configurable window, 400 ms by default. Devices are picked up as they connect and disconnect.
Contributions of every size are welcome: a typo, a better explanation in the help, support for a device model, or a whole new tool. CONTRIBUTING.md explains how the code fits together and how to get a change in.
Not sure where to start? Have a look at issues labelled good first issue, or ask in Discussions. Questions like "is this reading normal?" are welcome there too.
Testers wanted. RodentGym has only been tried on a few devices. Ten minutes with yours and a test report is one of the most useful things you can do, even if everything works. The testing checklist has ideas for what to try.
Found a bug? Open an issue. Reporting a problem has an example of a report that's easy to act on.
RodentGym is free and will stay that way. If it saved you an afternoon, or a trip to the Apple Store, you can sponsor its development on GitHub. It's never expected and always appreciated. A star, or telling someone who's fighting their mouse, helps too.
MIT. See LICENSE.
RodentGym isn't affiliated with or endorsed by Apple. Magic Mouse, Magic Trackpad, Magic Keyboard, Force Touch, Touch ID and Liquid Glass are trademarks of Apple Inc.