To add to the details from MJ, here are the steps I used to get my M-Audio Keystation 88 Mk3 transport buttons working with Cubase (v15 Pro).
In summary, you need to:
- set the K88 to send messages for Transport buttons in a format that Cubase can use;
- map the messages from those buttons to Cubase commands.
Hope these notes are of some use. As others have noted, the K88 Mk2 doesn’t work in the same way (and Mk1 didn’t have transport controls iirc).
a) Set the Keystation Protocol
The Keystation 88 manual describes how you can set the protocol used to send the transport messages
1 - Press the Advanced button to get the keyboard into Edit Mode.
2 - Press the key labelled “Mackie/Hui” (or “DAW”). Note: “+” and “-” LEDs will be lit green when in Mackie Control mode, red when in HUI mode.
3 - Press Enter.
Pressing that key will toggle between green & red. I used Mackie Control (green).
Also from the manual:
[Mackie controls] are sent on Virtual Port 2.
b) MIDI Port Setup in Cubase
In Studio > Studio Setup… > MIDI Port Setup there should be two inputs available:
The first – Keystation 88 – transmits the regular MIDI notes together with any Pitch, Mod Wheel and Volume data. I’ve left the “All MIDI Inputs” enabled for this, so they’re picked up by any Instrument that’s set to use “All MIDI Inputs”.
The second – MIDIIN2 (Keystation 88) – is the “Virtual Port 2”, mentioned in the manual, that’s used to transmit our Transport button data. Untick the “All MIDI Inputs” for this Port because, in Mackie mode, it sends Note data that we don’t want to pass on to Instruments.
c) Set up MIDI Remote
As per Martin J’s steps above (basics repeated here):
Go to Studio > MIDI Remote Manager then click the [+ Add Surface] button.
Fill in the Vendor (M-Audio), Model (Keystation 88 Mk3), Script Creator . For the Input Port, choose the “MIDIIN2” Port . I didn’t need an Output Port.
Go through adding the buttons as Martin describes. When editing the Surface, as you select the physical button on the Keystation, the data that’s sent can be displayed in the right hand panel. Click the “MIDI Monitor” Icon to see the detail. Selecting the entry in the Monitor panel, e.g. Note 98, will pre-fill the information for you, assigning that note to the selected button.
If you see MIDI CC data rather than Note data in the MIDI Monitor
n.b. If, instead of Note information, you see Control Change (CC) information in the MIDI Monitor, you’re probably in the wrong Protocol [see step a) above]. [Aside: using CC info rather than Notes might work but Cubase’s MIDI Remote requires unique controller numbers. The Keystation in HUI mode appears to send different values on the same controller number, hence we use Mackie Control mode which uses different Notes. Hope that makes sense.]
Click on the [> Go to Mapping Assistant] button. In the Mapping Assistant, press your physical Keystation button and select a Cubase function you want to control with it. Click [Apply Mapping]. Repeat for other buttons.
Example Setup
There are 8 buttons on the K88. Five “Direction” buttons (Up, Down, Left, Right, Centre) and three “Transport” buttons (Stop, Start, Record). I mapped Left & Right to the equivalent “Go To L/R Locator” command, the Centre button to Transport Cycle, Up to “Edit Channel Settings”, Down to “Edit Instrument”. You may have different preferences – choose these in the Mapping Assistant.
Testing
a) Your MIDI Ports should now reflect the use of MIDIIN2 with the MIDI Remote

b) Adding an Instrument that uses “All MIDI Inputs” should allow notes, pitch, mod wheel, volume to be “heard” (and captured when recording).
c) Pressing the K88’s physical controls should activate the related Transport method, Locator, Edit screen etc.. You shouldn’t hear any notes being played on the selected Instrument.