---
title: Create an own custom control script for instant mapping
description: "If your MIDI controller is not natively supported as a control surface in Ableton's settings, you can easily create a user remote script yourself. This way you can even use the mod wheel or other dials of your keyboard for instant mapping!  Here is a three-step tutorial on how to do it."
url: "https://www.swub.de/software/support/article/keyswitch-expression-map_create-an-own-custom-control-script-for-instant-mapping/"
updated: "2023-02-07"
category: Knowledge and Tips
tags:
  - Ableton Live
  - Bank
  - Continuous Controls
  - Control Change
  - Control Surface Script
  - Custom Bank
  - Dial
  - Encoder
  - Hardware
  - Instant Mapping
  - Keyboard
  - Knob
  - Knowledge Base
  - Korg nanoKONTROL
  - Macro
  - Map
  - MIDI Channel
  - MIDI Controller
  - MIDI Controls
  - MIDI Port
  - MIDI Remote Script
  - Modulation Wheel (Mod wheel)
  - Pad
  - Script Editor
  - "Set-Up"
  - Settings
  - Support
  - Tips
  - Tutorial
  - User Preset
  - User Remote Script
  - UserConfiguration.txt
---

# Create an own custom control script for instant mapping

If your MIDI controller does not provide a native Control Surface Script (e.g. [Korg nanoKONTROL2](https://www.korg.com/us/products/computergear/nanokontrol2/)), you can create an own script to control at least the **eight dials** of the **custom bank**. It might sound a bit like a nerdy task for a programmer or computer specialist, but actually it is very simple and you can even connect the pitch bend or modulation wheel of your keyboard in that way.

Open the path of Ableton’s preferences in the File Explorer or Finder (1) . You have to activate hidden items to see the folder “AppData”. Create a new folder (2) and give it for example the name myScript (3). Finally, copy the file UserConfiguration.txt in your new created folder (4). The name of the file needs to remain unchanged!!!

![](https://www.swub.de/wp-content/uploads/2021/08/KeySwitch-and-Expression-Map_Manual-and-User-Guide_Control-Surface-Script_Path_PresetFolder_User-Remote-Scripts_Create_New-Folder_MyScript_User-Configuration.png)

**Mac:** *HD:/Users/\[Username\]/Library/Preferences/Ableton/Live x.x.x/User Remote Scripts*

Open the script with an editor. On windows for example **Notepad** or **Textedit** on a Mac. Alternatively, you can also install the open source software **[Notepad++](https://notepad-plus-plus.org/)**.

Let's have a look to the script and edit **three parts** of it:

1. You must define the **MIDI channel** on what your MIDI controller sends data.
2. Type in the **name** of your controller. In the best case exactly how it is called in the preferences of Ableton.
3. Scroll down and define the **CC numbers** of the dials (encoders) which you want to use.

![](https://www.swub.de/wp-content/uploads/2021/08/KeySwitch-and-Expression-Map_Manual-and-User-Guide_Control-Surface-Script_User-Remote-Scripts_Create-Change-Edit_UserConfiguration_Korg-nanoKONTROL2_Example.png)

The quickest way to find out these information is probably to switch on the **MIDI assignment** in Ableton.

![](https://www.swub.de/wp-content/uploads/2021/08/KeySwitch-and-Expression-Map_Manual-and-User-Guide_Control_Permanent_Mapping-Browser_MIDI-Map-Mode_Assignment_Ableton_MIDI-Controller_Dial-Button-1024x608.png)

1. Activate the **MIDI Map Mode** by pressing the *MIDI button* in the upper right corner of Ableton Live’s user interface.
2. Then click for example on the *Expression* dial in the KeySwitch & Expression Map and turn the dial on your MIDI controller to find out its CC number and channel.
3. The **Mapping Browser** will show you now the information we need to know.

In our example, you would write for the **CC number** *Encoder1: **52***, *Encoder2: **51*** and so on.

The **channel** is for all dials **1**. Hence, it is enough to write only a value for the **global channel**. The lines with the channels of the encoder you can ignore and let it on -1. Ableton will assume that the encoders have the same channel as the global channel.

**Attention:** There is one little trap you can run into: The script counts the MIDI channels from **0-15**, but the interface of Ableton displays them from **1-16**. Therefore, you have to reduce the number by **minus 1**.

For this reason, we would write into the script G*lobalGhannel: **0***

1. After you have found out all necessary information, **delete all mappings** and press again on the *MIDI button* to **leave** the MIDI Map Mode.

**Save** the script and **reopen** Ableton. Choose in the **preferences** your script as Control Surface and your MIDI controller as input and output. Do not forget to activate the MIDI port for Track and Remote.

Ready!

![](https://www.swub.de/wp-content/uploads/2021/08/KeySwitch-and-Expression-Map_Manual-and-User-Guide_Control-Surface-Script_User-Remote-Scripts_Ableton-Preferences_Link-MIDI_Korg-nanoKONTROL2_Example.png)
