// matrix is active low. (key on: 0/key off: 1)
// row: Hi-Z(unselected)/low output(selected)
-// PD:0,1,2,3,6,7/PC:6,7/PF:7
+// PD0, PC7, PD7, PF6, PD6, PD1, PD2, PC6, PF7
// col: input w/pullup
-// PB:0-8
+// PB0-PB7
// matrix state buffer
uint8_t *matrix;
PORTF = 0x00;
break;
case 1:
- DDRD = (1<<1);
+ DDRD = 0x00;
PORTD = 0x00;
- DDRC = 0x00;
+ DDRC = (1<<7);
PORTC = 0x00;
DDRF = 0x00;
PORTF = 0x00;
break;
case 2:
- DDRD = (1<<2);
+ DDRD = (1<<7);
PORTD = 0x00;
DDRC = 0x00;
PORTC = 0x00;
PORTF = 0x00;
break;
case 3:
- DDRD = (1<<3);
+ DDRD = 0x00;
PORTD = 0x00;
DDRC = 0x00;
PORTC = 0x00;
- DDRF = 0x00;
+ DDRF = (1<<6);
PORTF = 0x00;
break;
case 4:
PORTF = 0x00;
break;
case 5:
- DDRD = (1<<7);
+ DDRD = (1<<1);
PORTD = 0x00;
DDRC = 0x00;
PORTC = 0x00;
PORTF = 0x00;
break;
case 6:
- DDRD = 0x00;
+ DDRD = (1<<2);
PORTD = 0x00;
- DDRC = (1<<6);
+ DDRC = 0x00;
PORTC = 0x00;
DDRF = 0x00;
PORTF = 0x00;
case 7:
DDRD = 0x00;
PORTD = 0x00;
- DDRC = (1<<7);
+ DDRC = (1<<6);
PORTC = 0x00;
DDRF = 0x00;
PORTF = 0x00;