]> git.friedersdorff.com Git - max/tmk_keyboard.git/commitdiff
Add a keymap layer into ADB converter.
authortmk <nobody@nowhere>
Mon, 18 Jun 2012 03:23:17 +0000 (12:23 +0900)
committertmk <nobody@nowhere>
Mon, 18 Jun 2012 03:23:17 +0000 (12:23 +0900)
converter/adb_usb/Makefile
converter/adb_usb/keymap.c
converter/adb_usb/matrix.c
protocol/adb.c

index 64a23d09dc72456a5a6eae4550bc74cedf5dfbab..248261df0b4e480cb54c9b504ddaf79ecd5a8ac7 100644 (file)
@@ -36,7 +36,7 @@ F_CPU = 16000000
 # Build Options
 #   comment out to disable the options.
 #
-#MOUSEKEY_ENABLE = yes # Mouse keys
+MOUSEKEY_ENABLE = yes  # Mouse keys
 #PS2_MOUSE_ENABLE = yes        # PS/2 mouse(TrackPoint) support
 EXTRAKEY_ENABLE = yes  # Audio control and System control
 #NKRO_ENABLE = yes     # USB Nkey Rollover
@@ -52,3 +52,6 @@ include $(TOP_DIR)/protocol/pjrc.mk
 include $(TOP_DIR)/protocol.mk
 include $(TOP_DIR)/common.mk
 include $(TOP_DIR)/rules.mk
+
+dfu: PROGRAM_CMD = dfu-programmer atmega32u4 flash $(TARGET).hex
+dfu: program
index cdaa935d324a4ef99fdd3a9023fbd6e98370db70..2d16579336dfb8f639f5d80b2d00b3563f28c73b 100644 (file)
@@ -83,7 +83,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 // Assign Fn key(0-7) to a layer to which switch with the Fn key pressed.
 static const uint8_t PROGMEM fn_layer[] = {
-    0,              // Fn0
+    1,              // Fn0
     0,              // Fn1
     0,              // Fn2
     0,              // Fn3
@@ -109,7 +109,7 @@ static const uint8_t PROGMEM fn_keycode[] = {
 static const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
     /* Default Layer: plain keymap
      * ,---.   ,---------------. ,---------------. ,---------------. ,-----------.             ,---.
-     * |Esc|   |F1 |F2 |F3 |F4 | |F5 |F6 |F7 |F8 | |F9 |F10|F11|F12| |PrS|ScL|Pau|             |Pwr|
+     * |Esc|   |F1 |F2 |F3 |F4 | |F5 |F6 |F7 |F8 | |F9 |F10|F11|F12| |PrS|ScL|Pau|             |Fn0|
      * `---'   `---------------' `---------------' `---------------' `-----------'             `---'
      * ,-----------------------------------------------------------. ,-----------. ,---------------.
      * |  `|  1|  2|  3|  4|  5|  6|  7|  8|  9|  0|  -|  =|Backspa| |Ins|Hom|PgU| |NmL|  =|  /|  *|
@@ -124,13 +124,38 @@ static const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
      * `-----------------------------------------------------------' `-----------' `---------------'
      */
     KEYMAP(
-    ESC, F1,  F2,  F3,  F4,  F5,  F6,  F7,  F8,  F9,  F10, F11, F12,           PSCR,SLCK,BRK,                    PWR,
+    ESC, F1,  F2,  F3,  F4,  F5,  F6,  F7,  F8,  F9,  F10, F11, F12,           PSCR,SLCK,BRK,                    FN0,
     GRV, 1,   2,   3,   4,   5,   6,   7,   8,   9,   0,   MINS,EQL, BSPC,     INS, HOME,PGUP,    NLCK,EQL, PSLS,PAST,
     TAB, Q,   W,   E,   R,   T,   Y,   U,   I,   O,   P,   LBRC,RBRC,BSLS,     DEL, END, PGDN,    P7,  P8,  P9,  PMNS,
     CAPS,A,   S,   D,   F,   G,   H,   J,   K,   L,   SCLN,QUOT,     ENT,                         P4,  P5,  P6,  PPLS,
     LSFT,Z,   X,   C,   V,   B,   N,   M,   COMM,DOT, SLSH,          RSFT,          UP,           P1,  P2,  P3,
     LCTL,LGUI,LALT,          SPC,                                              LEFT,DOWN,RGHT,    P0,       PDOT,PENT
     ),
+
+    /* Default Layer: plain keymap
+     * ,---.   ,---------------. ,---------------. ,---------------. ,-----------.             ,---.
+     * |`  |   |F1 |F2 |F3 |F4 | |F5 |F6 |F7 |F8 | |F9 |F10|F11|F12| |PrS|ScL|Pau|             |Fn0|
+     * `---'   `---------------' `---------------' `---------------' `-----------'             `---'
+     * ,-----------------------------------------------------------. ,-----------. ,---------------.
+     * |Esc|F1 |F2 |F3 |F4 |F5 |F6 |F7 |F8 |F9 |F10|F11|F12|Delete | |Ins|Hom|PgU| |NmL|Mb1|Mb2|Mb3|
+     * |-----------------------------------------------------------| |-----------| |---------------|
+     * |Tab  |  Q|  W|  E|  R|  T|  Y|  U|PrS|ScL|Pau|Up |Ins|    \| |Del|End|PgD| |MwD|McU|MwU|MwD|
+     * |-----------------------------------------------------------| `-----------' |---------------|
+     * |CapsLo|VoD|VoU|Mut|  F|  G|  H|  J|Hom|PgU|Lef|Rig|Return  |               |McL|McD|McR|MwU|
+     * |-----------------------------------------------------------|     ,---.     |---------------|
+     * |Shift   |  Z|  X|  C|  V|  B|  N|  M|End|PgD|Dow|Shift     |     |PgU|     |MwL|McD|MwR|   |
+     * |-----------------------------------------------------------| ,-----------. |-----------|Mb3|
+     * |Ctrl |Gui |Alt |         Space           |     |    |      | |Hom|PgD|End| |    Mb1|Mb2|   |
+     * `-----------------------------------------------------------' `-----------' `---------------'
+     */
+    KEYMAP(
+    GRV, F1,  F2,  F3,  F4,  F5,  F6,  F7,  F8,  F9,  F10, F11, F12,           PSCR,SLCK,BRK,                    FN0,
+    ESC, F1,  F2,  F3,  F4,  F5,  F6,  F7,  F8,  F9,  F10, F11, F12, DEL,      INS, HOME,PGUP,    NLCK,BTN1,BTN2,BTN3,
+    TAB, Q,   W,   E,   R,   T,   Y,   U,   PSCR,SLCK,PAUS,UP,  INS, BSLS,     DEL, END, PGDN,    WH_D,MS_U,WH_U,WH_D,
+    CAPS,VOLD,VOLU,MUTE,F,   G,   H,   J,   HOME,PGUP,LEFT,RGHT,     ENT,                         MS_L,MS_D,MS_R,WH_U,
+    LSFT,Z,   X,   C,   V,   B,   N,   M,   END, PGDN,DOWN,          RSFT,          PGUP,         WH_L,MS_D,WH_R,
+    LCTL,LGUI,LALT,          SPC,                                              HOME,PGDN,END,     BTN1,     BTN2,BTN3
+    ),
 };
 
 
index a2367af56a52c74a461d35121c48d3900a062735..4d1b9e9aa5c10c49138546f4d3e70b9844e67703 100644 (file)
@@ -100,6 +100,10 @@ uint8_t matrix_scan(void)
     key0 = codes>>8;
     key1 = codes&0xFF;
 
+    if (debug_enable && codes) {
+        print("adb_host_kbd_recv: "); phex16(codes); print("\n");
+    }
+
 #ifdef MATRIX_HAS_LOCKING_CAPS
     // Send Caps key up event
     if (matrix_is_on(ROW(CAPS), COL(CAPS))) {
@@ -135,9 +139,6 @@ uint8_t matrix_scan(void)
             _register_key(key1);
     }
 
-    if (debug_enable) {
-        print("adb_host_kbd_recv: "); phex16(codes); print("\n");
-    }
     return 1;
 }
 
@@ -177,9 +178,9 @@ uint16_t matrix_get_row(uint8_t row)
 void matrix_print(void)
 {
 #if (MATRIX_COLS <= 8)
-    print("\nr/c 01234567\n");
+    print("r/c 01234567\n");
 #else
-    print("\nr/c 0123456789ABCDEF\n");
+    print("r/c 0123456789ABCDEF\n");
 #endif
     for (uint8_t row = 0; row < matrix_rows(); row++) {
         phex(row); print(": ");
index 116f612721abcad03c8da8866122ee9ffe34d2a6..d60b8608b1ee9ce222b41f7d821fcdab1f044609 100644 (file)
@@ -381,7 +381,6 @@ Keyboard Data(Register0)
     You can read the state from PSW line(active low) however
     the switch has a special scancode 0x7F7F, so you can
     also read from Data line. It uses 0xFFFF for release scancode.
-    Release code seems to delay about some 100ms. Due to Mac soft power?
 
 Keyboard LEDs & state of keys(Register2)
     This register hold current state of three LEDs and nine keys.