* add indicator lighting support thanks to Keebology tracing * set the correct number of underglow LEDs * add comments and skeletal structure for layer indicator LEDs * add backlight areas pins * update readme * we can't turn leds on based on zones, so we use multiple backlight pin support instead to turn them ALL on and control them. * add comments to backlight setting * make a more useful default keymap that can also be used for testing * add duck orion to list * add indicator led support * update readme * Update keyboards/duck/orion/v3/matrix.c Co-Authored-By: Drashna Jaelre <drashna@live.com> * Update keyboards/duck/orion/v3/matrix.c Co-Authored-By: Drashna Jaelre <drashna@live.com> * Update keyboards/duck/orion/v3/matrix.c Co-Authored-By: Drashna Jaelre <drashna@live.com> * Update keyboards/duck/orion/v3/matrix.c Co-Authored-By: Drashna Jaelre <drashna@live.com> * Update keyboards/duck/orion/v3/matrix.c Co-Authored-By: Drashna Jaelre <drashna@live.com> * Update keyboards/duck/orion/v3/matrix.c Co-Authored-By: Drashna Jaelre <drashna@live.com> * add the appropriate header files * fix indent so Drashna will not die * Update keyboards/duck/orion/v3/v3.c Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/duck/orion/v3/keymaps/default/keymap.c Co-Authored-By: fauxpark <fauxpark@gmail.com> * Update keyboards/duck/orion/v3/keymaps/default/keymap.c Co-Authored-By: fauxpark <fauxpark@gmail.com> * Update keyboards/duck/orion/v3/readme.md Co-Authored-By: fauxpark <fauxpark@gmail.com> * Update keyboards/duck/orion/v3/readme.md Co-Authored-By: fauxpark <fauxpark@gmail.com> * Update keyboards/duck/orion/v3/readme.md Co-Authored-By: fauxpark <fauxpark@gmail.com> Co-authored-by: Drashna Jaelre <drashna@live.com> Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> Co-authored-by: fauxpark <fauxpark@gmail.com>
		
			
				
	
	
		
			44 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			44 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
/* Copyright 2019 MechMerlin <mechmerlin@gmail.com>
 | 
						|
 *
 | 
						|
 * This program is free software: you can redistribute it and/or modify
 | 
						|
 * it under the terms of the GNU General Public License as published by
 | 
						|
 * the Free Software Foundation, either version 2 of the License, or
 | 
						|
 * (at your option) any later version.
 | 
						|
 *
 | 
						|
 * This program is distributed in the hope that it will be useful,
 | 
						|
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
						|
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
						|
 * GNU General Public License for more details.
 | 
						|
 *
 | 
						|
 * You should have received a copy of the GNU General Public License
 | 
						|
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
						|
 */
 | 
						|
#include "v3.h"
 | 
						|
#include "indicator_leds.h"
 | 
						|
 | 
						|
// Alphas              PB1
 | 
						|
// Navigation Cluster: PB2
 | 
						|
// Number Row, Mods:   PB3
 | 
						|
// Function Row:       PE6
 | 
						|
 | 
						|
// Other than using RGB or LED matrix, QMK cannot turn on specific zones
 | 
						|
// of backlight LEDs. Unfortunately, Duck PCBs do not follow this design
 | 
						|
// and instead use multiple pins connected to each of these zones. QMK is
 | 
						|
// only able to control them ALL with the current default mechanisms. 
 | 
						|
 | 
						|
// Locking indicator LEDs
 | 
						|
// The Duck Orion V3 has 3 locking indicator LEDs and are located to the right
 | 
						|
// of the Escape key. 
 | 
						|
bool led_update_kb(led_t led_state) {
 | 
						|
    if(led_update_user(led_state)) {
 | 
						|
        writePin(B0, !led_state.caps_lock);
 | 
						|
        writePin(B4, !led_state.num_lock);
 | 
						|
        writePin(D7, !led_state.scroll_lock);
 | 
						|
    }
 | 
						|
    return true;
 | 
						|
}
 | 
						|
 | 
						|
bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
 | 
						|
  return process_record_user(keycode, record);
 | 
						|
}
 |