From 81e85a1a4e4b1b7c5bbf1fcffe967a60639778c0 Mon Sep 17 00:00:00 2001 From: dbroqua Date: Fri, 26 May 2017 20:35:31 +0200 Subject: - Added integration of IBM Trackpoint --- keyboards/handwired/trackpoint/Makefile | 3 + keyboards/handwired/trackpoint/README.md | 7 ++ keyboards/handwired/trackpoint/config.h | 75 ++++++++++++++++++++++ .../handwired/trackpoint/keymaps/default/keymap.c | 7 ++ keyboards/handwired/trackpoint/rules.mk | 25 ++++++++ keyboards/handwired/trackpoint/trackpoint.c | 5 ++ keyboards/handwired/trackpoint/trackpoint.h | 13 ++++ 7 files changed, 135 insertions(+) create mode 100644 keyboards/handwired/trackpoint/Makefile create mode 100644 keyboards/handwired/trackpoint/README.md create mode 100644 keyboards/handwired/trackpoint/config.h create mode 100644 keyboards/handwired/trackpoint/keymaps/default/keymap.c create mode 100644 keyboards/handwired/trackpoint/rules.mk create mode 100644 keyboards/handwired/trackpoint/trackpoint.c create mode 100644 keyboards/handwired/trackpoint/trackpoint.h (limited to 'keyboards/handwired') diff --git a/keyboards/handwired/trackpoint/Makefile b/keyboards/handwired/trackpoint/Makefile new file mode 100644 index 0000000000..191c6bb664 --- /dev/null +++ b/keyboards/handwired/trackpoint/Makefile @@ -0,0 +1,3 @@ +ifndef MAKEFILE_INCLUDED + include ../../../Makefile +endif \ No newline at end of file diff --git a/keyboards/handwired/trackpoint/README.md b/keyboards/handwired/trackpoint/README.md new file mode 100644 index 0000000000..764ad984a4 --- /dev/null +++ b/keyboards/handwired/trackpoint/README.md @@ -0,0 +1,7 @@ +# IBM Trackpoint demonstration + +This is just a simple demo to show how to integrate IBM Trackpoint in QMK. + +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 new file mode 100644 index 0000000000..7558c03bf4 --- /dev/null +++ b/keyboards/handwired/trackpoint/config.h @@ -0,0 +1,75 @@ +#ifndef CONFIG_H + #define CONFIG_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 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 + + /* 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<mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \ + ) + +#endif diff --git a/keyboards/handwired/trackpoint/keymaps/default/keymap.c b/keyboards/handwired/trackpoint/keymaps/default/keymap.c new file mode 100644 index 0000000000..22e46d98a7 --- /dev/null +++ b/keyboards/handwired/trackpoint/keymaps/default/keymap.c @@ -0,0 +1,7 @@ +#include "trackpoint.h" + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = KEYMAP( + KC_BTN1, KC_BTN3, KC_BTN2 \ + ) +}; diff --git a/keyboards/handwired/trackpoint/rules.mk b/keyboards/handwired/trackpoint/rules.mk new file mode 100644 index 0000000000..0609dd3043 --- /dev/null +++ b/keyboards/handwired/trackpoint/rules.mk @@ -0,0 +1,25 @@ +MCU = atmega32u4 +F_CPU = 16000000 +ARCH = AVR8 +F_USB = $(F_CPU) +OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT +OPT_DEFS += -DBOOTLOADER_SIZE=512 +BOOTMAGIC_ENABLE ?= no # Virtual DIP switch configuration(+1000) +MOUSEKEY_ENABLE ?= yes # Mouse keys(+4700) +EXTRAKEY_ENABLE ?= yes # Audio control and System control(+450) +CONSOLE_ENABLE ?= yes # Console for debug(+400) +COMMAND_ENABLE ?= yes # Commands for debug and configuration +SLEEP_LED_ENABLE ?= no # Breathing sleep LED during USB suspend +NKRO_ENABLE ?= no # USB Nkey Rollover +BACKLIGHT_ENABLE ?= no # Enable keyboard backlight functionality on B7 by default +MIDI_ENABLE ?= no # MIDI controls +UNICODE_ENABLE ?= no # Unicode +BLUETOOTH_ENABLE ?= no # Enable Bluetooth with the Adafruit EZ-Key HID +AUDIO_ENABLE ?= no # Audio output on port C6 + +PS2_MOUSE_ENABLE ?= yes +PS2_USE_USART ?= yes + +ifndef QUANTUM_DIR + include ../../Makefile +endif diff --git a/keyboards/handwired/trackpoint/trackpoint.c b/keyboards/handwired/trackpoint/trackpoint.c new file mode 100644 index 0000000000..124995a642 --- /dev/null +++ b/keyboards/handwired/trackpoint/trackpoint.c @@ -0,0 +1,5 @@ +#include "trackpoint.h" + +void matrix_init_kb(void) { + +} diff --git a/keyboards/handwired/trackpoint/trackpoint.h b/keyboards/handwired/trackpoint/trackpoint.h new file mode 100644 index 0000000000..b5d73d7db5 --- /dev/null +++ b/keyboards/handwired/trackpoint/trackpoint.h @@ -0,0 +1,13 @@ +#ifndef TRACKPOINT_H +#define TRACKPOINT_H + +#include "quantum.h" + +#define KEYMAP( \ + k00, k01, k02 \ +) \ +{ \ + { k00, k01, k02} \ +} + +#endif -- cgit v1.2.1 From 6b994ecd82f660feb44bac376ae7d0147d40d818 Mon Sep 17 00:00:00 2001 From: dbroqua Date: Fri, 26 May 2017 21:27:11 +0200 Subject: - Added schematic for Trackpoint demonstration --- keyboards/handwired/trackpoint/README.md | 3 +++ keyboards/handwired/trackpoint/wiring.png | Bin 0 -> 7217 bytes 2 files changed, 3 insertions(+) create mode 100644 keyboards/handwired/trackpoint/wiring.png (limited to 'keyboards/handwired') diff --git a/keyboards/handwired/trackpoint/README.md b/keyboards/handwired/trackpoint/README.md index 764ad984a4..a22fca295e 100644 --- a/keyboards/handwired/trackpoint/README.md +++ b/keyboards/handwired/trackpoint/README.md @@ -2,6 +2,9 @@ This is just a simple demo to show how to integrate IBM Trackpoint in QMK. +Wiring used in the demonstration: +![Wiring example](./wiring.png) + Some documentation: * [How to wire IBM Trackpoint](https://github.com/alonswartz/trackpoint) * [QMK documentation](https://docs.qmk.fm/) diff --git a/keyboards/handwired/trackpoint/wiring.png b/keyboards/handwired/trackpoint/wiring.png new file mode 100644 index 0000000000..45806e007b Binary files /dev/null and b/keyboards/handwired/trackpoint/wiring.png differ -- cgit v1.2.1