* add readme.md * add extern declaration of edvorakjp_config to edvorakjp.h * add oled.c * add layout definitions * add keymap.c * add rules.mk * fix rgblight issue: rgblight_setrgb() ignore RGBLIGHT_LIMIT_VAL
		
			
				
	
	
		
			62 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			62 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
#include QMK_KEYBOARD_H
 | 
						|
#include "split_util.h"
 | 
						|
#include "keymap_xrows.h"
 | 
						|
#ifdef SSD1306OLED
 | 
						|
  #include "oled.h"
 | 
						|
#endif
 | 
						|
 | 
						|
// keymaps definitions are moved to keymap_Xrows.c.
 | 
						|
 | 
						|
bool process_record_keymap(uint16_t keycode, keyrecord_t *record) {
 | 
						|
  switch(keycode) {
 | 
						|
    case KC_LOCK:
 | 
						|
      if (record->event.pressed) {
 | 
						|
        if (edvorakjp_config.enable_kc_lang) {
 | 
						|
          SEND_STRING( SS_LCTRL(SS_LSFT(SS_TAP(X_POWER))) );
 | 
						|
        } else {
 | 
						|
          SEND_STRING( SS_LGUI("l") );
 | 
						|
        }
 | 
						|
      }
 | 
						|
      return false;
 | 
						|
  }
 | 
						|
  return true;
 | 
						|
}
 | 
						|
 | 
						|
#ifdef SSD1306OLED
 | 
						|
void matrix_init_keymap(void) {
 | 
						|
  //SSD1306 OLED init, make sure to add #define SSD1306OLED in config.h
 | 
						|
  iota_gfx_init(!has_usb());   // turns on the display
 | 
						|
}
 | 
						|
 | 
						|
void matrix_scan_user(void) {
 | 
						|
  iota_gfx_task();  // this is what updates the display continuously
 | 
						|
}
 | 
						|
#endif
 | 
						|
 | 
						|
#ifdef RGBLIGHT_ENABLE
 | 
						|
uint32_t layer_state_set_keymap(uint32_t state) {
 | 
						|
  rgblight_mode_noeeprom(1);
 | 
						|
  switch (biton32(state)) {
 | 
						|
    case _EDVORAKJ1:
 | 
						|
    case _EDVORAKJ2:
 | 
						|
      // _EDVORAKJ1 & J2 are same colored
 | 
						|
      rgblight_sethsv_noeeprom_white();
 | 
						|
      break;
 | 
						|
    case _LOWER:
 | 
						|
      rgblight_sethsv_noeeprom_red();
 | 
						|
      break;
 | 
						|
    case _RAISE:
 | 
						|
      rgblight_sethsv_noeeprom_blue();
 | 
						|
      break;
 | 
						|
    case _ADJUST:
 | 
						|
      rgblight_sethsv_noeeprom_green();
 | 
						|
      break;
 | 
						|
    default: //  for any other layers, or the default layer
 | 
						|
      rgblight_mode_noeeprom(28);
 | 
						|
      rgblight_sethsv_noeeprom_red();
 | 
						|
      break;
 | 
						|
  }
 | 
						|
  return state;
 | 
						|
}
 | 
						|
#endif
 |