qmk

Unnamed repository; edit this file 'description' to name the repository.
git clone git://git.z3bra.org/qmk.git
Log | Files | Refs | Submodules | LICENSE

commit be8257f0a784a07e7dd93ecafe96c1d7774383f7
parent da2eedc0c2587ee8d11ee94cb61e17b4e8717265
Author: noroadsleft <18669334+noroadsleft@users.noreply.github.com>
Date:   Wed,  6 Mar 2019 11:51:41 -0800

[Keyboard] handwired/trackpoint: refactor and readme cleanup (#5325)

* handwired/trackpoint: refactor

- layout macro KEYMAP renamed to LAYOUT
- keymap now uses #include QMK_KEYBOARD_H

* handwired/trackpoint: readme cleanup

- fix wiring layout image URL
- update readme structure

* handwired/trackpoint: rename readme to lowercase

* handwired/trackpoint: update header files to use #pragma once

Diffstat:
keyboards/handwired/trackpoint/README.md | 10----------
keyboards/handwired/trackpoint/config.h | 119+++++++++++++++++++++++++++++++++++++++----------------------------------------
keyboards/handwired/trackpoint/keymaps/default/keymap.c | 4++--
keyboards/handwired/trackpoint/readme.md | 19+++++++++++++++++++
keyboards/handwired/trackpoint/trackpoint.h | 11++++-------
5 files changed, 83 insertions(+), 80 deletions(-)

diff --git a/keyboards/handwired/trackpoint/README.md b/keyboards/handwired/trackpoint/README.md @@ -1,10 +0,0 @@ -# IBM Trackpoint demonstration - -This is just a simple demo to show how to integrate IBM Trackpoint in QMK. - -Wiring used in the demonstration: -![Wiring example](http://imgur.com/8ghG2U8) - -Some documentation: -* [How to wire IBM Trackpoint](https://github.com/alonswartz/trackpoint) -* [QMK documentation](https://docs.qmk.fm/) diff --git a/keyboards/handwired/trackpoint/config.h b/keyboards/handwired/trackpoint/config.h @@ -1,70 +1,67 @@ -#ifndef CONFIG_H - #define CONFIG_H +#pragma once - #include "config_common.h" +#include "config_common.h" - #define VENDOR_ID 0x1234 - #define PRODUCT_ID 0x5678 - #define DEVICE_VER 0x0001 - #define MANUFACTURER QMK - #define PRODUCT TRACKPOINT-DEMO - #define DESCRIPTION Simple demonstration for IBM Trackpoint integration +#define VENDOR_ID 0x1234 +#define PRODUCT_ID 0x5678 +#define DEVICE_VER 0x0001 +#define MANUFACTURER QMK +#define PRODUCT TRACKPOINT-DEMO +#define DESCRIPTION Simple demonstration for IBM Trackpoint integration - #define MATRIX_ROWS 1 - #define MATRIX_COLS 3 +#define MATRIX_ROWS 1 +#define MATRIX_COLS 3 - #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 +#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_COL_PINS { F1, F4, F5 } - #define MATRIX_ROW_PINS { F0 } - #define UNUSED_PINS + /* 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 - /* COL2ROW or ROW2COL */ - #define DIODE_DIRECTION COL2ROW +#define MATRIX_COL_PINS { F1, F4, F5 } +#define MATRIX_ROW_PINS { F0 } +#define UNUSED_PINS - #define DEBOUNCING_DELAY 5 +/* COL2ROW or ROW2COL */ +#define DIODE_DIRECTION COL2ROW - #define LOCKING_SUPPORT_ENABLE - #define LOCKING_RESYNC_ENABLE +#define DEBOUNCING_DELAY 5 -#endif +#define LOCKING_SUPPORT_ENABLE +#define LOCKING_RESYNC_ENABLE diff --git a/keyboards/handwired/trackpoint/keymaps/default/keymap.c b/keyboards/handwired/trackpoint/keymaps/default/keymap.c @@ -1,7 +1,7 @@ -#include "trackpoint.h" +#include QMK_KEYBOARD_H const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = KEYMAP( + [0] = LAYOUT( KC_BTN1, KC_BTN3, KC_BTN2 \ ) }; diff --git a/keyboards/handwired/trackpoint/readme.md b/keyboards/handwired/trackpoint/readme.md @@ -0,0 +1,19 @@ +# IBM Trackpoint demonstration + +This is just a simple demo to show how to integrate IBM Trackpoint in QMK. + +Wiring used in the demonstration: +![Wiring example](https://i.imgur.com/8ghG2U8.png) + +Some documentation: + +- [How to wire IBM Trackpoint](https://github.com/alonswartz/trackpoint) + +Keyboard Maintainer: [The QMK Community](https://github.com/qmk) +Hardware Supported: Teensy + +Make example for this keyboard (after setting up your build environment): + + make handwired/trackpoint:default + +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). diff --git a/keyboards/handwired/trackpoint/trackpoint.h b/keyboards/handwired/trackpoint/trackpoint.h @@ -1,13 +1,10 @@ -#ifndef TRACKPOINT_H -#define TRACKPOINT_H +#pragma once #include "quantum.h" -#define KEYMAP( \ - k00, k01, k02 \ +#define LAYOUT( \ + k00, k01, k02 \ ) \ { \ - { k00, k01, k02} \ + { k00, k01, k02} \ } - -#endif