# Customizing Belkin n52te Keyboard



## retrohacker (Aug 30, 2021)

Potentially strange question, but I'm trying to customize a _secondary_ keyboard on a FreeBSD machine.

I have a standard keyboard, that I'd like to have behave as a "normal" keyboard. Then I have this bizarre hand-shaped keyboard, the Belkin n52te, that I'd like to use for controlling Open Broadcast Studio.

It looks like I should be doing this mapping via kbdcontrol() and kbdmap(). The Belkin keyboard is recognized by FreeBSD, and I can press keys and they'll show up as characters in the console. But I'm unsure how to tell `kbdcontrol` to target a specific keyboard.

When I connect the keyboard it shows up as:


```
# usbconfig -d ugen0.4
<Belkin Belkin n52te> at usbus0, cfg=0, md=HOST, spd=HIGH (480Mbps) pwr=SAVE (100mA)
```

And the device /dev/kbd2 appears.

But kbdcontrol fails when I try to use /dev/kbd2 as the device:


```
# kbdcontrol -k /dev/kbd2 -d > keymap
kbdcontrol: cannot open /dev/kbd2: Device busy
```

It does gladly populate the keymap file, but the error leads me to believe those are the keymaps for the "standard" keyboard, not the Belkin.

Has anyone used kbdcontrol for multiple keyboards? Any advice?


----------

