summary refs log tree commit diff
diff options
context:
space:
mode:
authortmk <nobody@nowhere>2010-10-02 11:51:42 +0900
committertmk <nobody@nowhere>2010-10-03 01:30:56 +0900
commit479af4bdcd08560a3400426b30c247c620f6204e (patch)
tree22075f6cd01e015c2e728d0420af4eea9bf71ba8
parentdf5b4ea7d97e0f6f598fd34506d8a3fd05cd5027 (diff)
version 1.0.
-rw-r--r--Makefile2
-rw-r--r--README79
-rw-r--r--keymap.c18
-rw-r--r--tmk.c (renamed from mykey.c)0
-rw-r--r--usb_keycodes.h4
5 files changed, 57 insertions, 46 deletions
diff --git a/Makefile b/Makefile
index 1fe3ffa2b1..d259fd2dbf 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 15eb28ff0d..c8d81a9c38 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 d208ad2427..2d92e18725 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<<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/mykey.c b/tmk.c
index 52d06d60ec..52d06d60ec 100644
--- a/mykey.c
+++ b/tmk.c
diff --git a/usb_keycodes.h b/usb_keycodes.h
index 10d4d19d24..9573344c45 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,