]> git.donarmstrong.com Git - qmk_firmware.git/blob - keyboards/kinesis/kinesis.c
Merge branch 'master' of http://github.com/jackhumbert/qmk_firmware
[qmk_firmware.git] / keyboards / kinesis / kinesis.c
1 #include "kinesis.h"
2
3 // begin section origin  https://github.com/alvicstep/tmk_keyboard 
4
5
6 void all_led_off(void)
7 {
8         PORTD = 0b11111111;
9 }
10
11 void all_led_on(void)
12 {
13         PORTD = 0b00000000;
14 }
15 void num_lock_led_on(void)
16 {
17         PORTD = 0b11101111;
18 }
19
20 void caps_lock_led_on(void)
21 {
22         PORTD = 0b01111111;
23 }
24
25 void scroll_lock_led_on(void)
26 {
27         PORTD = 0b11011111;
28 }
29 void keypad_led_on(void)
30 {
31         PORTD = 0b10111111;
32 }
33 void blink_all_leds(void)
34 {
35         all_led_on();
36         _delay_ms(500);
37
38         all_led_off();
39         _delay_ms(100);
40
41         caps_lock_led_on();
42         _delay_ms(100);
43
44          num_lock_led_on();
45         _delay_ms(100);
46
47         scroll_lock_led_on();
48         _delay_ms(100);
49
50          keypad_led_on();
51         _delay_ms(100);
52
53         //back
54
55         scroll_lock_led_on();
56         _delay_ms(100);
57
58         num_lock_led_on();
59         _delay_ms(100);
60
61         caps_lock_led_on();
62         _delay_ms(100);
63
64         all_led_off();
65 }
66
67 // End section origin  https://github.com/alvicstep/tmk_keyboard 
68
69  void matrix_init_kb(void) {
70           blink_all_leds();
71           matrix_init_user();
72 }
73
74
75 void matrix_scan_kb(void) {
76         // put your looping keyboard code here
77         // runs every cycle (a lot)
78         
79         matrix_scan_user();
80 }
81
82 bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
83         // put your per-action keyboard code here
84         // runs for every action, just before processing by the firmware
85
86         return process_record_user(keycode, record);
87 }
88
89 void led_set_kb(uint8_t usb_led) {
90         // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here
91
92 //Copyright 2014 Warren Janssens <warren.janssens@gmail.com>
93    uint8_t leds = 0xF0;
94     if (usb_led & 1 << USB_LED_NUM_LOCK)
95         leds &= ~0x10;
96     if (usb_led & 1 << USB_LED_CAPS_LOCK)
97         leds &= ~0x80;
98     if (usb_led & 1 << USB_LED_SCROLL_LOCK)
99         leds &= ~0x20;
100     PORTD = (PORTD & 0x0F) | leds;
101
102         led_set_user(usb_led);
103
104 }
105
106