]> git.friedersdorff.com Git - max/tmk_keyboard.git/blobdiff - converter/ibm4704_usb/config.h
lufa: Fix comment on INTERRUPT_CONTROL_ENDPOINT
[max/tmk_keyboard.git] / converter / ibm4704_usb / config.h
index 8c2d08f6f2c494d9f681dd77adb6044b970e9f66..2fee10fd61fafc681c2feff7158cabab6dd59b8c 100644 (file)
@@ -35,14 +35,13 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 /* key combination for command */
 #define IS_COMMAND() ( \
+    keyboard_report->mods == (MOD_BIT(KC_LCTRL) | MOD_BIT(KC_RCTRL)) || \
     keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
 )
 
 
 
-/*
- * Busywait
- */
+/* Pin configuration */
 #define IBM4704_CLOCK_PORT  PORTD
 #define IBM4704_CLOCK_PIN   PIND
 #define IBM4704_CLOCK_DDR   DDRD
@@ -50,24 +49,13 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #define IBM4704_DATA_PORT   PORTD
 #define IBM4704_DATA_PIN    PIND
 #define IBM4704_DATA_DDR    DDRD
-#define IBM4704_DATA_BIT    2
+#define IBM4704_DATA_BIT    0
 
-/*
- * Pin interrupt
- */
-#ifdef IBM4704_USE_INT
-#define IBM4704_INT_INIT()  do {    \
-    EICRA |= ((1<<ISC11) |      \
-              (0<<ISC10));      \
-} while (0)
-#define IBM4704_INT_ON()  do {      \
-    EIMSK |= (1<<INT1);         \
-} while (0)
-#define IBM4704_INT_OFF() do {      \
-    EIMSK &= ~(1<<INT1);        \
-} while (0)
+/* Pin interrupt on rising edge of clock */
+#define IBM4704_INT_INIT()  do { EICRA |= ((1<<ISC11)|(1<<ISC10)); } while (0)
+#define IBM4704_INT_ON()    do { EIFR |= (1<<INTF1); EIMSK |= (1<<INT1); } while (0)
+#define IBM4704_INT_OFF()   do { EIMSK &= ~(1<<INT1); } while (0)
 #define IBM4704_INT_VECT    INT1_vect
-#endif
 
 
 #endif