diff options
author | tmk <nobody@nowhere> | 2011-02-07 14:59:07 +0900 |
---|---|---|
committer | tmk <nobody@nowhere> | 2011-02-22 03:08:54 +0900 |
commit | 04f351b80279c55dfc6c8028f95eab7e01d50c84 (patch) | |
tree | 09e211eb1d1384d04374069e7e668b37a2f54bfd /ps2_vusb/config.h | |
parent | 0632618d29dfb30c76b4e7c310dc7bee36919f63 (diff) | |
download | qmk_firmware-04f351b80279c55dfc6c8028f95eab7e01d50c84.tar.gz qmk_firmware-04f351b80279c55dfc6c8028f95eab7e01d50c84.zip |
PS/2 library receives data partially by interrupt
Diffstat (limited to 'ps2_vusb/config.h')
-rw-r--r-- | ps2_vusb/config.h | 28 |
1 files changed, 26 insertions, 2 deletions
diff --git a/ps2_vusb/config.h b/ps2_vusb/config.h index 1d2a283071..639a1ac719 100644 --- a/ps2_vusb/config.h +++ b/ps2_vusb/config.h @@ -23,14 +23,38 @@ # define MOUSEKEY_DELAY_TIME 255 #endif -/* PS/2 mouse */ +/* PS/2 lines */ #define PS2_CLOCK_PORT PORTD #define PS2_CLOCK_PIN PIND #define PS2_CLOCK_DDR DDRD -#define PS2_CLOCK_BIT 6 +#define PS2_CLOCK_BIT 3 #define PS2_DATA_PORT PORTD #define PS2_DATA_PIN PIND #define PS2_DATA_DDR DDRD #define PS2_DATA_BIT 7 +/* External interrupt for PS/2 clock line (optional) */ +#define PS2_INT_ENABLE() do { \ + EIMSK |= (1<<INT1); \ + EICRA |= ((1<<ISC11) | (0<<ISC10)); \ + EIFR |= (1<<INTF1); \ +} while (0) +#define PS2_INT_DISABLE() do { \ + EIMSK &= ~(1<<INT1); \ +} while (0) +#define PS2_INT_VECT INT1_vect + +/* Pin Change interrupt for PS/2 clock line (optional) +#define PS2_INT_ENABLE() do { \ + PCMSK2 |= (1<<PCINT22); \ + PCICR |= (1<<PCIE2); \ + PCIFR |= (1<<PCIF2); \ +} while (0) +#define PS2_INT_DISABLE() do { \ + PCMSK2 &= ~(1<<PCINT22); \ + PCICR &= ~(1<<PCIE); \ +} while (0) +#define PS2_INT_VECT PCINT2_vect +*/ + #endif |