]> git.friedersdorff.com Git - max/tmk_keyboard.git/blobdiff - converter/ps2_usb/config.h
Merge pull request #385 from leizzer/master
[max/tmk_keyboard.git] / converter / ps2_usb / config.h
index c9bab1b0724d65d23ae61d4fd62d589a106817de..35eb414ff5eee59c1692a2d416068293bae19cf3 100644 (file)
@@ -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__)
 /* uses INT1 for clock line(ATMega32U4) */
 #define PS2_CLOCK_PORT  PORTD
 #define PS2_CLOCK_PIN   PIND
@@ -69,7 +70,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #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
 #define PS2_INT_INIT()  do {    \
     EICRA |= ((1<<ISC11) |      \
               (0<<ISC10));      \
@@ -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
 
 /*