qmk_sweep_skeletyl/keyboards/handwired/ms_sculpt_mobile
James Young fced377ac0
2020 May 30 Breaking Changes Update ()
* Branch point for 2020 May 30 Breaking Change

* Migrate `ACTION_LAYER_TOGGLE` to `TG()` ()

* Migrate `ACTION_MODS_ONESHOT` to `OSM()` ()

* Migrate `ACTION_DEFAULT_LAYER_SET` to `DF()` ()

* Migrate `ACTION_LAYER_MODS` to `LM()` ()

* Migrate `ACTION_MODS_TAP_KEY` to `MT()` ()

* Convert V-USB usbdrv to a submodule ()

* Unify Tap Hold functions and documentation ()

* Changing board names to prevent confusion ()

* Move the Keyboardio Model01 to a keyboardio/ subdir ()

* Move spaceman keyboards ()

* Migrate miscellaneous `fn_actions` entries ()

* Migrate `ACTION_MODS_KEY` to chained mod keycodes ()

* Organizing my keyboards (plaid, tartan, ergoinu) ()

* Refactor Lily58 to use split_common ()

* Refactor zinc to use split_common ()

* Add a message if bin/qmk doesn't work ()

* Fix conflicting types for 'tfp_printf' ()

* Fixed RGB_DISABLE_AFTER_TIMEOUT to be seconds based & small internals cleanup ()

* Refactor and updates to TKC1800 code ()

* Switch to qmk forks for everything ()

* audio refactor: replace deprecated PLAY_NOTE_ARRAY ()

* Audio enable corrections (2/3) ()

* Split HHKB to ANSI and JP layouts and Add VIA support for each ()

* Audio enable corrections (Part 4) ()

* Fix typo from PR7114 ()

* Augment future branch Changelogs ()

* Revert "Branch point for 2020 May 30 Breaking Change"
2020-05-30 13:14:59 -07:00
..
keymaps 2020 May 30 Breaking Changes Update () 2020-05-30 13:14:59 -07:00
babblePaste.c handwired/MS_sculpt_mobile Refactor, Configurator and cleanup () 2018-12-07 16:48:03 -08:00
babblePaste.h handwired/MS_sculpt_mobile Refactor, Configurator and cleanup () 2018-12-07 16:48:03 -08:00
babblePaste.txt handwired/MS_sculpt_mobile Refactor, Configurator and cleanup () 2018-12-07 16:48:03 -08:00
config.h Replace DEBOUNCING_DELAY (deprecated) with DEBOUNCE () 2019-06-06 12:09:56 -07:00
info.json handwired/MS_sculpt_mobile Refactor, Configurator and cleanup () 2018-12-07 16:48:03 -08:00
ms_sculpt_mobile.c handwired/MS_sculpt_mobile Refactor, Configurator and cleanup () 2018-12-07 16:48:03 -08:00
ms_sculpt_mobile.h handwired/MS_sculpt_mobile Refactor, Configurator and cleanup () 2018-12-07 16:48:03 -08:00
readme.md handwired/MS_sculpt_mobile Refactor, Configurator and cleanup () 2018-12-07 16:48:03 -08:00
rules.mk Cleanup rules.mk for USB64 and USB128 keyboards () 2019-09-19 09:55:03 -07:00

Microsoft Sculpt Mobile

This is a way to take a Microsoft ergonomic bluetooth keyboard, and make it into a hard-wired keyboard running QMK.

The keyboard is known under several different names: Mobile Bluetooth 5000, Mobile 6000, Sculpt mobile, and Asus rebranded.

I had a stack of them, since they're cheap on ebay, travel well, and are just ergo enough.

The ribbon cable is 1mm pitch, which is hard to hand solder. I bought a cheap set of "pitch adapter" boards https://www.amazon.com/Double-Sided-0-4mm-1-0-Adapter-60mmx38mm/dp/B00OK42118

Cut the original ribbon cable sockets off the bluetooth board using a razor, they're hard to desolder. They're also allow the cable to be inserted on top or bottom.

If I was going to do it again, I'd make the MCU connection come out the top of the keyboard and avoid the wires dangling out the bottom.

As I was debugging the matrix, I started to get random failures. In desparation I tried a second MCU, but had the same problems. It turns out that the ribbon cable connections can get worn. Shave a half millimeter off the end of the ribbon cable & the errors go away.

My method for discovering the matrix was to set up a LAYOUT macro that included all pins. See MATRIX_TESTING_LAYOUT if you need it. Then set up a keymap that has all printable symbols in the first 4 rows. test each key & record output. Then switch the printable symbols to the bottom 4 rows & repeat. This was enough to show the matrix.

The full original keymap for the Sculpt is

A B C D E F G H I J K L M N O P Q R
0 b n m , . / Caps Fn
1 g h " Vol+ Mute RCtl Vol- PgDn LCtl
2 7 8 9 0 Del PgUp RShift LShift
3 p [ ] \ RAlt LAlt
4 y u i o LGUI
5 ~ - += j k l ; 5 6 Bksp 1 2 3 4 F4 F5 F6
6 a s d q w e Up Left Down Right Space F1 F2 F3 Tab
7 F7 F8 F9 F10 F11 F12 f r t z x c v Enter Esc

This works with 18 cols + 8 rows on a Teensy++, or ARM-based Teensy.

The Astar mini has all pins exposed , so you can do 18x8 If you want a speaker, LEDs, etc., you'll need to free up a pin. I recommend joining columns R and L to the same pin.

Building - add ASTAR=1 to the compile line or leave out for teensy2++

Make example for this keyboard (after setting up your build environment):

make handwired/ms_sculpt_mobile:default

See the build environment setup and the make instructions for more information. Brand new to QMK? Start with our Complete Newbs Guide.