qmk

Unnamed repository; edit this file 'description' to name the repository.
git clone git://git.z3bra.org/qmk.git
Log | Files | Refs | Submodules | LICENSE

keymap.c (4756B)


      1 /* Copyright 2018 Holten Campbell
      2  *
      3  * This program is free software: you can redistribute it and/or modify
      4  * it under the terms of the GNU General Public License as published by
      5  * the Free Software Foundation, either version 2 of the License, or
      6  * (at your option) any later version.
      7  *
      8  * This program is distributed in the hope that it will be useful,
      9  * but WITHOUT ANY WARRANTY; without even the implied warranty of
     10  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     11  * GNU General Public License for more details.
     12  *
     13  * You should have received a copy of the GNU General Public License
     14  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
     15  */
     16 #include QMK_KEYBOARD_H
     17 
     18 
     19 
     20 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
     21     LAYOUT(
     22 		KC_NLCK, 	KC_LPRN, 	KC_RPRN, 	KC_PSLS, 	KC_PAST, 	KC_BSPC, 				KC_ESC, 		KC_Q, 			KC_W, 		KC_E, 			KC_R, 		KC_T,				 		KC_Y, 			KC_U, 			KC_I, 			KC_O, 				KC_P, 			KC_BSPC,
     23 		KC_F1, 		KC_F2, 		KC_P7, 		KC_P8, 		KC_P9, 		KC_DEL,					KC_TAB, 		KC_A, 			KC_S, 			KC_D, 			KC_F, 		KC_G,			 	 		KC_H, 			KC_J, 			KC_K, 			KC_L, 				KC_QUOT, 	KC_ENT,
     24 		KC_F3,		KC_F4,		KC_P4,		KC_P5,		KC_P6,		KC_PMNS,				KC_LSFT, 	KC_Z, 			KC_X, 			KC_C, 			KC_V, 		KC_B,				 		MO(3), 		KC_N, 			KC_M, 		KC_COMM,	KC_DOT, 	KC_SLSH, 	KC_LSFT,
     25 		KC_F5,		KC_F6,		KC_P1,		KC_P2,		KC_P3,		KC_PPLS,				KC_LCTL, 	KC_LALT, 	KC_LBRC, 	KC_RBRC, 			MO(2),									KC_SPC, 					KC_MINS, 	KC_EQL, 			KC_LGUI, 	MO(3),
     26 		KC_F7,		KC_F8,		MO(1),		KC_PDOT,	KC_P0,		KC_PENT
     27     ),
     28 
     29 	LAYOUT(
     30 		KC_ESC, 	KC_1, 		KC_2, 		KC_3, 		KC_4, 		KC_F9, 					KC_ESC, 	KC_Q, 		KC_W, 		KC_E, 			KC_R, 		KC_T,				 		KC_Y, 		KC_U, 		KC_I, 		KC_O, 		KC_P, 		KC_BSPC,
     31 		KC_TAB, 	KC_Q, 		KC_W, 		KC_E, 		KC_R, 		KC_T,					KC_TAB, 	KC_A, 		KC_S, 		KC_D, 			KC_F, 		KC_G,			 	 		KC_H, 		KC_J, 		KC_K, 		KC_L, 		KC_QUOT, 	KC_ENT,
     32 		KC_TAB,		KC_A,		KC_S,		KC_D,		KC_F,		KC_G,					KC_LSFT, 	KC_Z, 		KC_X, 		KC_C, 			KC_V, 		KC_B,				 		MO(3), 		KC_N, 		KC_M, 		KC_COMM,	KC_DOT, 	KC_SLSH, 	KC_LSFT,
     33 		KC_LSFT,	KC_Z,		KC_X,		KC_C,		KC_V,		KC_B,					KC_LCTL, 	KC_LALT, 	KC_LBRC, 	KC_RBRC, 		MO(2),									KC_SPC, 				KC_MINS, 	KC_EQL, 	KC_LGUI, 	MO(3),
     34 		KC_LCTL,	KC_LALT,	TO(0),		KC_P,		KC_H,		KC_SPC
     35     ),
     36 
     37 	LAYOUT(
     38 		KC_TRNS, 	KC_TRNS, 	KC_TRNS, 	KC_TRNS, 	KC_TRNS, 	KC_TRNS, 				KC_GRV, 		KC_1, 				KC_2, 				KC_3, 				KC_4, 				KC_5,				 				KC_TRNS, 	KC_TRNS, 	KC_UP, 			KC_TRNS, 	KC_TRNS, 	KC_DEL,
     39 		KC_TRNS, 	KC_TRNS, 	KC_TRNS, 	KC_TRNS, 	KC_TRNS, 	KC_TRNS,				KC_CAPS, 		KC_TRNS, 		KC_TRNS, 		KC_TRNS, 		KC_TRNS, 		KC_TRNS,			 	 		KC_TRNS, 	KC_LEFT, 	KC_DOWN, 	KC_RGHT, 	KC_SCLN, 	KC_BSLS,
     40 		KC_TRNS,	KC_TRNS,	KC_TRNS,	KC_TRNS,	KC_TRNS,	KC_TRNS,				KC_TRNS, 		KC_TRNS, 		KC_TRNS, 		KC_TRNS, 		KC_TRNS, 		KC_TRNS,				 		KC_TRNS, 	KC_TRNS, 	KC_TRNS, 		KC_TRNS,	KC_TRNS, 	KC_TRNS, 	KC_TRNS,
     41 		KC_TRNS,	KC_TRNS,	KC_TRNS,	KC_TRNS,	KC_TRNS,	KC_TRNS,				KC_TRNS, 		KC_TRNS, 		KC_TRNS, 		KC_TRNS, 					KC_TRNS,												KC_TRNS, 			KC_VOLD, 		KC_VOLU, 	KC_MUTE, 	KC_TRNS,
     42 		BL_TOGG,	BL_STEP,		KC_TRNS,	KC_TRNS,	KC_TRNS,	KC_TRNS
     43     ),
     44 
     45 	LAYOUT(
     46 		KC_TRNS, 	KC_TRNS, 	KC_TRNS, 	KC_TRNS, 	KC_TRNS, 	KC_TRNS, 				KC_TRNS, 		KC_1, 				KC_2, 				KC_3, 				KC_4, 				KC_5,				 				KC_6, 			KC_7, 			KC_8, 			KC_9, 			KC_0, 			KC_TRNS,
     47 		KC_TRNS, 	KC_TRNS, 	KC_TRNS, 	KC_TRNS, 	KC_TRNS, 	KC_TRNS,				KC_TRNS, 		KC_TRNS, 		KC_TRNS, 		KC_TRNS, 		KC_TRNS, 		KC_TRNS,			 	 		KC_TRNS, 	KC_TRNS, 	KC_TRNS, 	KC_TRNS, 	KC_TRNS, 	KC_TRNS,
     48 		KC_TRNS,	KC_TRNS,	KC_TRNS,	KC_TRNS,	KC_TRNS,	KC_TRNS,				KC_TRNS, 		KC_TRNS, 		KC_TRNS, 		KC_TRNS, 		KC_TRNS, 		KC_TRNS,				 		KC_TRNS, 	KC_TRNS, 	KC_TRNS, 	KC_TRNS,	KC_TRNS, 	KC_TRNS, 	KC_TRNS,
     49 		KC_TRNS,	KC_TRNS,	KC_TRNS,	KC_TRNS,	KC_TRNS,	KC_TRNS,				KC_TRNS, 		KC_TRNS, 		KC_TRNS, 		KC_TRNS, 					KC_TRNS,												KC_TRNS, 			KC_TRNS, 	KC_TRNS, 	KC_TRNS, 	KC_TRNS,
     50 		KC_TRNS,	KC_TRNS,	KC_TRNS,	KC_TRNS,	KC_TRNS,	KC_TRNS
     51     )
     52 };
     53 
     54 
     55 void matrix_init_user(void) {
     56   // set CapsLock LED to output and low
     57   setPinOutput(C6);
     58   writePinHigh(C6);
     59   // set NumLock LED to output and low
     60   setPinOutput(B6);
     61   writePinHigh(B6);
     62   // set ScrollLock LED to output and low
     63   setPinOutput(B5);
     64   writePinHigh(B5);
     65 }
     66 
     67 void matrix_scan_user(void) {
     68 
     69 }
     70 
     71 
     72 void led_set_user(uint8_t usb_led) {
     73   if (IS_LED_ON(usb_led, USB_LED_NUM_LOCK)) {
     74     writePinHigh(B6);
     75   } else {
     76     writePinLow(B6);
     77   }
     78   if (IS_LED_ON(usb_led, USB_LED_CAPS_LOCK)) {
     79     writePinHigh(B5);
     80   } else {
     81     writePinLow(B5);
     82   }
     83   /*
     84   if (IS_LED_ON(usb_led, USB_LED_SCROLL_LOCK)) {
     85     writePinHigh(C6);
     86   } else {
     87     writePinLow(C6);
     88   }
     89   */
     90 }
     91 
     92 //function for layer indicator LED
     93 uint32_t layer_state_set_user(uint32_t state)
     94 {
     95     if (biton32(state) == 2) {
     96     writePinHigh(C6);
     97 	} else {
     98 		writePinLow(C6);
     99     }
    100     return state;
    101 }