SoflePLUS2
User Manual & Troubleshooting
Getting Started
Cable & Connection
📦 What’s Included:
✅ 1x USB-C to USB-C cable for connecting between the left and right halves of your split keyboard.
❌ Not Included:
🚫 USB-C to USB-A/C cable for PC connection (you’ll need to use your own cable to connect the keyboard to your computer).


Refer to Type C-Cable between Split & USB-C Cable
Switch Installation
✅ Best Practice for Installing Switches
Remove the top 5 screws from the switch plate.
Lift the switch plate up from the PCB.
Insert switches into the switch plate only (not the PCB yet).
Fill all switches along the edges, not just the corners.
Make sure switches sit flat and properly aligned.
Once all edge switches are installed, place the plate onto the PCB.
Place your finger under the socket area while pressing from above.
After all switches are seated, reinstall the screws.
⚠️ Why This Matters
Pushing switches in too forcefully may cause the hotswap socket to come loose, especially low
If the socket is dislodged but the pad is intact, it can usually be re-soldered.
If the pad drops off, the damage is harder to repair, though still possible.
To avoid this: Always pre-fill edge switches into the plate, then press in while supporting the socket area from below.
🚫 Disclaimer
We are not responsible for any damage caused by improper installation, including:
Dropped pads
Dislodged sockets
Switches not registering due to forceful insertion
Please handle with care. Reach out if you’re unsure.
Software and Firmware


To begin remapping your keyboard, download the Vial software or use the Vial web interface. You can access it at https://get.vial.today/. Read more on Software Key Remapping.
Vial on MacOS
This is useful if you want to use the keyboard across different operating systems, especially Windows and macOS.
Open System Settings
Go to Keyboard
Click Modifier Keys
Swap Control and Command etc.
Click Done
Now on Windows, if you register LCTL(KC_B)
, it will send Control + B. But on macOS, it will send Command + B instead.
Firmware



Latest Firmware & Flashing
This update is in beta and requires testing. Refer Flashing if you are not familiar with update firmware. If there are any issues, please report them to xcmkbtech@gmail.com.
Batch after mid-dec 2024 goes to latest update.
Batch before mid-dec 2024 stick to v2.06 - Drag & refine Vbus 🆕, we will release firmware update for you soon.
v4.02 Beta
Bugs Fixed
Trackpad Quick Swipe
Fixed an issue where short, fast swipes caused the cursor to “bounce back” instead of moving smoothly.
Scrolling
In v4.01, 2-finger scrolling was unreliable and conflicted with 1-finger scrolling.
Why? Azoteq handles 2-finger scrolling in hardware, but 1-finger scrolling uses our firmware logic.
We’ve optimised both so that 2-finger scrolling now works perfectly.
Scroll speed between 1 and 2 fingers may still feel slightly different.
Trackpad Size Compatibility
Large and small trackpads now have their own resolution logic for accurate tracking.
Previously, both used the same scaling, causing mismatches.
Improvements
RGB Layer Indicator
Layer 2’s colour is now Yellow (swapped with Layer 8) for better visibility against Layer 3.
New Features
Trackpad Toggle (TPTOG)
New Vial key to turn the trackpad on or off.
Helpful for gaming or when you don’t want accidental touches.
OLED will display “No Trackpad” when disabled.
Sniping Mode
A low-DPI mode for precise cursor control (e.g., graphic work or detailed editing).
Keeps your normal high-DPI speed for regular movement.
How it works:
Set your own modifier key combo with SNPLR (e.g.,
LCTRL
orLALT+RSHIFT
).Hold that combo to activate Sniping Mode.
Check your saved modifier anytime with SNPSH (OLED display).
Extra controls:
SNPMO – Hold to snipe
SNPTG – Toggle sniping on/off
Pinch-to-Zoom
Zoom in/out directly on the trackpad with a pinch gesture.
OS Detection
Automatically adjusts gesture behaviour for Windows or macOS (More Info).
Examples:
Alt+Tab now works on macOS.
2-finger swipe: Works on both OSes.
3-finger swipe:
Mac: Open Action Center, switch desktops.
Windows: Show all windows, minimise all, show desktop, switch virtual desktops.
Tested on: MacBook Air M3 (macOS) & Windows 11 Note: This is a beta version — features are stable in testing but may have bugs over long-term use. Please report any issues.
Downloads:
Batch before December 2024 with unremappable spinning disk pending for action.
Release Date: 2025.08.10
v4.01 Beta
Bug Fixes
Layer 1 Key Mapping Issue: Fixed 4 keys that were unremappable and stuck on Media Next, Lshift(), Lalt(), and Lgui() functions. Thanks Bnj.
DPI Stability: Resolved unstable DPI changes from v4.00 by implementing new DPI scaling approach. Also applied to scale levels.
Reset Functions: DPI reset and scroll reset now activate automatically upon flashing - no manual button press required.
Downloads
Starter/Standard (RGB per key lighting only): Small Trackpad, Large Trackpad
Signature (RGB underglow & per key lighting): Small Trackpad, Large Trackpad, Rotated Large Trackpad
Note: If you encounter any issues, please revert so we can fix the firmware.
Release Date: 2025.07.28
v4.00 🆕
Update to latest vial-qmk v0.7.4. Vial 0.7.4 adds a batch of sweet QMK features plus some more cool stuff. Much thanks to xyzz for making it happens!!
What's new
Repeat Key and a configurable Alt Repeat (Vial documentation)
Caps Word (under the Quantum keycodes tab)
Layer Lock (Quantum keycodes tab)
PDF(layer), a persistent variant of
DF(layer)
(Layers keycodes tab)Clear EEPROM and Reboot (
QK_REBOOT
, resets the keyboard without going to bootloader) (Quantum tab)Chordal Hold (QMK Settings tab)
Flow Tap (QMK Settings tab)
Dvorak keyboard layout
New theme:
Catppuccin Latte
Catppuccin Frappé
Catppuccin Macchiato
Catppuccin Mocha
Downloads
Starter/Standard (RGB per key lighting only): small trackpad, large trackpad
Signature (RGB underglow & per key lighting): small trackpad, large trackpad.
Update - July 12, 2025: RGB underglow has been removed from the Signature model. We have standardized the firmware across all three models.
Release Date: 2025.07.15
v3.101
Minor adjustments
Spinning disk middle click: fix some holding behavior not working properly. Layers MO() and LT(), Mouse can hold now.
Signature version fix RGB reactive series.
Downloads
Starter/Standard (RGB per key lighting only): small trackpad, large trackpad
Signature (RGB underglow & per key lighting): small trackpad, large trackpad, no trackpad
Release Date: 2025.07.07
v3.10 Mac Beta 🆕
This firmware supports Windows, macOS, and Linux. While labeled as "Mac Beta," this only refers to certain new Mac-specific gestures being in testing phase. The core functionality works reliably across all platforms. Windows and Linux users can safely install this version without any compatibility issues or need to downgrade to an earlier firmware version.
This firmware update has only been tested on Mac computers and the new gesture features won't work on Windows or other devices, eg. 2 and 3 fingers swipes. This is a beta (test) version, so if you experience any problems or the features don't work as expected, you can easily switch back to the previous version. Please report any issues you encounter and share your feedback with us - your input helps us improve the firmware for everyone.
We are preparing to release updates for Windows computers and older batches (before mid-December 2024). The logic for Windows is different, and we plan to add a new function to switch between macOS and Windows. We need some time to explore and test this feature. Any updates will be posted on our Instagram.
Trackpad Gesture with Layer-Specific Assignments
Breaking change 2 for SoflePLUS2. Unlike Macbook's centered trackpad, our trackpad is positioned for quick reach on your split layout. After extensive testing, we found 2-3 finger gestures werent practical for this form factor. So we focused on powerful single-finger control with layer-specific assignments.
Default gesture on Layer 0 as cursor movement, you still can scroll with two fingers, hold, 2 fingers tap as right click as usual.
Layer 1 as Scroll Mode. You can scroll with single finger on Layer 1.
Layer 2 as 2 Fingers Swipe. You can go backward and forward on Safari and Finder on Layer 2.
Layer 3 as 3 Fingers Swipe. You can call out action center and swipe desktop on Layer 3.
Other layer remains Default gesture. But you can assign them differently yourself. Go to specific layer, and press the custom keycode to assign different gestures. LASCR - assign layer as scroll; LASW2 - assign layer as 2 fingers swipe; LASW3 - assign layer as 3 fingers swipe; LA0 - assign layer as default trackpad gesture.
DPI Adjustment and Scroll Speed
We've simplified the DPI (cursor sensitivity) settings from 9 levels down to just 4 levels, since higher settings made the cursor too jumpy and difficult to control. For smooth cursor movement, avoid making quick, short gestures when you need to move across long distances - use slow, deliberate movements instead. We recommend using DPI level 2 for large trackpads and DPI level 1 for smaller trackpads. We've also added scroll speed adjustment, but this currently only works for Layer scroll speed - regular two-finger scrolling will remain at the default speed set by the system.
New OLED Design
Add gesture graphic graphic and text indicator
Add scroll speed text indicator
Enlarge the layer digit from text to graphic so it is easier to read

Spinning Disk Click
Fix bugs on unable to perform layer switching.
Other minor changes:
Capsword enabled. Go to Any key and type in this code
0x7c73
represents CW_TOGG, to toggle Capsword feature on and off.Tri-layers enabled.
Leader Key enabled.
Macro limits increase from 15 to 32.
Known Issue:
Some lighting effects might not display correctly. We will fix this soon.
Downloads
Starter/Standard (per-key lighting only): small trackpad, large trackpad
Signature (RGB underglow + per-key): small trackpad, large trackpad
Release date 2025.06.29
v3.03 Click

Improved rotary-encoder middle-click; assign functions across 10 Vial layers
Other improvements: Fix vial rotation arrow, minor changes to default keyboard layout, DPI revert to DPI1 doesnt require DPI_RESET.
Signature (RGB underglow + per-key): v3.03 Signature, TPS65, TPS65R
Release date 2025.05.16.
Special request: Ando (v3.03 standard: add macros to 34, enabled Leader, Capsword and Trilayers), released date: 2025.06.01
v3.02 - Beta firmware reset fixes
Adjusted values for
wear_leveling_logical_size
,backing_size
, anddynamic_keymap_eeprom
to support 16MB flash.If you experience firmware resets, try lowering RGB brightness to a maximum of 80% and save the setting in Vial.
For Starter or Standard (without RGB underglow, with per key only), download v3.02 Beta, TPS65.
For Signature (with RGB underglow and per key), download this v3.02 Signature Beta, TPS65.
Update on 2025.03.05. Let us know if issues persist.
v3.01 (pcb after mid-dec 2024), v2.06 (pcb before mid-dec 2024). Refer Flashing if you are not familiar with update firmware.
v3.01 - Drag & refine Vbus
This is for pcb released after mid-dec 2024
Disable un-used azoteq gestures since they are not working, and interfered the usage (zoom, swipe x, swipe y)
Remove SPLIT_WATCHDOG_ENABLE and replace with #define USB_VBUS_PIN GP19
For Starter or Standard (without RGB underglow, with per key only), download this v3.01, with large trackpad v3.01 Tps 65
For Signature (with RGB underglow and per key), download this v3.01 Signature, with large trackpad v3.01 Signature Tps65
Update on 2025-1-25
v3.00 beta
This project is currently in beta.
For new pcb released in mid-dec 2024: spinning disk in v0.9, left PCB v2.09.
Remove
#define SPLIT_WATCHDOG_ENABLE
andusb detect
and replace with#define SPLIT_WATCHDOG_ENABLE
for re-plug issueCenter click (GP12) of spinning disk remains as left click, the rest remappable in Vial, new Col6 introduced with massive change on the code.
For Signature or with RGB underglow and Per key, please download this v3.00 Signature.
Update on 2024-12-13
v2.06 - Drag & refine Vbus 🆕
This is for pcb released before mid-dec 2024 and with type-c connection.
Disable un-used azoteq gestures since they are not working, and interfered the usage (zoom, swipe x, swipe y)
Remove SPLIT_WATCHDOG_ENABLE and replace with #define USB_VBUS_PIN GP19
For Starter or Standard (without RGB underglow, with per key only), download this v2.06. Large trackpad v2.06 Tps65, Tps65r.
For Signature (with RGB underglow and per key), download this v2.06 Signature. Large trackpad v2.06 Signature Tps65, Tps65r.
Update on 2025-1-25
v2.05a - Master oled flickering on mac
The master OLED flickers when the keyboard goes to sleep on macOS. Otherwise, everything works fine, including returning to normal upon wake.
For Starter or Standard without RGB underglow, please download this v2.05a
For Signature or with RGB underglow and Per key, please download this v2.05ua
Update on 2024-12-6
v2.05 - RGB matrix fix
Realise some lighting effects dont appear properly especially on heatmap etc. Issue fixed.
Fix default layer indicator for Layer 2, changes from yellow to the more appealing cyan.
Add last row of thumb keys and rgb underglow as layer and capslock indicator
For Starter or Standard without RGB underglow, please download this v2.05
For Signature or with RGB underglow and Per key, please download this v2.05u, source code. Kindly setup using vial environment.
Udate on 2024-11-27
Hardware Modifications
3D Case
Trackpad Mount
Tps43. m2*4 screw x3, m2*5 standsoff x3, double-sided tape.
Tps65. Installation refers to Large Trackpad.
This is for batch that ships after 14.07.2025.🆕
MX version
MX TPS43 (v20250719)
LP version
LP TPS43 Small Trackpad.stl (v20250714) support both 43 and 65. Type-C blocker (left) and Type-C blocke(right) adhere to main case with super glue. Super low port version. Order that ships after 2025.07.14
This is for batch after 12.12.2024.
MX version
MX (v20250309)
LP version
A batch with the port on left slightly downwards
Batch before 12.12.2024.
2D Drawing
Stacked Acrylic Case
Kindly note that the thickness of acrylic layers may vary depending on batches or suppliers. This version has a 2.5mm design (actual thickness: 2.4mm).

Bottom silver screw m2*4
Inner standsoff m2*7, outer m2*13, oled cover m2*15, disk and trackpad holder m2*13
Top screw inner m2*4, outer m2*5
Large Trackpad
The SoflePlus2 supports both small (TPS43) and large (TPS65) trackpads. While we primarily supply the smaller TPS43 due to its compact and less protrusive design, you can opt for the larger TPS65 trackpad if preferred. Below are the details on how to request or retrofit the TPS65 trackpad.
Why TPS43 is Our Default
Compact size, reducing bulkiness.
More stable and secured.
If you wish to purchase TPS65, it’s available from Mouser, Digikey, or Keycapsss (Germany).
TPS65 Kit
The TPS65 kit includes:
TPS65 3D Mount with 0.5mm double-sided tape
1x Ribbon Cable (6-pin, 5-6cm, forward direction)
Case compatibility: Fits both TPS65 and TPS43 (LP version remains the same; MX version includes a right-side cutout)
Note: The overlay must be purchased separately.
Retrofitting TPS65 to Your Existing Build
If you’ve already purchased SoflePlus2 and want to switch to the TPS65 later, you’ll need:

TPS65 3D Mount (compatible with low-profile builds).
6-Pin FFC/FPC Ribbon Cable (0.5mm pitch, 5-6 cm length, forward direction).
0.5mm Double-Sided Tape (to attach the trackpad to the mount).
Polypropylene Overlay (to cover the trackpad).
💡 Compatibility Tip: For low-profile builds, your existing case is compatible with both TPS43 and TPS65 trackpads. No new case is needed.
💡 Firmware Changes for TPS65: If you’re retrofitting, you’ll need to download or update the firmware to accommodate the TPS65 trackpad.
December 2024 Users: Download the updated firmware directly from the Software and Firmware section.
Other Users: Modify the code and recompile the firmware.
Installation Guide
Prepare the Ribbon Cable:
Gently pull down the clip of the header. Insert the ribbon cable with the blue sticker facing you. Push back the clip to secure it. Attach the Ribbon Cable to the PCB:
Slot the ribbon cable through pcb with the trackpad from the top. Pull up the clip of the header on the PCB gently. Insert the other side of the ribbon cable, ensuring the blue sticker faces you. Push the clip back to secure the cable to the PCB. Mount the Trackpad:
Push the excess ribbon cable towards the front. Remove the seal from the double-sided tape on the 3D mount. Position the trackpad on the mount, ensuring the orientation matches the reference photo. Incorrect orientation may invert the trackpad direction. Apply the Overlay:
Remove the seal and place the overlay carefully on top of the trackpad.
Troubleshooting and Tips
Ensure all connections are secure.
If the trackpad does not respond, verify the ribbon cable orientation.
After flashing new firmware, press
DPI0
to enable the trackpad.
Common Issues and Fixes
Keyboard Not Responding - Same Animation on Both Sides
If the OLED screens on both sides display the same rocket animation and the keyboard is unresponsive:
Ensure the port supports data transmission: Some charging-only ports may not work for data, causing the keyboard to be unresponsive.
Verify that the Type-C cable supports data transfer: Make sure the Type-C cable you're using is capable of both data transfer and power delivery.
Trackpad Not Responsive
If the trackpad is unresponsive, which typically occurs after flashing new firmware:
Remap and press the
DPI0
key to activate the trackpad. You can find this key under the User tab in Vial.
Last updated