]> git.friedersdorff.com Git - max/tmk_keyboard.git/blobdiff - converter/ps2_usb/config.h
Correct the comments of matrix ROW and COL. (#600)
[max/tmk_keyboard.git] / converter / ps2_usb / config.h
index 889f0c38ebab1520ae64a30b022e754023f1f5b4..ceee05b041deea797033e402960972d48d0eacf8 100644 (file)
@@ -29,14 +29,14 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 
 /* matrix size */
-#define MATRIX_ROWS 32  // keycode bit: 3-0
-#define MATRIX_COLS 8   // keycode bit: 6-4
+#define MATRIX_ROWS 32  // keycode bit: 7-3
+#define MATRIX_COLS 8   // keycode bit: 2-0
 
 
 /* key combination for command */
 #define IS_COMMAND() ( \
     keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) || \
-    keyboard_report->mods == (MOD_BIT(KC_LCTRL) | MOD_BIT(KC_RSHIFT)) \
+    keyboard_report->mods == (MOD_BIT(KC_LALT) | MOD_BIT(KC_RALT)) \
 )
 
 
@@ -50,17 +50,18 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #define PS2_CLOCK_PORT  PORTD
 #define PS2_CLOCK_PIN   PIND
 #define PS2_CLOCK_DDR   DDRD
-#define PS2_CLOCK_BIT   5
+#define PS2_CLOCK_BIT   1
 #define PS2_DATA_PORT   PORTD
 #define PS2_DATA_PIN    PIND
 #define PS2_DATA_DDR    DDRD
-#define PS2_DATA_BIT    2
+#define PS2_DATA_BIT    0
 #endif
 
 /*
  * PS/2 Pin interrupt
  */
 #ifdef PS2_USE_INT
+#if defined(__AVR_ATmega16U4__) || defined(__AVR_ATmega32U4__) || defined(__AVR_ATmega32U2__)
 /* uses INT1 for clock line(ATMega32U4) */
 #define PS2_CLOCK_PORT  PORTD
 #define PS2_CLOCK_PIN   PIND
@@ -81,6 +82,28 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
     EIMSK &= ~(1<<INT1);        \
 } while (0)
 #define PS2_INT_VECT    INT1_vect
+
+#elif defined(__AVR_ATmega168__) || defined(__AVR_ATmega168P__) || defined(__AVR_ATmega328P__)
+/* uses PCINT17(PD1) for clock line. this doesn't work with VUSB */
+#define PS2_CLOCK_PORT  PORTD
+#define PS2_CLOCK_PIN   PIND
+#define PS2_CLOCK_DDR   DDRD
+#define PS2_CLOCK_BIT   1
+#define PS2_DATA_PORT   PORTD
+#define PS2_DATA_PIN    PIND
+#define PS2_DATA_DDR    DDRD
+#define PS2_DATA_BIT    0
+#define PS2_INT_INIT()  do {    \
+    PCICR  |= (1<<PCIE2);       \
+} while (0)
+#define PS2_INT_ON()  do {      \
+    PCMSK2 |= (1<<PCINT17);     \
+} while (0)
+#define PS2_INT_OFF() do {      \
+    PCMSK2 &= ~(1<<PCINT17);    \
+} while (0)
+#define PS2_INT_VECT    PCINT2_vect
+#endif
 #endif
 
 /*