diff options
author | Michael Kemp <20897849+mkem114@users.noreply.github.com> | 2018-11-21 07:11:23 +1300 |
---|---|---|
committer | Drashna Jaelre <drashna@live.com> | 2018-11-20 10:11:23 -0800 |
commit | 303fa4ec3337760922a17fb19150c1aa3f58a3b3 (patch) | |
tree | 7411dd8073184e2b76d17fc41010d8eafe96c5a2 /keyboards/handwired/108key_trackpoint/config.h | |
parent | 93c0362552603f2d2517ff3b5afe2667968e3bda (diff) | |
download | firmware-303fa4ec3337760922a17fb19150c1aa3f58a3b3.tar.gz firmware-303fa4ec3337760922a17fb19150c1aa3f58a3b3.tar.bz2 firmware-303fa4ec3337760922a17fb19150c1aa3f58a3b3.zip |
Keyboard: Add Handwired 108 Key with Trackpoint (#4448)
* Include both base keyboards
* Merge the keymap
* Merge the configs
* Add wiring diagram for clarity of documentation
* Merge rules
* Merge keyboard sources
* Change names to compile
* Update documentation to suit
* Add qwerty layout to 108keyTrackpoint
* Separate the dvorak standard layout from a media focused one
* Update documentation to reflect new keymaps
* [style] Add empty lines at ends of files
* [style] Meet current QMK style guide
* Bring READEME closer to the QMK template
* [style] Change all "108keyTrackpoint" to "108key_trackpoint"
* [style] Use "LAYOUT" instead of "KEYMAP"
QMK terminology has changed
Co-Authored-By: mkem114 <20897849+mkem114@users.noreply.github.com>
* Add two spaces after maintainer in README
This is required to render properly
Co-Authored-By: mkem114 <20897849+mkem114@users.noreply.github.com>
* Remove redundant line
"PREVENT_STUCK_MODIFIERS" is default on for QMK
Co-Authored-By: mkem114 <20897849+mkem114@users.noreply.github.com>
* Change include of keymaps to use QMK_KEYBOARD_H
This includes automatically
* Update make rules to match template
* Change from KC_MENU to KC_APP
The button functionality actually wanted is the context menu key
* [style] Change "dvorakMedia" to "dvorak_media"
* Update README to reflect minor changes
Diffstat (limited to 'keyboards/handwired/108key_trackpoint/config.h')
-rw-r--r-- | keyboards/handwired/108key_trackpoint/config.h | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/keyboards/handwired/108key_trackpoint/config.h b/keyboards/handwired/108key_trackpoint/config.h new file mode 100644 index 000000000..7a63fe262 --- /dev/null +++ b/keyboards/handwired/108key_trackpoint/config.h @@ -0,0 +1,73 @@ +#pragma once + +#include "config_common.h" + +#define VENDOR_ID 0x1234 +#define PRODUCT_ID 0x5678 +#define DEVICE_VER 0x0001 +#define MANUFACTURER QMK +#define PRODUCT 108Key-Trackpoint +#define DESCRIPTION A 108 key ANSI keyboard with a trackpoint and three mouse buttons + +#define MATRIX_ROWS 8 +#define MATRIX_COLS 23 + +#ifdef PS2_USE_USART + #define PS2_CLOCK_PORT PORTD + #define PS2_CLOCK_PIN PIND + #define PS2_CLOCK_DDR DDRD + #define PS2_CLOCK_BIT 5 + #define PS2_DATA_PORT PORTD + #define PS2_DATA_PIN PIND + #define PS2_DATA_DDR DDRD + #define PS2_DATA_BIT 2 + + /* synchronous, odd parity, 1-bit stop, 8-bit data, sample at falling edge */ + /* set DDR of CLOCK as input to be slave */ + #define PS2_USART_INIT() do { \ + PS2_CLOCK_DDR &= ~(1<<PS2_CLOCK_BIT); \ + PS2_DATA_DDR &= ~(1<<PS2_DATA_BIT); \ + UCSR1C = ((1 << UMSEL10) | \ + (3 << UPM10) | \ + (0 << USBS1) | \ + (3 << UCSZ10) | \ + (0 << UCPOL1)); \ + UCSR1A = 0; \ + UBRR1H = 0; \ + UBRR1L = 0; \ + } while (0) + #define PS2_USART_RX_INT_ON() do { \ + UCSR1B = ((1 << RXCIE1) | \ + (1 << RXEN1)); \ + } while (0) + #define PS2_USART_RX_POLL_ON() do { \ + UCSR1B = (1 << RXEN1); \ + } while (0) + #define PS2_USART_OFF() do { \ + UCSR1C = 0; \ + UCSR1B &= ~((1 << RXEN1) | \ + (1 << TXEN1)); \ + } while (0) + #define PS2_USART_RX_READY (UCSR1A & (1<<RXC1)) + #define PS2_USART_RX_DATA UDR1 + #define PS2_USART_ERROR (UCSR1A & ((1<<FE1) | (1<<DOR1) | (1<<UPE1))) + #define PS2_USART_RX_VECT USART1_RX_vect +#endif + +#define MATRIX_ROW_PINS { B0, B1, B2, B3, B4, B5, B6, B7 } +#define MATRIX_COL_PINS { C0, C1, C2, C3, C4, C5, C6, C7, D0, D1, F0, D3, D4, F1, D6, D7, E0, E1, E2, E3, E4, E5, E6 } +#define UNUSED_PINS + +/* COL2ROW or ROW2COL */ +#define DIODE_DIRECTION COL2ROW + +#define DEBOUNCING_DELAY 5 + +#define LOCKING_SUPPORT_ENABLE +#define LOCKING_RESYNC_ENABLE + +/* key combination for commkand */ +#define IS_COMMAND() ( \ + keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \ +) + |