-
-
Notifications
You must be signed in to change notification settings - Fork 40.8k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[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
- Loading branch information
1 parent
da2eedc
commit be8257f
Showing
5 changed files
with
83 additions
and
80 deletions.
There are no files selected for viewing
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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 \ | ||
) | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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: | ||
 | ||
|
||
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). |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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 |