diff options
-rw-r--r-- | Makefile | 2 | ||||
-rw-r--r-- | README | 79 | ||||
-rw-r--r-- | keymap.c | 18 | ||||
-rw-r--r-- | tmk.c (renamed from mykey.c) | 0 | ||||
-rw-r--r-- | usb_keycodes.h | 4 |
5 files changed, 57 insertions, 46 deletions
@@ -41,7 +41,7 @@ # Target file name (without extension). -TARGET = mykey +TARGET = tmk # List C source files here. (C dependencies are automatically generated.) @@ -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 @@ -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<<col) continue; - if (get_keycode(0, row, col) == FN_0) layer = 1; - if (get_keycode(0, row, col) == FN_1) layer = 2; - if (get_keycode(0, row, col) == FN_2) layer = 3; + if (get_keycode(0, row, col) == FN_1) layer = 1; + if (get_keycode(0, row, col) == FN_2) layer = 2; + if (get_keycode(0, row, col) == FN_3) layer = 3; } } current_layer = layer; diff --git a/usb_keycodes.h b/usb_keycodes.h index 10d4d19d2..9573344c4 100644 --- a/usb_keycodes.h +++ b/usb_keycodes.h @@ -262,10 +262,10 @@ enum keycodes { KB_RGUI, /* 0x80 */ /* extensions for internal use */ - FN_0 = 0xE8, - FN_1, + FN_1 = 0xE8, FN_2, FN_3, + FN_4, MS_UP = 0xF0, MS_DOWN, MS_LEFT, |