The fully open-sourced P9981 BLE&USB Keyboard is the smallest ZMK-powered keyboard mouse combo and features n-Key rollover that other original blackberry keyboards don't have!
![]() |
![]() |
- About this keyboard
- Before you buy/use
- Where to buy
- How to use this keyboard and keymap
- How to connect this keyboard with your device
- Multi device connect
- Trackpad
- USB&BLE Output select
- Keymap updating
- Tipps for Android and iPhone users
- Advanced methods of using this keyboard
- Troubleshoot
- Dimension and weight
- Inspiration
About this keyboard ๐ผ
This mini Keyboard uses the cloned P9981 keycap with Blackberry 9380 trackpad and powered by the NRF52840 Microcontroller and operates under ZMK Firmware with extra custom driver.
| Main Features | |
|---|---|
| Processor | NRF52840 from Nordic Semiconductor |
| Firmware | ZMK firmware |
| Backlight | Keyboard with white backlight |
| Battery type | Integrated li-on battery |
| Battery capacity | 750mah with up to 3 months battery life(assume 1 hour per day) |
| Mouse and scroll wheel 2 in 1 | When Capslock, the trackpad works as scroll wheel |
| USB&BLE Output | Support both wired and wireless connect |
| Shoulder keys | There are two shoulder keys on top |
| Small size | The smallest wireless keyboard mouse combo in the world |
| Aluminium body | The top case is made of aluminium, lower case 3d printed |
| Multidevice connect | The keyboard can be paired with up to 4 devices at the same time |
| Open source | Hardware and software all open sourced |
| NKRO | There are integrated diodes on the keyboard, all the keys can be pressed at the same time(Other original Blackberry keyboards don't have this feature) |
Before you buy/use ๐ผ
Bluetooth version check: This keyboard can only be paired wirelessly with devices that have BLE 4.2 module or higher, please check if your device have the right Bluetooth module, otherwise the keyboard can not work with your device wirelessly!
How to check the Bluetooth version of your device: google (your device name) like iphone 8 and plus Bluetooth version and you will find the answer like this:

Where to buy ๐ผ
- If you are outside China: You can buy the keyboard at Elecrow
- If you are in China: ๅจ้ฒ้ฑผๆ็ดข็จๆทๅพกๅ200016ๅท
How to use this keyboard ๐ผ
- By default the keyboard has 4 Layers, when you just turn on the keyboard, the keyboard is at layer0-the QWERTY layer.
- When you tap or hold the
SYMkey, the keyboard will enter layer1, and the keyboard backlight will start blinking, you can type numbers or symbols at this layer. - When you tap or hold the
aAkey at the lower right corner, the keyboard will enter layer2 and the keyboard backlight will do a loop effect, you can type some symbols and do some Bluetooth behaviors at this layer. - The layer 3 basically has no keycode, this layer is reserved for the customer, and the keyboard backlight will blink the twice speed as the layer 1 when you are at layer 3.
Now let's check the keymap.
Keymap ๐ผ
Layer0-QWERTY
Note
- What means sticky ctrl? If you want to copy something, you can tap Ctrl and then tap C, the keyboard will triger Ctrl+C, you can do that with one hand.
- What means sticky layer? A sticky layer stays pressed until another key is pressed. Example: when you short type sym key, the keyboard will enter sticky layer1 after you type the "B" key, the keyboard will type "!" and return to layer0, it's easier to type with one hand.
- What means lock layer? The "lock layer" behavior enables a layer while a certain key is pressed. Example: when you want to type many numbers you can hold the sym key and tap "WER" and the keyboard will type "123", when you release the sym key, the keyboard will return to layer 0.
- What means to layer? By default when you double tap the dollar key, the keyboard will go to layer 1, then you can type numbers without pressing the sym key, you need to manually return to layer0 by tap the sym key at layer1.
Layer1-Numbers and symbols
Layer2-Functional keys
Note
- What does Eject key do? When you press E at layer 2, the keyboard will type Eject, Eject can
bring upordisablekeyboard on screen on iphone, this key is important because on iphone by default the keyboard on screen is disable when iphone is connected withe external keyboard. - Double tap the trackpad on this layer which trigger the
Clear bluetooth pairingis very important to pair with another device more info please check the content How to connect this keyboard with your device - This Layer contains many important keycode about Bluetooth connect and Multiconnect, more info please check
Layer3-Reserved layer for extra keys
Note
- You enter Layer 3 by double tap dollar key at layer 1, you can customize how to enter this layer yourself by editting the keymap.
- You can set some key at this layer as Media key like
next songorpausewhich I think should be useful.
How to connect this keyboard with your device ๐ผ
- Turn on the Bluetooth on your phone
- Find the device
bbp9981and pair with it then you should type with the keyboard - There are some settings for IOS users, please check this.
Caution
After you delete the bluetooth profile and if you want to pair with the keyboard with another device when you have already paired with some device before, make sure to enter layer 2 and double tap the trackpad to clear the bluetooth profile on the keyboard side. Otherwise there will be error when you want to pair with another device!!! Please use the following steps to delete the bluetooth pairing
- First delete the bluetooth profile(somewhere it's called forget the device or unpair the device) on your device
- Enter layer 2 and doubletap the trackpad(You can tap the lower right aA key to trigger sticky layer 2 or hold the aA key to enter layer2)
- Refresh the Bluetooth setting page on your device(You can turn on and off the bluetooth) and then you can pair with the keyboard again
Multi device connect ๐ผ
By default the keyboard can be paired with 4 devices at the same time and can be switched between them seamlessly. Here are the steps how to connect with devices:
- Assume you have already connected this keyboard with one device
- Now enter layer 2 and press the second bigger top row key
- Once pairing is done, you can switch between the devices the same way.
Caution
- The BT_CLEAR keycoode โ which is triggered by double-tapping the trackpad on Layer 2 โ is calculated independently for each device. This means that when you trigger BT_CLEAR while connected to the second device, it wonโt affect any of the other devices.
Trackpad ๐ผ
- There is a trackpad which can be used as mouse, iPhone users need to enable the AssistiveTouch function to use the trackpad as mouse.
- Trackpad led: When you put your finger on the trackpad, the trackpad led will light up and the brightness will show the speed of the mouse speed(the higher the dpi, the more brighter the led) When the keyboard is waiting to be paired or the output is USB, the trackpad led will start blinking.
- How to adjust the mouse speed: Enter layer 2 and press V to decrease the dpi, or press N to increase the dpi. The dpi can be shown by the brightness of the trackpad led.
- Scroll function: When Caps Lock is activated, the trackpad led enters a cyclic lighting mode, and the trackpad works as a scroll wheel.
USB&BLE Output select ๐ผ
The keyboard supports both USB and BLE output, by default the output is BLE. Assume the keyboard is both connected with a PC and paired with a phone, you can toggle the output by double-tapping the dollar key at layer2, if the output is USB the trackpad led will start blinking every second.
Realtime Keymap Updating ๐ผ
ZMK Studio provides runtime update functionality to ZMK powered devices, allowing users to change their keymap layers without flashing new firmware to their keyboards.
You can use ZMK Studio with Chrome/Edge at https://zmk.studio/.
Before you use ZMK Studio, you need to turn off the bluetooth from your phone that the keyboard is paired with, then you can select the port shown on the ZMK Studio page and then start the keymap updating.
The picture below shows you how it looks like when the keyboard connects with ZMK Studio successfully.
Note
Currently The ZMK Studio is still beta version, there are some functions that can not be configured e.g. macro,
there is another advanced way to update the keymap, please check the content below
Advanced Keymap Updating ๐ผ
Since the ZMK Studio is still in beta stage, Thereโs also a more straightforward method to edit the keymap.
Please refer to this page
How to update the firmware ๐ผ
Because this keyboard is powered by open sourced ZMK firmware, which allows you to modify different features yourself, and thus you might need to update the firmware yourself. The following are steps to update the firmware.
- Connect the keyboard with a computer
- Make the keyboard into bootloader mode(By default you need to enter layer2 and press the dollar key)
- A new USB Disk will be found by you computer
- Drag the new .uf2 firmware file into the USB Disk and the keyboard is finished with updating
Emergency way to enter bootloader ๐ผ
There is a hole at the bottom of the keyboard, and inside that's the reset button. After connect the keyboard with a computer, you can quickly tap the reset button using a small pin to force the keyboard into bootloader mode
Some tipps for using this keyboard ๐ผ
iPhone or IOS users ๐ผ
If you need to use trackpad as mouse or scroll wheel function on iphone or ipad, there are some settings that you need to do:
- Go to Settings-> Accessibility-> Touch-> AssistiveTouch -> enable AssistiveTouch and you can use touchpad as mouse on iphone or ipad
- Go to Settings-> General-> Keyboard-> Hardware Keyboard-> disable Cpas Lock Language Switch and you can use the trackpad as scroll wheel when capslock is on.
And you can disable the always show menu to remove the grey dot when your phone is connected with keyboard
Android users ๐ผ
I noticed that about ten seconds after the keyboard is paired with an Android phone for the first time, it will reconnect once. During this brief period, you wonโt be able to type or move the mouse. This is normal, so donโt worry.
Shortcuts: There are some useful shortcuts on android phones:
- Hold gui key and press N to check messages.
- Hold gui key and press enter to go to desktop.
- Hold alt and press tab to enter multiapp control.
What's the gui key?
Advanced methods of using this keyboard ๐ผ
Build your own firmware ๐ผ
First you need to build the toolchain of ZMK firmware, it's recommended to build it under Github Codespaces. Here are the steps for you to build the toolchain via Codespaces:
0. Register a Github account if you don't have one
- Access the zmk firmware github page
- Create a codespace by clicking this icon:
- When the codespace is finished setting up, type
cd zmkin the terminal of the codespace - type
west init -l app/in the terminal - type
west updateand wait about 5-10 minutes and the toolchain is finished setting up - copy and paste the
bbp9981folder into theapp/boards/armfolder - compile the firmware by using
cd appandwest build -p -b bbp9981and zmk will start compiling the firmware - the compiled firmware is
app/build/zephyr/zmk.uf2. You can download and update the firmware
Troubleshoot ๐ผ
- Why did the keyboard feel bad to type on when I first receive it?
Because the keycap is made of silicone, when the keyboard is transported by air, the low temperature can make the silicone stiffen slightly. So when you first receive the keyboard, it may feel bad to type with. Once it warms up to room temperature, the typing feel will improve. The same thing also happens with other BlackBerry keyboards.
- Why is my trackpad not moving?
The trackpad can be manually turned on/off. You may have accidentally pressed โTโ on Layer 2 and disabled it. In this case, enter Layer 2 again and press โTโ once more to re-enable the touchpad.
There is another possibility: the trackpad itself might be defect. Here is a quick way to verify it:
First, place your finger on the touchpad and move. See whether the trackpad backlight lights up. If not, enter Layer 2 and press โTโ. Then place your finger on the trackpad again and move. If the trackpad backlight still does not light up, the touchpad is likely defective. In this case, please contact Elecrow.
- Why can't my keyboard be paired with my device?
Itโs possible that after the previous pairing, the keyboard didnโt clear its pairing information. You need to switch to Layer 2 and double-tap the touchpad to erase the keyboardโs pairing data, and then you can start a new pairing.
Caution
After deleting the pairing on your phone or on the keyboard, itโs important to refresh the Bluetooth page on your device. The easiest way is to just restart Bluetooth module.
If in this way your device still can't pair with the keyboard, please follow the steps below:
Press and hold the aA key at the bottom-right corner, then press the first top-row key, and double-tap the touchpad.
Next, without releasing the aA key, press the second top-row key, and double-tap the touchpad again. Repeat this process for all four top-row keys to clear pairing information for all 4 bluetooth channels.
After that, pair your device with the keyboard again.
- Why is my keyboard not having backlight?
Enter layer 2 and press โBโ so you can bring the backlight back again
Others ๐ผ
Dimensions of the keyboard ๐ผ
The picture below shows the outerline dimension of the keyboard

Weight ๐ผ
The total weight of the keyboard is 53.3 g
Inspiration ๐ผ
This page shows what the keyboard can do besides functioning as a standalone Bluetooth keyboard.










