From 479af4bdcd08560a3400426b30c247c620f6204e Mon Sep 17 00:00:00 2001 From: tmk Date: Sat, 2 Oct 2010 11:51:42 +0900 Subject: [PATCH] version 1.0. --- Makefile | 2 +- README | 79 +++++++++++++++++++++++++++--------------------- keymap.c | 18 +++++------ mykey.c => tmk.c | 0 usb_keycodes.h | 4 +-- 5 files changed, 57 insertions(+), 46 deletions(-) rename mykey.c => tmk.c (100%) diff --git a/Makefile b/Makefile index 1fe3ffa2..d259fd2d 100644 --- a/Makefile +++ b/Makefile @@ -41,7 +41,7 @@ # Target file name (without extension). -TARGET = mykey +TARGET = tmk # List C source files here. (C dependencies are automatically generated.) diff --git a/README b/README index 15eb28ff..c8d81a9c 100644 --- a/README +++ b/README @@ -1,40 +1,29 @@ -Keyboard Firmware -================= -2010/08/23 noname +t.m.k. Keyboard Firmware +======================== +This is keyboard firmware for PFU HHKB style keyboard and teensy 2.0. +OS see this as composite device which has keyboard and mouse. + +The project is heavily based on PJRC USB Keyboard/Mouse Example and +owes a debt to preceding keyboard firmware projects. VERSION ------- 0.1 2010/08/23 - implemented for macway modified. - It works as normal keyboard now. + It works as normal keyboard. + It is for modified Macway keyboard(TP-999KB-E). - -TODO ----- -modulization - clean source -debouncing - will be coded when bouncing occurs. - bouncing doesnt occur on my alps switch so far. - scan rate is too slow?(to be measure) -anti-ghost - 2010/09/13 done -sleep&wakeup -boot keyboard support -mouse key -keymap layer - 2010/09/16 simple layer(HHKB/vi cursor) - key combination switch - toggle siwtch -setting menu(wizard) - debug console - keymap setting - matrix display -PS/2 keyboard mode -HHKB support -Trackpoint(PS/2) support - Thinkpad keyboard support +1.0 2010/10/02 + keyboard has mouse key now. + keyboard with layers.(see keymap.c) + FN_1(right cmd): + vi style layer + FN_2(next to right shift): + HHKB style layer + FN_3(left bottom): + h j k l: mouse move + a s d spc: mouse buttons + m ,: mouse wheel target board @@ -43,10 +32,11 @@ Teensy 2.0 http://www.pjrc.com/teensy -projects based on/related to ----------------------------- -PJRC USB Keyboard Example +projects related +---------------- +PJRC USB Keyboard/Mouse Example http://www.pjrc.com/teensy/usb_keyboard.html + http://www.pjrc.com/teensy/usb_mouse.html kbupgrade http://github.com/rhomann/kbupgrade http://geekhack.org/showwiki.php?title=Island:8406 @@ -65,4 +55,25 @@ ps2avr http://sourceforge.net/projects/ps2avr/ +TODO +---- +licensing notes(GPL) + I think GPL is not infringement of PJRC license. +souce code cleaning +sleep&wakeup +debouncing + will be coded when bouncing occurs. + bouncing doesnt occur on my ALPS switch so far. + scan rate is too slow?(to be measure) +setting menu(wizard) + debug console + keymap setting + matrix display +PS/2 keyboard mode +support for HHKB pro matrix signal +Trackpoint(PS/2) support +Thinkpad keyboard support +mouse horizontal wheel + + EOF diff --git a/keymap.c b/keymap.c index d208ad24..2d92e187 100644 --- a/keymap.c +++ b/keymap.c @@ -12,15 +12,15 @@ static const uint8_t PROGMEM Keymap[][MATRIX_ROWS][MATRIX_COLS] = { { { KB_LALT, KB_NO, KB_BSPACE, KB_NO, KB_LEFT, KB_NO, KB_ENTER, KB_SPACE }, { KB_1, KB_ESCAPE, KB_TAB, KB_Q, KB_A, KB_LCTRL, KB_Z, KB_RIGHT }, - { KB_2, FN_0, KB_LGUI, KB_W, KB_S, KB_NO, KB_X, KB_UP }, - { KB_3, KB_NO, KB_RSHIFT, KB_E, KB_D, FN_1, KB_C, KB_DOWN }, + { KB_2, FN_1, KB_LGUI, KB_W, KB_S, KB_NO, KB_X, KB_UP }, + { KB_3, KB_NO, KB_RSHIFT, KB_E, KB_D, FN_2, KB_C, KB_DOWN }, { KB_4, KB_5, KB_T, KB_R, KB_F, KB_G, KB_V, KB_B }, { KB_7, KB_6, KB_Y, KB_U, KB_J, KB_H, KB_M, KB_N }, { KB_8, KB_EQUAL, KB_RBRACKET,KB_I, KB_K, KB_NO, KB_COMMA, KB_LSHIFT }, - { KB_9, KB_NO, KB_NO, KB_O, KB_L, FN_2, KB_DOT, KB_NO }, + { KB_9, KB_NO, KB_NO, KB_O, KB_L, FN_3, KB_DOT, KB_NO }, { KB_0, KB_MINUS, KB_LBRACKET,KB_P, KB_SCOLON, KB_QUOTE, KB_NO, KB_SLASH } }, - // 1: FN_0(RIGHT ALT) + // 1: FN_1(RIGHT ALT) { { KB_LALT, KB_NO, KB_DELETE, KB_NO, KB_NO, KB_NO, KB_BSLASH,KB_NO }, { KB_F1, KB_GRAVE, KB_BSLASH, KB_NO, KB_NO, KB_LCTRL, KB_NO, KB_NO }, @@ -32,7 +32,7 @@ static const uint8_t PROGMEM Keymap[][MATRIX_ROWS][MATRIX_COLS] = { { KB_F9, KB_NO, KB_NO, KB_NO, KB_RIGHT, KB_NO, KB_END, KB_NO }, { KB_F10, KB_F11, KB_NO, KB_NO, KB_NO, KB_NO, KB_NO, KB_NO } }, - // 2: FN_1(HHKB Fn) + // 2: FN_2(HHKB Fn) { { KB_LALT, KB_NO, KB_DELETE, KB_NO, KB_NO, KB_NO, KB_BSLASH,KB_NO }, { KB_F1, KB_GRAVE, KB_BSLASH, KB_NO, KB_VOLDOWN,KB_LCTRL, KB_NO, KB_NO }, @@ -44,7 +44,7 @@ static const uint8_t PROGMEM Keymap[][MATRIX_ROWS][MATRIX_COLS] = { { KB_F9, KB_NO, KB_NO, KB_NO, KB_PGUP, KB_NO, KB_PGDOWN,KB_NO }, { KB_F10, KB_F11, KB_UP, KB_NO, KB_LEFT, KB_RIGHT, KB_NO, KB_DOWN } }, - // 3: FN_2(LEFT Bottom) + // 3: FN_3(LEFT Bottom) { { KB_LALT, KB_NO, KB_DELETE, KB_NO, MS_LEFT, KB_NO, KB_BSLASH, MS_BTN1 }, { KB_F1, KB_GRAVE, KB_BSLASH, KB_NO, MS_BTN1, KB_LCTRL, KB_NO, MS_RIGHT }, @@ -73,9 +73,9 @@ int get_layer(void) { for (int row = 0; row < MATRIX_ROWS; row++) { for (int col = 0; col < MATRIX_ROWS; col++) { if (matrix[row] & 1<