4b453dca92
* remove keyboard-level instances of `MIDI_ENABLE = no` Command: ``` find keyboards/ -type f -name 'rules.mk' -and -not -path '*/keymaps/*' -exec sed -i -e '/^[ #]*MIDI_ENABLE[ \t]*=[ \t]*no/d' {} + ``` Co-Authored-By: Nick Brassel <nick@tzarc.org> * fix case-sensitivity issues on MIDI_ENABLE Change instances of `MIDI_ENABLE = YES` to `MIDI_ENABLE = yes`. Command: ``` find keyboards/ -type f -name 'rules.mk' -and -not -path '*/keymaps/*' -exec sed -i -e 's;MIDI_ENABLE[ \t]*=[ \t]*[Yy][Ee][Ss];MIDI_ENABLE = yes;g' {} + ``` * replace `# MIDI controls` with `# MIDI support` Replace `# MIDI controls` with `# MIDI support` in keyboard-level `rules.mk` files. Command: ``` find keyboards/ -type f -name 'rules.mk' -and -not -path '*/keymaps/*' -exec sed -i -e 's;#[ \t]*MIDI[ \t]*\(controls\|support\).*;# MIDI support;g' {} + ``` * align inline comments Aligns the inline comments to the length used by the QMK AVR rules.mk template. Command: ``` find keyboards/ -type f -name 'rules.mk' -and -not -path '*/keymaps/*' -exec sed -i -e 's;MIDI_ENABLE *= *yes.*;MIDI_ENABLE = yes # MIDI support;g' {} + ``` * remove commented instances of `MIDI_ENABLE` from keyboard `rules.mk` files Commands: ``` find keyboards/ -type f -name 'rules.mk' -and -not -path '*/keymaps/*' -exec sed -i -e 's;#\([ \t]*MIDI_ENABLE\) = yes; \1 = no ;' {} + find keyboards/ -type f -name 'rules.mk' -and -not -path '*/keymaps/*' -exec sed -i -e 's;^\([ \t]*\)\(MIDI_ENABLE = no\);\2\1;' {} + find keyboards/ -type f -name 'rules.mk' -and -not -path '*/keymaps/*' -exec sed -i -e '/^[ #]\+MIDI_ENABLE *= *no/d' {} + ``` * remove MIDI configuration boilerplate from keyboard config.h files Co-authored-by: Nick Brassel <nick@tzarc.org> |
||
---|---|---|
.. | ||
keymaps | ||
babblePaste.c | ||
babblePaste.h | ||
babblePaste.txt | ||
config.h | ||
info.json | ||
ms_sculpt_mobile.c | ||
ms_sculpt_mobile.h | ||
readme.md | ||
rules.mk |
readme.md
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.