diff options
Diffstat (limited to 'keyboards/kinesis/nguyenvietyen/readme.md')
| -rw-r--r-- | keyboards/kinesis/nguyenvietyen/readme.md | 109 |
1 files changed, 109 insertions, 0 deletions
diff --git a/keyboards/kinesis/nguyenvietyen/readme.md b/keyboards/kinesis/nguyenvietyen/readme.md new file mode 100644 index 000000000..fc5390b03 --- /dev/null +++ b/keyboards/kinesis/nguyenvietyen/readme.md | |||
| @@ -0,0 +1,109 @@ | |||
| 1 | # Viet's Kinesis + Pro Micro | ||
| 2 | |||
| 3 | July 2020 | ||
| 4 | |||
| 5 | This work is inspired by `alvicstep`'s solution. Instead of hooking up the Kinesis to a Teensy 2, this one hooks it up to a Pro Micro. | ||
| 6 | |||
| 7 | ## Kinesis Board Layout | ||
| 8 | The following is a reinterpretation of [@chrisandreae](https://github.com/chrisandreae/keyboard-firmware/blob/public/hardware/kinesis.h)'s work. | ||
| 9 | |||
| 10 | ### Used Pins | ||
| 11 | * 8 columns mapped to output pins 21 - 28 | ||
| 12 | * 16 rows mapped to 4 input pins: pin 39 - 36. Rows are traversed by iterating and setting 16 values from 0000 to 1111. | ||
| 13 | * 4 leds (e.g. capslock) mapped to input pin 1 - 4 | ||
| 14 | * keypad key mapped to pin 5 | ||
| 15 | * program key mapped to pin 6 | ||
| 16 | * `VCC` mapped to pin 40 | ||
| 17 | |||
| 18 | ### Matrix Configuration | ||
| 19 | The matrix configuration of the columns and rows on my Advantage is as follows: | ||
| 20 | |||
| 21 | | | row 0 | row 1 | row 2 | row 3 | row 4 | row 5 | row 6 | row 7 | row 8 | row 9 | row A | row B | row C | row D | row E | row F | | ||
| 22 | | ----- | ----- | ----- | ----- | ----- | ----- | ----- | ----- | ----- | ----- | ----- | ----- | ----- | ----- | ----- | ----- | ----- | | ||
| 23 | | col0 | F6 | F8 | F7 | 5% | 4$ | 3# | 2@ | 1! | =+ | | | | | | | | | ||
| 24 | | col1 | F3 | F5 | F4 | T | R | E | W | Q | Tab | | | | | | | | | ||
| 25 | | col2 | Esc | F2 | F1 | G | F | D | S | A | CapsLk | | | | | | | | | ||
| 26 | | col3 | F9 | F11 | F10 | B | V | C | X | Z | LShift | Up | | Down | | [{ | ]} | | | ||
| 27 | | col4 | F12 | ScrLk | PrtSc | Right | | Left | Insert | ~ | | 6^ | 7& | 8* | | 9( | 0) | -_ | | ||
| 28 | | col5 | Pause | | | LAlt | | Home | | End | | Y | U | I | | O | P | `\|` | | ||
| 29 | | col6 | | | | LCtrl | Delete | Bksp | RCtrl | Enter | Space | H | J | K | | L | ;: | '" | | ||
| 30 | | col7 | | | | | RGUI | | PageUp | | PageDn | N | M | ,< | | .> | /? | RShift | | ||
| 31 | |||
| 32 | (this is a modified copy from [@alvicstep](https://github.com/qmk/qmk_firmware/blob/master/keyboards/kinesis/alvicstep/alvicstep.h)) | ||
| 33 | |||
| 34 | In the code, keypad and program keys are mapped respectively to col0 and col1 of row C, the 12th row. | ||
| 35 | |||
| 36 | ### Omitted Pins | ||
| 37 | There are pins that we currently omit: | ||
| 38 | * serial eeprom clock line mapped to pin 7 | ||
| 39 | * serial eeprom data line mapped to pin 8 | ||
| 40 | * EEPROM write protect mapped to pin 10. | ||
| 41 | * foot switch 1 mapped to pin 11 | ||
| 42 | * PS/2 clock mapped to pin 12 | ||
| 43 | * PS/2 data mapped to pin 13 | ||
| 44 | * foot switch 2 mapped to pin 17 | ||
| 45 | * foot switch 3 mapped to pin 15 | ||
| 46 | * audio mapped to pin 32 | ||
| 47 | |||
| 48 | ### DIP Socket | ||
| 49 | Here's an ASCII drawing of the 40 pin DIP socket. | ||
| 50 | ``` | ||
| 51 | DL2 1 40 VCC | ||
| 52 | DR1 2 39 A | ||
| 53 | DR2 3 38 B | ||
| 54 | DL1 4 37 C | ||
| 55 | KPD 5 36 G | ||
| 56 | PGM 6 35 | ||
| 57 | SCL 7 34 | ||
| 58 | SDA 8 33 | ||
| 59 | RST 9 32 BUZZ | ||
| 60 | WP 10 31 EA | ||
| 61 | FS1 11 30 ALE | ||
| 62 | CLOCK 12 29 PSEN | ||
| 63 | DATA 13 28 r8 | ||
| 64 | 14 27 r7 | ||
| 65 | FS3 15 26 r6 | ||
| 66 | 16 25 r5 | ||
| 67 | FS2 17 24 r4 | ||
| 68 | XTAL1 18 23 r3 | ||
| 69 | XTAL2 19 22 r2 | ||
| 70 | GND 20 21 r1 | ||
| 71 | ``` | ||
| 72 | (this is copied from [@wjanssens](https://raw.githubusercontent.com/wjanssens/tmk_keyboard/master/keyboard/kinesis/doc/readme.txt)) | ||
| 73 | |||
| 74 | ## Pin Mapping to Pro Micro | ||
| 75 | |||
| 76 | The following table is ordered by physical Arduino pin order. | ||
| 77 | |||
| 78 | | Arduino | Kinesis | Meaning | | ||
| 79 | | ------- | ------- | ------- | | ||
| 80 | | D3 | 36 | G | | ||
| 81 | | D2 | 37 | C | | ||
| 82 | | GND | | | | ||
| 83 | | GND | | | | ||
| 84 | | D1 | 38 | B | | ||
| 85 | | D0 | 39 | A | | ||
| 86 | | D4 | 1 | DL2 | | ||
| 87 | | C6 | 2 | DR1 | | ||
| 88 | | D7 | 3 | DR2 | | ||
| 89 | | E6 | 4 | DL1 | | ||
| 90 | | B4 | 5 | KPD | | ||
| 91 | | B5 | 6 | PGM | | ||
| 92 | | B6 | 21 | r1 | | ||
| 93 | | B2 | 22 | r2 | | ||
| 94 | | B3 | 23 | r3 | | ||
| 95 | | B1 | 24 | r4 | | ||
| 96 | | F7 | 25 | r5 | | ||
| 97 | | F6 | 26 | r6 | | ||
| 98 | | F5 | 27 | r7 | | ||
| 99 | | F4 | 28 | r8 | | ||
| 100 | | VCC | 40 | | | ||
| 101 | | RESET | | | | ||
| 102 | | GND | 20 | | | ||
| 103 | | RAW | | | | ||
| 104 | |||
| 105 | ## Notes | ||
| 106 | |||
| 107 | * The rows are multiplexed. Instead of reading them out, one sets the row value and corresponding column values are returned through r1-r8. | ||
| 108 | * On my keyboard, the keypad and program key have dedicated pins. Since row 12 had no mapping in the physical matrix, there's a code override injects the keypad and program pins to the first two bits in the matrix. | ||
| 109 | * I've experimented with debouncing approaches. The current setting delivers a snappier feeling than Kinesis's factory default for me. | ||
