Skip to content

Commit

Permalink
[Keyboard] Think 6.5 Soldered Matrix Fix (qmk#7952)
Browse files Browse the repository at this point in the history
* both backspace and left shift matrix positions off by one

* update the led_update routine

* update readme

* Update keyboards/gray_studio/think65/solder/solder.c
  • Loading branch information
mechmerlin authored and noroadsleft committed Jan 21, 2020
1 parent 37db601 commit 9b6b54c
Show file tree
Hide file tree
Showing 3 changed files with 8 additions and 24 deletions.
2 changes: 0 additions & 2 deletions keyboards/gray_studio/think65/solder/readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,6 @@ Keyboard Maintainer: [MechMerlin](https://github.com/mechmerlin)
Hardware Supported: Think6.5 Compatible PCB
Hardware Availability: [Geekhack GB](https://geekhack.org/index.php?topic=100166.0)

**Note:** The `LAYOUT_65_ansi_blocker` LAYOUT macro utilizes the same pins and switch matrix as the hotswap version. Any firmware made with this LAYOUT macro can be flashed on both the Solder (Compatible) version and the Hotswap version of the Think6.5.

**Indicator LEDs:** The solder PCB ONLY supports Caps Lock LEDs unlike the Hotswap version that supports Num Lock, Caps Lock, and Scroll Lock.

Make example for this keyboard (after setting up your build environment):
Expand Down
22 changes: 4 additions & 18 deletions keyboards/gray_studio/think65/solder/solder.c
Original file line number Diff line number Diff line change
Expand Up @@ -25,33 +25,19 @@ void matrix_init_kb(void) {
// runs once when the firmware starts up

setPinOutput(C7);

matrix_init_user();
}

void matrix_scan_kb(void) {
// put your looping keyboard code here
// runs every cycle (a lot)

matrix_scan_user();
}

bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
// put your per-action keyboard code here
// runs for every action, just before processing by the firmware

return process_record_user(keycode, record);
}

void led_set_kb(uint8_t usb_led) {
// put your keyboard LED indicator (ex: Caps Lock LED) toggling code here

if (IS_LED_ON(usb_led, USB_LED_CAPS_LOCK)) {
writePinLow(C7);
} else {
writePinHigh(C7);
bool led_update_kb(led_t led_state) {
if(led_update_user(led_state)) {
writePin(C7, !led_state.caps_lock);
}

led_set_user(usb_led);
return true;
}

8 changes: 4 additions & 4 deletions keyboards/gray_studio/think65/solder/solder.h
Original file line number Diff line number Diff line change
Expand Up @@ -32,16 +32,16 @@
}

#define LAYOUT_65_ansi_blocker( \
K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0E, K0F, \
K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0F, \
K10, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, \
K20, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2F, \
K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, K3E, K3F, \
K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, K3E, K3F, \
K40, K41, K43, K46, K4A, K4B, K4D, K4E, K4F \
) { \
{ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, KC_NO, K0E, K0F }, \
{ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, KC_NO, K0F }, \
{ K10, KC_NO, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F }, \
{ K20, KC_NO, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, KC_NO, K2F }, \
{ KC_NO, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, KC_NO, K3D, K3E, K3F }, \
{ K30, KC_NO, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, KC_NO, K3D, K3E, K3F }, \
{ K40, K41, KC_NO, K43, KC_NO, KC_NO, K46, KC_NO, KC_NO, KC_NO, K4A, K4B, KC_NO, K4D, K4E, K4F }, \
}

Expand Down

0 comments on commit 9b6b54c

Please sign in to comment.