diff options
Diffstat (limited to 'keyboard')
| -rw-r--r-- | keyboard/gh60/Makefile | 4 | ||||
| -rw-r--r-- | keyboard/gh60/led.c | 19 | ||||
| -rw-r--r-- | keyboard/gh60/matrix.c | 103 | 
3 files changed, 58 insertions, 68 deletions
| diff --git a/keyboard/gh60/Makefile b/keyboard/gh60/Makefile index 6b0f1a0e8d..daba0f6449 100644 --- a/keyboard/gh60/Makefile +++ b/keyboard/gh60/Makefile @@ -55,7 +55,7 @@ SRC =	keymap_common.c \  ifdef KEYMAP      SRC := keymap_$(KEYMAP).c $(SRC)  else -    SRC := keymap_planck.c $(SRC) +    SRC := keymap_poker.c $(SRC)  endif  CONFIG_H = config.h @@ -132,4 +132,4 @@ VPATH += $(TMK_DIR)  include $(TMK_DIR)/protocol/lufa.mk  include $(TMK_DIR)/common.mk -include $(TMK_DIR)/rules.mk +include $(TMK_DIR)/rules.mk
\ No newline at end of file diff --git a/keyboard/gh60/led.c b/keyboard/gh60/led.c index 7c98510801..50659d7247 100644 --- a/keyboard/gh60/led.c +++ b/keyboard/gh60/led.c @@ -1,16 +1,13 @@  /*  Copyright 2012 Jun Wako <wakojun@gmail.com> -  This program is free software: you can redistribute it and/or modify  it under the terms of the GNU General Public License as published by  the Free Software Foundation, either version 2 of the License, or  (at your option) any later version. -  This program is distributed in the hope that it will be useful,  but WITHOUT ANY WARRANTY; without even the implied warranty of  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the  GNU General Public License for more details. -  You should have received a copy of the GNU General Public License  along with this program.  If not, see <http://www.gnu.org/licenses/>.  */ @@ -22,13 +19,13 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.  void led_set(uint8_t usb_led)  { -    if (usb_led & (1<<USB_LED_FUNCTION)) { -        // Output high. -        DDRF |= (1<<0); -        PORTF |= (1<<0); +    if (usb_led & (1<<USB_LED_CAPS_LOCK)) { +        // output low +        DDRB |= (1<<2); +        PORTB &= ~(1<<2);      } else { -        // Output low. -        DDRF &= ~(1<<0); -        PORTF &= ~(1<<0); +        // Hi-Z +        DDRB &= ~(1<<2); +        PORTB &= ~(1<<2);      } -} +}
\ No newline at end of file diff --git a/keyboard/gh60/matrix.c b/keyboard/gh60/matrix.c index 720ac30043..a226203db6 100644 --- a/keyboard/gh60/matrix.c +++ b/keyboard/gh60/matrix.c @@ -1,16 +1,13 @@  /*  Copyright 2012 Jun Wako <wakojun@gmail.com> -  This program is free software: you can redistribute it and/or modify  it under the terms of the GNU General Public License as published by  the Free Software Foundation, either version 2 of the License, or  (at your option) any later version. -  This program is distributed in the hope that it will be useful,  but WITHOUT ANY WARRANTY; without even the implied warranty of  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the  GNU General Public License for more details. -  You should have received a copy of the GNU General Public License  along with this program.  If not, see <http://www.gnu.org/licenses/>.  */ @@ -22,7 +19,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.  #include <stdbool.h>  #include <avr/io.h>  #include <util/delay.h> -#include "action_layer.h"  #include "print.h"  #include "debug.h"  #include "util.h" @@ -30,7 +26,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.  #ifndef DEBOUNCE -#   define DEBOUNCE	10 +#   define DEBOUNCE 5  #endif  static uint8_t debouncing = DEBOUNCE; @@ -95,19 +91,6 @@ uint8_t matrix_scan(void)          }      } -    uint8_t layer = biton32(layer_state); -    switch (layer) { -        case 1: -        case 2: -            DDRC |= (1<<7); -            PORTC |= (1<<7); -            break; -        case 0: -            DDRC &= ~(1<<7); -            PORTC &= ~(1<<7); -            break; -    } -      return 1;  } @@ -149,67 +132,77 @@ uint8_t matrix_key_count(void)  }  /* Column pin configuration - * col: 0  1  2  3  4  5  6  7  8  9  10 11 - * pin: F0 F1 F4 F5 F6 F7 B6 B5 B4 D7 D5 D4 + * col: 0   1   2   3   4   5   6   7   8   9   10  11  12  13 + * pin: F0  F1  E6  C7  C6  B6  D4  B1  B0  B5  B4  D7  D6  B3  (Rev.A) + * pin:                                 B7                      (Rev.B)   */ - -static void init_cols(void) +static void  init_cols(void)  { -    DDRF  &= ~(1<<0 | 1<<1 | 1<<4 | 1<<5 | 1<<6 | 1<<7); -    PORTF |=  (1<<0 | 1<<1 | 1<<4 | 1<<5 | 1<<6 | 1<<7); -    DDRD  &= ~(1<<0); -    PORTD |=  (1<<0); -    DDRB  &= ~(1<<0 | 1<<1 | 1<<2 | 1<<3 | 1<<7); -    PORTB |=  (1<<0 | 1<<1 | 1<<2 | 1<<3 | 1<<7); +    // Input with pull-up(DDR:0, PORT:1) +    DDRF  &= ~(1<<0 | 1<<1); +    PORTF |=  (1<<0 | 1<<1); +    DDRE  &= ~(1<<6); +    PORTE |=  (1<<6); +    DDRD  &= ~(1<<7 | 1<<6 | 1<<4); +    PORTD |=  (1<<7 | 1<<6 | 1<<4); +    DDRC  &= ~(1<<7 | 1<<6); +    PORTC |=  (1<<7 | 1<<6); +    DDRB  &= ~(1<<7 | 1<<6 | 1<< 5 | 1<<4 | 1<<3 | 1<<1 | 1<<0); +    PORTB |=  (1<<7 | 1<<6 | 1<< 5 | 1<<4 | 1<<3 | 1<<1 | 1<<0);  }  static matrix_row_t read_cols(void)  { -    return (PINB&(1<<0) ? 0 : (1<< 0)) | -           (PINB&(1<<1) ? 0 : (1<< 1)) | -           (PINB&(1<<2) ? 0 : (1<< 2)) | -           (PINB&(1<<3) ? 0 : (1<< 3)) | -           (PINB&(1<<7) ? 0 : (1<< 4)) | -           (PIND&(1<<0) ? 0 : (1<< 5)) | -           (PINF&(1<<7) ? 0 : (1<< 6)) | -           (PINF&(1<<6) ? 0 : (1<< 7)) | -           (PINF&(1<<5) ? 0 : (1<< 8)) | -           (PINF&(1<<4) ? 0 : (1<< 9)) | -           (PINF&(1<<1) ? 0 : (1<<10)) | -           (PINF&(1<<0) ? 0 : (1<<11)); +    return (PINF&(1<<0) ? 0 : (1<<0)) | +           (PINF&(1<<1) ? 0 : (1<<1)) | +           (PINE&(1<<6) ? 0 : (1<<2)) | +           (PINC&(1<<7) ? 0 : (1<<3)) | +           (PINC&(1<<6) ? 0 : (1<<4)) | +           (PINB&(1<<6) ? 0 : (1<<5)) | +           (PIND&(1<<4) ? 0 : (1<<6)) | +           (PINB&(1<<1) ? 0 : (1<<7)) | +           ((PINB&(1<<0) && PINB&(1<<7)) ? 0 : (1<<8)) |     // Rev.A and B +           (PINB&(1<<5) ? 0 : (1<<9)) | +           (PINB&(1<<4) ? 0 : (1<<10)) | +           (PIND&(1<<7) ? 0 : (1<<11)) | +           (PIND&(1<<6) ? 0 : (1<<12)) | +           (PINB&(1<<3) ? 0 : (1<<13));  }  /* Row pin configuration - * row: 0  1  2  3 - * pin: B0 B1 B2 B3 + * row: 0   1   2   3   4 + * pin: D0  D1  D2  D3  D5   */  static void unselect_rows(void)  {      // Hi-Z(DDR:0, PORT:0) to unselect -    DDRB  &= ~0b01110000; -    PORTB &= ~0b01110000; -    DDRD  &= ~0b10000000; -    PORTD &= ~0b10000000; +    DDRD  &= ~0b00101111; +    PORTD &= ~0b00101111;  }  static void select_row(uint8_t row)  { +    // Output low(DDR:1, PORT:0) to select      switch (row) {          case 0: -            DDRB  |= (1<<6); -            PORTB &= ~(1<<6); +            DDRD  |= (1<<0); +            PORTD &= ~(1<<0);              break;          case 1: -            DDRB  |= (1<<5); -            PORTB &= ~(1<<5); +            DDRD  |= (1<<1); +            PORTD &= ~(1<<1);              break;          case 2: -            DDRB  |= (1<<4); -            PORTB &= ~(1<<4); +            DDRD  |= (1<<2); +            PORTD &= ~(1<<2);              break;          case 3: -            DDRD  |= (1<<7); -            PORTD &= ~(1<<7); +            DDRD  |= (1<<3); +            PORTD &= ~(1<<3); +            break; +        case 4: +            DDRD  |= (1<<5); +            PORTD &= ~(1<<5);              break;      } -} +}
\ No newline at end of file | 
