Saturday, April 8, 2023

Steam Deck Bluetooth Keyboard Pairing

The Steam Deck is a pretty amazing piece of hardware and as it runs Arch Linux under the hood, it opens up a whole lot of possibilities.

One issue I had was pairing a spare fold-able Bluetooth keyboard/trackpad I had bought for my iPad. No matter what I tried, I just could not get it to pair in the gaming mode on the Steam Deck. As I'm fairly decent with Linux, I decided to see what I could do in desktop mode.

We need a command line prompt on the Steam Deck. I have ssh with pubkeys enabled on my Steam Deck, so I can get to a command line from my laptop. If folks are interested, I'll write an article on this in the future. 

If you have no other method set up, hold the power button down on your Steam Deck and select Switch to Desktop, click on the menu icon in the bottom left corner using the track pad, go to System, click on Konsole.

Type 'bluetoothctl' (without quotes) and hit enter (you can bring up the on-screen keyboard on the Steam Deck by pressing the STEAM button and hitting 'X')

Were going to enter the below commands. Some of them may be unnecessary depending upon what state your Bluetooth is in, but by doing all of them we'll ensure better success. From the list below, type in each command in order and hit enter after. They are case sensitive, so pay attention to capitalization.

  1. power on
  2. agent KeyboardOnly
  3. default-agent
  4. pairable on
  5. scan on

Place your Bluetooth keyboard into pairing mode. And start looking at the output for your keyboard. The line will most likely start with [NEW]. In my case, the line I was looking for was:

[NEW] Device 50:E6:66:A3:F6:C6 Bluetooth 3.0 Keyboard

The part we want to copy down (or to clipboard) is the device id:

50:E6:66:A3:F6:C6

The next command you'll type is (replacing the device id with your own):

  1. pair 50:E6:66:A3:F6:C6

You should see output like below:

Attempting to pair with 50:E6:66:A3:F6:C6
[CHG] Device 50:E6:66:A3:F6:C6 Connected: yes
[agent] PIN code: 12345

Take note of the last line with the pin code. Type that pin code on your Bluetooth keyboard and hit enter. You should see a few lines as output, but the one you're looking for is:

Pairing Successful

Now we want to make it a trusted device so it will connect automatically in the future, remember to replace the device id with your own.

  1. trust 50:E6:66:A3:F6:C6

You should see something like:

[CHG] Device 50:E6:66:A3:F6:C6 Trusted: yes
Changing 50:E6:66:A3:F6:C6 trust succeeded

Now type:

  1. quit

In my case, I needed to turn off the Bluetooth keyboard and turn it back on and then everything worked as expected. To verify, in Gaming Mode on the Steam Deck, you can hit the STEAM button, go to Settings, go to Bluetooth and under the Paired heading, you should see your Bluetooth keyboard.

Happy keyboarding.