KNTRL
KNTRL on an iPhone in landscape, connected as player 1, with the A button lit mint green

KNTRL

Turn your iPhone into a real Mac gamepad.

Free Mac app, version 0.2.1
macOS 26 or later

Free beta, TestFlight invites by email
iPhone, iOS 26 or later

The controls

Press anything. This is KNTRL’s Midnight layout, and under it is exactly what your Mac receives.

Nothing yet

is what macOS reads from KNTRL Controller 1

Your iPhone sends 28 bytes over Wi‑Fi, on every change and 30 times a second
4d 48 4e 43 01 03 de c0 17 2a 99 03 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00
4d 48 4e 43 01 03
“MHNC”, version 1, a state packet
Session, sequence
the sequence counts up, so a late packet is dropped
Buttons
one bit each; A is the first
Sticks, triggers
four axes and two triggers
KNTRL Host hands macOS a 13‑byte HID report from KNTRL Controller 1
01 00 08 00 00 00 00 00 00 00 00 00 00
Buttons
sixteen bits; A is Button 1
Hat
the D‑pad, eight directions; 08 is centered
X, Y, Z, Rz
the two sticks, down is positive
Rx, Ry
the two triggers, 0 to 255

Controls chart

As a virtual gamepad, every control is a real HID button or axis, so Steam Input, SDL games and emulators map it the way they map any controller you plug in. For games that only take a keyboard, KNTRL Host types keys instead, with the Shooter or Retro preset, and every key can be rebound on the Mac.

Shows up as
KNTRL Controller 1 to 4
Made by
Metahuman Network
Connects as
A virtual HID gamepad
Controls
16 buttons and an 8‑way hat
Axes
Two sticks, two triggers
Driver
None to install
What each control sends to the Mac in each output
ControlVirtual GamepadShooter keysRetro keys
Face buttons
A, bottomButton 1SpaceZ
B, rightButton 2CX
X, leftButton 3RA
Y, topButton 4FS
Shoulders
LBButton 5QQ
RBButton 6EW
LTButton 7, Rx axisRight clickE
RTButton 8, Ry axisLeft clickR
Sticks
Left stickX and Y axesW A S DArrow keys
Right stickZ and Rz axesMouse pointerNot used
Left stick clickButton 11ShiftNot used
Right stick clickButton 12VNot used
D‑pad
UpHat up1Up arrow
RightHat right2Right arrow
DownHat down3Down arrow
LeftHat left4Left arrow
Middle buttons
ViewButton 9TabRight Shift
MenuButton 10EscReturn
HomeButton 13Not usedF1
ShareButton 14F12F8

Rumble from game audio

Most Mac games send no rumble to a generic gamepad, so KNTRL Host listens to the game’s sound instead. Bass below 120 Hz drives the heavy motor and sharp hits drive the light one, about 30 times a second. The sound never leaves your Mac; only two motor levels do.

Heavy motor: engines, explosions, bass
Sharp motor: gunshots, impacts, hits

Up to four players

Four iPhones can join one Mac, and each plugs in as its own gamepad, so couch co‑op games see four players. In Keyboard & Mouse they share one keyboard.

  • P1 3 msKNTRL Controller 1
  • P2 5 msKNTRL Controller 2
  • P3 4 msKNTRL Controller 3
  • P4 6 msKNTRL Controller 4

What it needs

Requirements and permissions
PartRuns onWhat it doesAsks for
KNTRLiPhone, iOS 26 or laterThe controller, its layouts and motion controlsLocal Network
KNTRL HostMac, macOS 26 or laterLives in the menu bar and receives your pressesLocal Network
Virtual GamepadKNTRL HostPlugs in one HID gamepad per phone for Steam Input, SDL games and emulatorsNothing extra
Keyboard & MouseKNTRL HostTypes keys and moves the pointer, for games without controller supportAccessibility
RumbleBothTurns game audio into two motor levelsSystem Audio Recording
NetworkBothBoth on the same Wi‑Fi; no Bluetooth, no cableNothing extra

Set up once

Five steps, a few minutes, and only the first time. After that, open KNTRL and your Mac is already there.

Get KNTRL Host

Download for Mac

Download the free Mac app and open it. It lives in your menu bar with a four‑digit pairing PIN. Under Send input as, choose Virtual Gamepad.

Find your Mac

Join the TestFlight beta

Open KNTRL on your iPhone, on the same Wi‑Fi. Your Mac appears by name. Tap it.

KNTRL’s home screen, connected to Living Room Mac as player 1

Enter the PIN

Type the PIN your Mac shows. You do this once per phone, and each PIN works one time.

KNTRL asking for the PIN shown on Living Room Mac, with two digits entered

Pick a layout

Offset, Symmetric or Classic, or build your own: drag to move, pinch to resize, relabel or duplicate any control.

Play

Start Steam, your emulator or your game. It finds KNTRL Controller 1 like any pad you plug in; map the buttons there if it asks. For keyboard‑only games, switch to Keyboard & Mouse.

The KNTRL controller with the B button pressed

Questions

Will it work with my game?

If it plays with a controller through Steam Input or SDL, which covers most of Steam, or it’s an emulator like RetroArch, yes: it sees KNTRL Controller as a gamepad. Games that only read Apple’s Game Controller framework don’t see generic gamepads. For those, and for keyboard‑only games, switch KNTRL Host to Keyboard & Mouse.

Do I need to install a driver?

No. KNTRL Host makes its controllers with macOS’s own virtual HID support, so there’s no driver or system extension to approve. When a phone leaves, its controller unplugs; quit KNTRL Host and they all do.

Why do I need a Mac app?

An iPhone app can’t act as a Bluetooth controller. So KNTRL streams your presses over Wi‑Fi to KNTRL Host, and Host plugs in a virtual gamepad for each phone.

Is there lag?

Every press crosses your local network the moment it happens, and the phone repeats its full state 30 times a second, so a lost packet is replaced within about 33 ms. If the phone goes quiet for a second, the Mac lets go of every button, so nothing stays held down.

Does it listen to my audio?

Only when you turn on rumble, and only inside KNTRL Host: it reduces the game’s sound to two motor levels and keeps nothing. Neither app collects any data.

Can I change the buttons?

All of them. On the phone, move, resize, reshape, relabel or duplicate any control. On the Mac, map the gamepad in Steam or in your game’s settings, or rebind any key in Keyboard & Mouse.

Get KNTRL Host 0.2.1, free for macOS 26.