fast and comfortable rubric application!

Desperate to grade faster, I used ChatGPT to build this controller mapper to take advantage of my PS5 dual sense controller, so I can apply rubrics in Gradescope more ergonomically. One day AI will take over the grading but I can dream. --- Nov 1, 2026


Installing DualGrade

DualGrade maps a PS5 DualSense controller to keyboard and mouse controls on macOS.

Download DualGrade for macOS

The download contains the source code. Follow the steps below to build and install the app on your Mac.

Requirements

Installation

  1. Download and extract the DualGrade ZIP.

  2. Install Apple's Command Line Tools if you do not already have them. Open Terminal and run:

    xcode-select --install

    Finish the installation before continuing.

  3. Open the project folder in Terminal. Type cd (including the space), drag the extracted DualGrade folder into the Terminal window, and press Return.

  4. Build the app by running:

    bash build.command
  5. Move the app into Applications. Quit any running copy of DualGrade using its menu bar menu. When the build finishes, find DualGrade.app in the dist folder and move it to Applications, replacing the previous copy if you are updating.

  6. Refresh Accessibility approval when updating. After replacing the app, keep DualGrade closed and run the following command from the extracted project folder:

    bash repair-accessibility.command

    This clears only DualGrade's previous Accessibility approval and opens the installed app and Privacy settings. You must grant access again in the next step. You can skip this step on a first installation; use it later if an update leaves controller output blocked.

  7. Allow keyboard and mouse output. Open the copy of DualGrade in Applications, then open System Settings → Privacy & Security → Accessibility and enable DualGrade. If it is not listed, click + and select DualGrade from Applications. Quit and reopen DualGrade afterward.

    The current build is not notarized. If macOS blocks it and you trust the download, attempt to open the app, then open System Settings → Privacy & Security and look for Open Anyway.

Getting started

Connect your controller using USB-C, select a profile, and click Enable. Press the controller's Options button to pause or resume mapping. Changes to mappings save automatically.

USB-C is recommended, especially for touchpad features. Bluetooth touchpad support remains experimental.