qmk-keychron-q3-colemak-dh/keyboards/clueboard/66/rev3/rev3.c
skullydazed d1f735b6d2
Clueboard refresh (#4902)
* Cluecard: refactor

- renamed layout macro KEYMAP to LAYOUT
- reformatted layout macro to more closely resemble physical device layout
- keymaps now use #include QMK_KEYBOARD_H
- config.h files updated to use #pragma once method
- deleted outdated QUANTUM_DIR code blocks from rules.mk files
- white space changes on rules.mk files (alignment/readability)

* Cluecard: Configurator support

* Cluecard: readme update

- added image
- updated Docs links

* Clueboard 66% HotSwap: corrected matrix and Configurator data

- removed k31 and k84 from LAYOUT
  - both appear to be unsupported for this PCB according to images on clueboard.co
  - updated block comment mock-ups to match changes
- rebuilt info.json file
- delete removed keys from default keymap.c

* Clueboard 66% HotSwap: readme update

- fix make example
- updated Docs links

* Clueboard 66% HotSwap: 66_ansi keymap update

Updated to use #include QMK_KEYBOARD_H

* Clueboard 60% refactor

- renamed layout macro KEYMAP to LAYOUT_all
- renamed layout macro KEYMAP_AEK to LAYOUT_aek
- removed redundant KC_TRNS definitions from keymaps
- all keymaps now use #include QMK_KEYBOARD_H

* Clueboard 17%: refactor

* Clueboard 17%: Configurator support

* Clueboard 17%: update Docs links in readme

* Cleanup the 2x1800 files

* Update Clueboard 60% to standard matrix

* Update the clueboard default keymaps

* Refresh and update clueboard 17

* Add the 66% hotswap to Clueboard's readme

* Clarify the 66% hotswap's readme

* change the image to imgur

* Update the clueboard 66 to follow modern standards

* update clueboard 66_hotswap to follow modern practices

* Move the logo to imgur

* update clueboard/card to follow modern practices

* remove clueboard/66 as a valid make target

* Address comments in #4902

* fix user keymaps after the changes
2019-01-23 09:25:32 -08:00

60 lines
1.2 KiB
C

#include "rev3.h"
#include <avr/io.h>
#include "backlight.h"
#include "print.h"
void matrix_init_kb(void) {
// put your keyboard start-up code here
// runs once when the firmware starts up
matrix_init_user();
led_init_ports();
}
void matrix_scan_kb(void) {
matrix_scan_user();
}
void backlight_init_ports(void) {
print("init_backlight_pin()\n");
// Set our LED pins as output
DDRD |= (1<<6); // Esc
DDRB |= (1<<7); // Page Up
DDRD |= (1<<4); // Arrows
// Set our LED pins low
PORTD &= ~(1<<6); // Esc
PORTB &= ~(1<<7); // Page Up
PORTD &= ~(1<<4); // Arrows
}
void backlight_set(uint8_t level) {
if ( level == 0 ) {
// Turn off light
PORTD |= (1<<6); // Esc
PORTB |= (1<<7); // Page Up
PORTD |= (1<<4); // Arrows
} else {
// Turn on light
PORTD &= ~(1<<6); // Esc
PORTB &= ~(1<<7); // Page Up
PORTD &= ~(1<<4); // Arrows
}
}
void led_init_ports() {
// * Set our LED pins as output
DDRB |= (1<<4);
}
void led_set_kb(uint8_t usb_led) {
DDRB |= (1<<4);
if (usb_led & (1<<USB_LED_CAPS_LOCK)) {
// Turn capslock on
PORTB |= (1<<4);
} else {
// Turn capslock off
PORTB &= ~(1<<4);
}
}