Merge remote-tracking branch 'origin/master' into develop
This commit is contained in:
		
						commit
						0709d208db
					
				
					 24 changed files with 1644 additions and 53 deletions
				
			
		
							
								
								
									
										25
									
								
								keyboards/handwired/baredev/rev1/config.h
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										25
									
								
								keyboards/handwired/baredev/rev1/config.h
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,25 @@
 | 
			
		|||
/*
 | 
			
		||||
Copyright 2021 Fernando "ManoShu" Rodrigues
 | 
			
		||||
 | 
			
		||||
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/>.
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
#pragma once
 | 
			
		||||
 | 
			
		||||
#include "config_common.h"
 | 
			
		||||
 | 
			
		||||
/* disable these deprecated features by default */
 | 
			
		||||
#define NO_ACTION_MACRO
 | 
			
		||||
#define NO_ACTION_FUNCTION
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										706
									
								
								keyboards/handwired/baredev/rev1/info.json
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										706
									
								
								keyboards/handwired/baredev/rev1/info.json
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,706 @@
 | 
			
		|||
{
 | 
			
		||||
    "manufacturer": "Fernando \"ManoShu\" Rodrigues",
 | 
			
		||||
    "keyboard_name": "BareDev (rev1)",
 | 
			
		||||
    "url": "https://github.com/ManoShu/BareDev",
 | 
			
		||||
    "maintainer": "ManoShu",
 | 
			
		||||
    "debounce": 5,
 | 
			
		||||
    "diode_direction": "COL2ROW",
 | 
			
		||||
    "tapping": {
 | 
			
		||||
        "term": 175
 | 
			
		||||
    },
 | 
			
		||||
    "matrix_pins": {
 | 
			
		||||
        "unused": [
 | 
			
		||||
            "F1",
 | 
			
		||||
            "F4",
 | 
			
		||||
            "F5",
 | 
			
		||||
            "F6",
 | 
			
		||||
            "F7"
 | 
			
		||||
        ],
 | 
			
		||||
        "cols": [
 | 
			
		||||
            "B6",
 | 
			
		||||
            "B7",
 | 
			
		||||
            "C6",
 | 
			
		||||
            "C7",
 | 
			
		||||
            "D0",
 | 
			
		||||
            "D1",
 | 
			
		||||
            "D2",
 | 
			
		||||
            "D3",
 | 
			
		||||
            "D4",
 | 
			
		||||
            "D5",
 | 
			
		||||
            "D6",
 | 
			
		||||
            "D7",
 | 
			
		||||
            "E6",
 | 
			
		||||
            "F0"
 | 
			
		||||
        ],
 | 
			
		||||
        "rows": [
 | 
			
		||||
            "B0",
 | 
			
		||||
            "B1",
 | 
			
		||||
            "B2",
 | 
			
		||||
            "B3",
 | 
			
		||||
            "B4",
 | 
			
		||||
            "B5"
 | 
			
		||||
        ]
 | 
			
		||||
    },
 | 
			
		||||
    "usb": {
 | 
			
		||||
        "vid": "0xFEED",
 | 
			
		||||
        "pid": "0x4126",
 | 
			
		||||
        "device_ver": "0x0001",
 | 
			
		||||
        "polling_interval": 1,
 | 
			
		||||
        "shared_endpoint": {
 | 
			
		||||
            "keyboard": true
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
    "processor": "atmega32u4",
 | 
			
		||||
    "bootloader": "atmel-dfu",
 | 
			
		||||
    "features": {
 | 
			
		||||
        "audio": false,
 | 
			
		||||
        "bootmagic": true,
 | 
			
		||||
        "command": false,
 | 
			
		||||
        "console": false,
 | 
			
		||||
        "extrakey": true,
 | 
			
		||||
        "midi": false,
 | 
			
		||||
        "mousekey": true,
 | 
			
		||||
        "nkro": true,
 | 
			
		||||
        "rgblight": false,
 | 
			
		||||
        "unicode": false,
 | 
			
		||||
        "bluetooth": false,
 | 
			
		||||
        "backlight": false,
 | 
			
		||||
        "sleep_led": false
 | 
			
		||||
    },
 | 
			
		||||
    "layout_aliases": {
 | 
			
		||||
        "LAYOUT": "LAYOUT_abnt2"
 | 
			
		||||
    },
 | 
			
		||||
    "layouts": {
 | 
			
		||||
        "LAYOUT_abnt2": {
 | 
			
		||||
            "layout": [
 | 
			
		||||
                {
 | 
			
		||||
                    "matrix": [
 | 
			
		||||
                        0,
 | 
			
		||||
                        0
 | 
			
		||||
                    ],
 | 
			
		||||
                    "x": 0,
 | 
			
		||||
                    "y": 0
 | 
			
		||||
                },
 | 
			
		||||
                {
 | 
			
		||||
                    "matrix": [
 | 
			
		||||
                        0,
 | 
			
		||||
                        2
 | 
			
		||||
                    ],
 | 
			
		||||
                    "x": 2,
 | 
			
		||||
                    "y": 0
 | 
			
		||||
                },
 | 
			
		||||
                {
 | 
			
		||||
                    "matrix": [
 | 
			
		||||
                        0,
 | 
			
		||||
                        3
 | 
			
		||||
                    ],
 | 
			
		||||
                    "x": 3,
 | 
			
		||||
                    "y": 0
 | 
			
		||||
                },
 | 
			
		||||
                {
 | 
			
		||||
                    "matrix": [
 | 
			
		||||
                        0,
 | 
			
		||||
                        4
 | 
			
		||||
                    ],
 | 
			
		||||
                    "x": 4,
 | 
			
		||||
                    "y": 0
 | 
			
		||||
                },
 | 
			
		||||
                {
 | 
			
		||||
                    "matrix": [
 | 
			
		||||
                        0,
 | 
			
		||||
                        5
 | 
			
		||||
                    ],
 | 
			
		||||
                    "x": 5,
 | 
			
		||||
                    "y": 0
 | 
			
		||||
                },
 | 
			
		||||
                {
 | 
			
		||||
                    "matrix": [
 | 
			
		||||
                        0,
 | 
			
		||||
                        6
 | 
			
		||||
                    ],
 | 
			
		||||
                    "x": 6.5,
 | 
			
		||||
                    "y": 0
 | 
			
		||||
                },
 | 
			
		||||
                {
 | 
			
		||||
                    "matrix": [
 | 
			
		||||
                        0,
 | 
			
		||||
                        7
 | 
			
		||||
                    ],
 | 
			
		||||
                    "x": 7.5,
 | 
			
		||||
                    "y": 0
 | 
			
		||||
                },
 | 
			
		||||
                {
 | 
			
		||||
                    "matrix": [
 | 
			
		||||
                        0,
 | 
			
		||||
                        8
 | 
			
		||||
                    ],
 | 
			
		||||
                    "x": 8.5,
 | 
			
		||||
                    "y": 0
 | 
			
		||||
                },
 | 
			
		||||
                {
 | 
			
		||||
                    "matrix": [
 | 
			
		||||
                        0,
 | 
			
		||||
                        9
 | 
			
		||||
                    ],
 | 
			
		||||
                    "x": 9.5,
 | 
			
		||||
                    "y": 0
 | 
			
		||||
                },
 | 
			
		||||
                {
 | 
			
		||||
                    "matrix": [
 | 
			
		||||
                        0,
 | 
			
		||||
                        10
 | 
			
		||||
                    ],
 | 
			
		||||
                    "x": 11,
 | 
			
		||||
                    "y": 0
 | 
			
		||||
                },
 | 
			
		||||
                {
 | 
			
		||||
                    "matrix": [
 | 
			
		||||
                        0,
 | 
			
		||||
                        11
 | 
			
		||||
                    ],
 | 
			
		||||
                    "x": 12,
 | 
			
		||||
                    "y": 0
 | 
			
		||||
                },
 | 
			
		||||
                {
 | 
			
		||||
                    "matrix": [
 | 
			
		||||
                        0,
 | 
			
		||||
                        12
 | 
			
		||||
                    ],
 | 
			
		||||
                    "x": 13,
 | 
			
		||||
                    "y": 0
 | 
			
		||||
                },
 | 
			
		||||
                {
 | 
			
		||||
                    "matrix": [
 | 
			
		||||
                        0,
 | 
			
		||||
                        13
 | 
			
		||||
                    ],
 | 
			
		||||
                    "x": 14,
 | 
			
		||||
                    "y": 0
 | 
			
		||||
                },
 | 
			
		||||
                {
 | 
			
		||||
                    "matrix": [
 | 
			
		||||
                        1,
 | 
			
		||||
                        0
 | 
			
		||||
                    ],
 | 
			
		||||
                    "x": 0,
 | 
			
		||||
                    "y": 1.25
 | 
			
		||||
                },
 | 
			
		||||
                {
 | 
			
		||||
                    "matrix": [
 | 
			
		||||
                        1,
 | 
			
		||||
                        1
 | 
			
		||||
                    ],
 | 
			
		||||
                    "x": 1,
 | 
			
		||||
                    "y": 1.25
 | 
			
		||||
                },
 | 
			
		||||
                {
 | 
			
		||||
                    "matrix": [
 | 
			
		||||
                        1,
 | 
			
		||||
                        2
 | 
			
		||||
                    ],
 | 
			
		||||
                    "x": 2,
 | 
			
		||||
                    "y": 1.25
 | 
			
		||||
                },
 | 
			
		||||
                {
 | 
			
		||||
                    "matrix": [
 | 
			
		||||
                        1,
 | 
			
		||||
                        3
 | 
			
		||||
                    ],
 | 
			
		||||
                    "x": 3,
 | 
			
		||||
                    "y": 1.25
 | 
			
		||||
                },
 | 
			
		||||
                {
 | 
			
		||||
                    "matrix": [
 | 
			
		||||
                        1,
 | 
			
		||||
                        4
 | 
			
		||||
                    ],
 | 
			
		||||
                    "x": 4,
 | 
			
		||||
                    "y": 1.25
 | 
			
		||||
                },
 | 
			
		||||
                {
 | 
			
		||||
                    "matrix": [
 | 
			
		||||
                        1,
 | 
			
		||||
                        5
 | 
			
		||||
                    ],
 | 
			
		||||
                    "x": 5,
 | 
			
		||||
                    "y": 1.25
 | 
			
		||||
                },
 | 
			
		||||
                {
 | 
			
		||||
                    "matrix": [
 | 
			
		||||
                        1,
 | 
			
		||||
                        6
 | 
			
		||||
                    ],
 | 
			
		||||
                    "x": 6,
 | 
			
		||||
                    "y": 1.25
 | 
			
		||||
                },
 | 
			
		||||
                {
 | 
			
		||||
                    "matrix": [
 | 
			
		||||
                        1,
 | 
			
		||||
                        7
 | 
			
		||||
                    ],
 | 
			
		||||
                    "x": 7,
 | 
			
		||||
                    "y": 1.25
 | 
			
		||||
                },
 | 
			
		||||
                {
 | 
			
		||||
                    "matrix": [
 | 
			
		||||
                        1,
 | 
			
		||||
                        8
 | 
			
		||||
                    ],
 | 
			
		||||
                    "x": 8,
 | 
			
		||||
                    "y": 1.25
 | 
			
		||||
                },
 | 
			
		||||
                {
 | 
			
		||||
                    "matrix": [
 | 
			
		||||
                        1,
 | 
			
		||||
                        9
 | 
			
		||||
                    ],
 | 
			
		||||
                    "x": 9,
 | 
			
		||||
                    "y": 1.25
 | 
			
		||||
                },
 | 
			
		||||
                {
 | 
			
		||||
                    "matrix": [
 | 
			
		||||
                        1,
 | 
			
		||||
                        10
 | 
			
		||||
                    ],
 | 
			
		||||
                    "x": 10,
 | 
			
		||||
                    "y": 1.25
 | 
			
		||||
                },
 | 
			
		||||
                {
 | 
			
		||||
                    "matrix": [
 | 
			
		||||
                        1,
 | 
			
		||||
                        11
 | 
			
		||||
                    ],
 | 
			
		||||
                    "x": 11,
 | 
			
		||||
                    "y": 1.25
 | 
			
		||||
                },
 | 
			
		||||
                {
 | 
			
		||||
                    "matrix": [
 | 
			
		||||
                        1,
 | 
			
		||||
                        12
 | 
			
		||||
                    ],
 | 
			
		||||
                    "x": 12,
 | 
			
		||||
                    "y": 1.25
 | 
			
		||||
                },
 | 
			
		||||
                {
 | 
			
		||||
                    "matrix": [
 | 
			
		||||
                        1,
 | 
			
		||||
                        13
 | 
			
		||||
                    ],
 | 
			
		||||
                    "x": 13,
 | 
			
		||||
                    "y": 1.25,
 | 
			
		||||
                    "w": 2
 | 
			
		||||
                },
 | 
			
		||||
                {
 | 
			
		||||
                    "matrix": [
 | 
			
		||||
                        2,
 | 
			
		||||
                        0
 | 
			
		||||
                    ],
 | 
			
		||||
                    "x": 0,
 | 
			
		||||
                    "y": 2.25,
 | 
			
		||||
                    "w": 1.5
 | 
			
		||||
                },
 | 
			
		||||
                {
 | 
			
		||||
                    "matrix": [
 | 
			
		||||
                        2,
 | 
			
		||||
                        1
 | 
			
		||||
                    ],
 | 
			
		||||
                    "x": 1.5,
 | 
			
		||||
                    "y": 2.25
 | 
			
		||||
                },
 | 
			
		||||
                {
 | 
			
		||||
                    "matrix": [
 | 
			
		||||
                        2,
 | 
			
		||||
                        2
 | 
			
		||||
                    ],
 | 
			
		||||
                    "x": 2.5,
 | 
			
		||||
                    "y": 2.25
 | 
			
		||||
                },
 | 
			
		||||
                {
 | 
			
		||||
                    "matrix": [
 | 
			
		||||
                        2,
 | 
			
		||||
                        3
 | 
			
		||||
                    ],
 | 
			
		||||
                    "x": 3.5,
 | 
			
		||||
                    "y": 2.25
 | 
			
		||||
                },
 | 
			
		||||
                {
 | 
			
		||||
                    "matrix": [
 | 
			
		||||
                        2,
 | 
			
		||||
                        4
 | 
			
		||||
                    ],
 | 
			
		||||
                    "x": 4.5,
 | 
			
		||||
                    "y": 2.25
 | 
			
		||||
                },
 | 
			
		||||
                {
 | 
			
		||||
                    "matrix": [
 | 
			
		||||
                        2,
 | 
			
		||||
                        5
 | 
			
		||||
                    ],
 | 
			
		||||
                    "x": 5.5,
 | 
			
		||||
                    "y": 2.25
 | 
			
		||||
                },
 | 
			
		||||
                {
 | 
			
		||||
                    "matrix": [
 | 
			
		||||
                        2,
 | 
			
		||||
                        6
 | 
			
		||||
                    ],
 | 
			
		||||
                    "x": 6.5,
 | 
			
		||||
                    "y": 2.25
 | 
			
		||||
                },
 | 
			
		||||
                {
 | 
			
		||||
                    "matrix": [
 | 
			
		||||
                        2,
 | 
			
		||||
                        7
 | 
			
		||||
                    ],
 | 
			
		||||
                    "x": 7.5,
 | 
			
		||||
                    "y": 2.25
 | 
			
		||||
                },
 | 
			
		||||
                {
 | 
			
		||||
                    "matrix": [
 | 
			
		||||
                        2,
 | 
			
		||||
                        8
 | 
			
		||||
                    ],
 | 
			
		||||
                    "x": 8.5,
 | 
			
		||||
                    "y": 2.25
 | 
			
		||||
                },
 | 
			
		||||
                {
 | 
			
		||||
                    "matrix": [
 | 
			
		||||
                        2,
 | 
			
		||||
                        9
 | 
			
		||||
                    ],
 | 
			
		||||
                    "x": 9.5,
 | 
			
		||||
                    "y": 2.25
 | 
			
		||||
                },
 | 
			
		||||
                {
 | 
			
		||||
                    "matrix": [
 | 
			
		||||
                        2,
 | 
			
		||||
                        10
 | 
			
		||||
                    ],
 | 
			
		||||
                    "x": 10.5,
 | 
			
		||||
                    "y": 2.25
 | 
			
		||||
                },
 | 
			
		||||
                {
 | 
			
		||||
                    "matrix": [
 | 
			
		||||
                        2,
 | 
			
		||||
                        11
 | 
			
		||||
                    ],
 | 
			
		||||
                    "x": 11.5,
 | 
			
		||||
                    "y": 2.25
 | 
			
		||||
                },
 | 
			
		||||
                {
 | 
			
		||||
                    "matrix": [
 | 
			
		||||
                        2,
 | 
			
		||||
                        12
 | 
			
		||||
                    ],
 | 
			
		||||
                    "x": 12.5,
 | 
			
		||||
                    "y": 2.25
 | 
			
		||||
                },
 | 
			
		||||
                {
 | 
			
		||||
                    "matrix": [
 | 
			
		||||
                        2,
 | 
			
		||||
                        13
 | 
			
		||||
                    ],
 | 
			
		||||
                    "x": 13.75,
 | 
			
		||||
                    "y": 2.25,
 | 
			
		||||
                    "w": 1.25,
 | 
			
		||||
                    "h": 2
 | 
			
		||||
                },
 | 
			
		||||
                {
 | 
			
		||||
                    "matrix": [
 | 
			
		||||
                        3,
 | 
			
		||||
                        0
 | 
			
		||||
                    ],
 | 
			
		||||
                    "x": 0,
 | 
			
		||||
                    "y": 3.25,
 | 
			
		||||
                    "w": 1.75
 | 
			
		||||
                },
 | 
			
		||||
                {
 | 
			
		||||
                    "matrix": [
 | 
			
		||||
                        3,
 | 
			
		||||
                        1
 | 
			
		||||
                    ],
 | 
			
		||||
                    "x": 1.75,
 | 
			
		||||
                    "y": 3.25
 | 
			
		||||
                },
 | 
			
		||||
                {
 | 
			
		||||
                    "matrix": [
 | 
			
		||||
                        3,
 | 
			
		||||
                        2
 | 
			
		||||
                    ],
 | 
			
		||||
                    "x": 2.75,
 | 
			
		||||
                    "y": 3.25
 | 
			
		||||
                },
 | 
			
		||||
                {
 | 
			
		||||
                    "matrix": [
 | 
			
		||||
                        3,
 | 
			
		||||
                        3
 | 
			
		||||
                    ],
 | 
			
		||||
                    "x": 3.75,
 | 
			
		||||
                    "y": 3.25
 | 
			
		||||
                },
 | 
			
		||||
                {
 | 
			
		||||
                    "matrix": [
 | 
			
		||||
                        3,
 | 
			
		||||
                        4
 | 
			
		||||
                    ],
 | 
			
		||||
                    "x": 4.75,
 | 
			
		||||
                    "y": 3.25
 | 
			
		||||
                },
 | 
			
		||||
                {
 | 
			
		||||
                    "matrix": [
 | 
			
		||||
                        3,
 | 
			
		||||
                        5
 | 
			
		||||
                    ],
 | 
			
		||||
                    "x": 5.75,
 | 
			
		||||
                    "y": 3.25
 | 
			
		||||
                },
 | 
			
		||||
                {
 | 
			
		||||
                    "matrix": [
 | 
			
		||||
                        3,
 | 
			
		||||
                        6
 | 
			
		||||
                    ],
 | 
			
		||||
                    "x": 6.75,
 | 
			
		||||
                    "y": 3.25
 | 
			
		||||
                },
 | 
			
		||||
                {
 | 
			
		||||
                    "matrix": [
 | 
			
		||||
                        3,
 | 
			
		||||
                        7
 | 
			
		||||
                    ],
 | 
			
		||||
                    "x": 7.75,
 | 
			
		||||
                    "y": 3.25
 | 
			
		||||
                },
 | 
			
		||||
                {
 | 
			
		||||
                    "matrix": [
 | 
			
		||||
                        3,
 | 
			
		||||
                        8
 | 
			
		||||
                    ],
 | 
			
		||||
                    "x": 8.75,
 | 
			
		||||
                    "y": 3.25
 | 
			
		||||
                },
 | 
			
		||||
                {
 | 
			
		||||
                    "matrix": [
 | 
			
		||||
                        3,
 | 
			
		||||
                        9
 | 
			
		||||
                    ],
 | 
			
		||||
                    "x": 9.75,
 | 
			
		||||
                    "y": 3.25
 | 
			
		||||
                },
 | 
			
		||||
                {
 | 
			
		||||
                    "matrix": [
 | 
			
		||||
                        3,
 | 
			
		||||
                        10
 | 
			
		||||
                    ],
 | 
			
		||||
                    "x": 10.75,
 | 
			
		||||
                    "y": 3.25
 | 
			
		||||
                },
 | 
			
		||||
                {
 | 
			
		||||
                    "matrix": [
 | 
			
		||||
                        3,
 | 
			
		||||
                        11
 | 
			
		||||
                    ],
 | 
			
		||||
                    "x": 11.75,
 | 
			
		||||
                    "y": 3.25
 | 
			
		||||
                },
 | 
			
		||||
                {
 | 
			
		||||
                    "matrix": [
 | 
			
		||||
                        3,
 | 
			
		||||
                        12
 | 
			
		||||
                    ],
 | 
			
		||||
                    "x": 12.75,
 | 
			
		||||
                    "y": 3.25
 | 
			
		||||
                },
 | 
			
		||||
                {
 | 
			
		||||
                    "matrix": [
 | 
			
		||||
                        4,
 | 
			
		||||
                        0
 | 
			
		||||
                    ],
 | 
			
		||||
                    "x": 0,
 | 
			
		||||
                    "y": 4.25,
 | 
			
		||||
                    "w": 1.25
 | 
			
		||||
                },
 | 
			
		||||
                {
 | 
			
		||||
                    "matrix": [
 | 
			
		||||
                        4,
 | 
			
		||||
                        1
 | 
			
		||||
                    ],
 | 
			
		||||
                    "x": 1.25,
 | 
			
		||||
                    "y": 4.25
 | 
			
		||||
                },
 | 
			
		||||
                {
 | 
			
		||||
                    "matrix": [
 | 
			
		||||
                        4,
 | 
			
		||||
                        2
 | 
			
		||||
                    ],
 | 
			
		||||
                    "x": 2.25,
 | 
			
		||||
                    "y": 4.25
 | 
			
		||||
                },
 | 
			
		||||
                {
 | 
			
		||||
                    "matrix": [
 | 
			
		||||
                        4,
 | 
			
		||||
                        3
 | 
			
		||||
                    ],
 | 
			
		||||
                    "x": 3.25,
 | 
			
		||||
                    "y": 4.25
 | 
			
		||||
                },
 | 
			
		||||
                {
 | 
			
		||||
                    "matrix": [
 | 
			
		||||
                        4,
 | 
			
		||||
                        4
 | 
			
		||||
                    ],
 | 
			
		||||
                    "x": 4.25,
 | 
			
		||||
                    "y": 4.25
 | 
			
		||||
                },
 | 
			
		||||
                {
 | 
			
		||||
                    "matrix": [
 | 
			
		||||
                        4,
 | 
			
		||||
                        5
 | 
			
		||||
                    ],
 | 
			
		||||
                    "x": 5.25,
 | 
			
		||||
                    "y": 4.25
 | 
			
		||||
                },
 | 
			
		||||
                {
 | 
			
		||||
                    "matrix": [
 | 
			
		||||
                        4,
 | 
			
		||||
                        6
 | 
			
		||||
                    ],
 | 
			
		||||
                    "x": 6.25,
 | 
			
		||||
                    "y": 4.25
 | 
			
		||||
                },
 | 
			
		||||
                {
 | 
			
		||||
                    "matrix": [
 | 
			
		||||
                        4,
 | 
			
		||||
                        7
 | 
			
		||||
                    ],
 | 
			
		||||
                    "x": 7.25,
 | 
			
		||||
                    "y": 4.25
 | 
			
		||||
                },
 | 
			
		||||
                {
 | 
			
		||||
                    "matrix": [
 | 
			
		||||
                        4,
 | 
			
		||||
                        8
 | 
			
		||||
                    ],
 | 
			
		||||
                    "x": 8.25,
 | 
			
		||||
                    "y": 4.25
 | 
			
		||||
                },
 | 
			
		||||
                {
 | 
			
		||||
                    "matrix": [
 | 
			
		||||
                        4,
 | 
			
		||||
                        9
 | 
			
		||||
                    ],
 | 
			
		||||
                    "x": 9.25,
 | 
			
		||||
                    "y": 4.25
 | 
			
		||||
                },
 | 
			
		||||
                {
 | 
			
		||||
                    "matrix": [
 | 
			
		||||
                        4,
 | 
			
		||||
                        10
 | 
			
		||||
                    ],
 | 
			
		||||
                    "x": 10.25,
 | 
			
		||||
                    "y": 4.25
 | 
			
		||||
                },
 | 
			
		||||
                {
 | 
			
		||||
                    "matrix": [
 | 
			
		||||
                        4,
 | 
			
		||||
                        11
 | 
			
		||||
                    ],
 | 
			
		||||
                    "x": 11.25,
 | 
			
		||||
                    "y": 4.25
 | 
			
		||||
                },
 | 
			
		||||
                {
 | 
			
		||||
                    "matrix": [
 | 
			
		||||
                        4,
 | 
			
		||||
                        12
 | 
			
		||||
                    ],
 | 
			
		||||
                    "x": 12.25,
 | 
			
		||||
                    "y": 4.25
 | 
			
		||||
                },
 | 
			
		||||
                {
 | 
			
		||||
                    "matrix": [
 | 
			
		||||
                        4,
 | 
			
		||||
                        13
 | 
			
		||||
                    ],
 | 
			
		||||
                    "x": 13.25,
 | 
			
		||||
                    "y": 4.25
 | 
			
		||||
                },
 | 
			
		||||
                {
 | 
			
		||||
                    "matrix": [
 | 
			
		||||
                        5,
 | 
			
		||||
                        0
 | 
			
		||||
                    ],
 | 
			
		||||
                    "x": 0,
 | 
			
		||||
                    "y": 5.25,
 | 
			
		||||
                    "w": 1.25
 | 
			
		||||
                },
 | 
			
		||||
                {
 | 
			
		||||
                    "matrix": [
 | 
			
		||||
                        5,
 | 
			
		||||
                        1
 | 
			
		||||
                    ],
 | 
			
		||||
                    "x": 1.25,
 | 
			
		||||
                    "y": 5.25,
 | 
			
		||||
                    "w": 1.25
 | 
			
		||||
                },
 | 
			
		||||
                {
 | 
			
		||||
                    "matrix": [
 | 
			
		||||
                        5,
 | 
			
		||||
                        2
 | 
			
		||||
                    ],
 | 
			
		||||
                    "x": 2.5,
 | 
			
		||||
                    "y": 5.25,
 | 
			
		||||
                    "w": 1.25
 | 
			
		||||
                },
 | 
			
		||||
                {
 | 
			
		||||
                    "matrix": [
 | 
			
		||||
                        5,
 | 
			
		||||
                        6
 | 
			
		||||
                    ],
 | 
			
		||||
                    "x": 3.75,
 | 
			
		||||
                    "y": 5.25,
 | 
			
		||||
                    "w": 6.25
 | 
			
		||||
                },
 | 
			
		||||
                {
 | 
			
		||||
                    "matrix": [
 | 
			
		||||
                        5,
 | 
			
		||||
                        9
 | 
			
		||||
                    ],
 | 
			
		||||
                    "x": 10,
 | 
			
		||||
                    "y": 5.25,
 | 
			
		||||
                    "w": 1.25
 | 
			
		||||
                },
 | 
			
		||||
                {
 | 
			
		||||
                    "matrix": [
 | 
			
		||||
                        5,
 | 
			
		||||
                        10
 | 
			
		||||
                    ],
 | 
			
		||||
                    "x": 11.25,
 | 
			
		||||
                    "y": 5.25
 | 
			
		||||
                },
 | 
			
		||||
                {
 | 
			
		||||
                    "matrix": [
 | 
			
		||||
                        5,
 | 
			
		||||
                        11
 | 
			
		||||
                    ],
 | 
			
		||||
                    "x": 12.25,
 | 
			
		||||
                    "y": 5.25
 | 
			
		||||
                },
 | 
			
		||||
                {
 | 
			
		||||
                    "matrix": [
 | 
			
		||||
                        5,
 | 
			
		||||
                        12
 | 
			
		||||
                    ],
 | 
			
		||||
                    "x": 13.25,
 | 
			
		||||
                    "y": 5.25
 | 
			
		||||
                },
 | 
			
		||||
                {
 | 
			
		||||
                    "matrix": [
 | 
			
		||||
                        5,
 | 
			
		||||
                        13
 | 
			
		||||
                    ],
 | 
			
		||||
                    "x": 14.25,
 | 
			
		||||
                    "y": 5.25
 | 
			
		||||
                }
 | 
			
		||||
            ]
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										56
									
								
								keyboards/handwired/baredev/rev1/keymaps/default/keymap.c
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										56
									
								
								keyboards/handwired/baredev/rev1/keymaps/default/keymap.c
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,56 @@
 | 
			
		|||
/* Copyright 2021 Fernando "ManoShu" Rodrigues
 | 
			
		||||
 *
 | 
			
		||||
 * 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 QMK_KEYBOARD_H
 | 
			
		||||
 | 
			
		||||
#include "keymap_br_abnt2.h"
 | 
			
		||||
 | 
			
		||||
enum { 
 | 
			
		||||
    LAYER_BASE, 
 | 
			
		||||
    LAYER_FUNCTIONS 
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
			
		||||
    [LAYER_BASE] = LAYOUT(
 | 
			
		||||
        /* ┌─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┐ */
 | 
			
		||||
              KC_ESC,             KC_F1,    KC_F2,    KC_F3,    KC_F4,    KC_F5,    KC_F6,    KC_F7,    KC_F8,              KC_F9,    KC_F10,  KC_F11,   KC_F12,
 | 
			
		||||
        /* ├─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┴─────────┤ */
 | 
			
		||||
             BR_QUOT,   BR_1,     BR_2,     BR_3,      BR_4,    BR_5,     BR_6,      BR_7,    BR_8,     BR_9,     BR_0,    BR_MINS,  BR_EQL,        KC_BSPC,
 | 
			
		||||
        /* ├─────────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬──────────────┤ */
 | 
			
		||||
                KC_TAB,      BR_Q,     BR_W,     BR_E,     BR_R,     BR_T,     BR_Y,     BR_U,     BR_I,     BR_O,     BR_P,    BR_ACUT,  BR_LBRC,      KC_ENT,
 | 
			
		||||
        /* ├──────────────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬           ┤ */
 | 
			
		||||
                  KC_CAPS,      BR_A,     BR_S,      BR_D,    BR_F,     BR_G,     BR_H,     BR_J,     BR_K,     BR_L,    BR_CCED,  BR_TILD,  BR_RBRC,
 | 
			
		||||
        /* ├───────────┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴─────────┴─┬─────────┤ */
 | 
			
		||||
              KC_LSFT,   BR_BSLS,   BR_Z,     BR_X,     BR_C,     BR_V,     BR_B,     BR_N,     BR_M,    BR_COMM,  BR_DOT,   BR_SCLN,      BR_SLSH,       KC_UP,
 | 
			
		||||
        /* ├───────────┼─────────┴─┬───────┴───┬─────┴─────────┴─────────┴─────────┴─────────┴─────────┴───────┬─┴───────┬─┴───────┬─┴───────┬─────────┼─────────┤ */
 | 
			
		||||
              KC_LCTL,   KC_LGUI,     KC_LALT,                                KC_SPC,                            KC_APP,    KC_DEL,  KC_LEFT,  KC_DOWN,  KC_RGHT
 | 
			
		||||
        /* └───────────┴───────────┴───────────┴───────────────────────────────────────────────────────────────┴─────────┴─────────┴─────────┴─────────┴─────────┘ */
 | 
			
		||||
    ),
 | 
			
		||||
    [LAYER_FUNCTIONS] = LAYOUT(
 | 
			
		||||
        /* ┌─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┐ */
 | 
			
		||||
              RESET,             _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,            _______,  KC_PSCR,  KC_SLCK,  KC_PAUS, 
 | 
			
		||||
        /* ├─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┴─────────┤ */
 | 
			
		||||
             _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,       _______,
 | 
			
		||||
        /* ├─────────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬──────────────┤ */
 | 
			
		||||
               _______,     KC_MPLY,  KC_MUTE,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,      _______,
 | 
			
		||||
        /* ├──────────────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬           ┤ */
 | 
			
		||||
                 _______,      KC_MPRV,  KC_MNXT,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,    
 | 
			
		||||
        /* ├───────────┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴─────────┴─┬─────────┤ */
 | 
			
		||||
              _______,   _______,  KC_VOLU,  KC_VOLD,  KC_CALC,  _______,  _______,  _______,  _______,  _______,  _______,  _______,      _______,      KC_PGUP, 
 | 
			
		||||
        /* ├───────────┼─────────┴─┬───────┴───┬─────┴─────────┴─────────┴─────────┴─────────┴─────────┴───────┬─┴───────┬─┴───────┬─┴───────┬─────────┼─────────┤ */
 | 
			
		||||
              _______,    _______,    _______,                                _______,                           _______,   KC_INS,  KC_HOME,  KC_PGDN,  KC_END
 | 
			
		||||
        /* └───────────┴───────────┴───────────┴───────────────────────────────────────────────────────────────┴─────────┴─────────┴─────────┴─────────┴─────────┘ */
 | 
			
		||||
    )
 | 
			
		||||
};
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,7 @@
 | 
			
		|||

 | 
			
		||||
 | 
			
		||||
# Default BareDev layout
 | 
			
		||||
 | 
			
		||||
Has all the functions of a ABNT TKL keyboard, sans right shift.
 | 
			
		||||
 | 
			
		||||
Basic media functions also included.
 | 
			
		||||
							
								
								
									
										99
									
								
								keyboards/handwired/baredev/rev1/keymaps/manoshu/keymap.c
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										99
									
								
								keyboards/handwired/baredev/rev1/keymaps/manoshu/keymap.c
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,99 @@
 | 
			
		|||
/* Copyright 2021 Fernando "ManoShu" Rodrigues
 | 
			
		||||
 *
 | 
			
		||||
 * 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 QMK_KEYBOARD_H
 | 
			
		||||
 | 
			
		||||
#include "keymap_br_abnt2.h"
 | 
			
		||||
#include "sendstring_br_abnt2.h"
 | 
			
		||||
 | 
			
		||||
enum { 
 | 
			
		||||
    LAYER_BASE, 
 | 
			
		||||
    LAYER_FUNCTIONS 
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
#define L_FUNCT MO(LAYER_FUNCTIONS)
 | 
			
		||||
#define W_CHOLD LGUI_T(KC_CAPS)
 | 
			
		||||
 | 
			
		||||
//Combination keycodes
 | 
			
		||||
#define KC_PSBR C(KC_PAUSE)    // Ctrl+Pause/Break
 | 
			
		||||
#define KC_SNIP SGUI(BR_S)     // Screen Snip (GUI + Shift + S)
 | 
			
		||||
#define KC_WRUN G(BR_R)        // Run (GUI + R)
 | 
			
		||||
#define KC_WLCK G(BR_L)        // Lock (GUI + L)
 | 
			
		||||
#define KC_WDSK G(BR_D)        // Desktop (GUI + D)
 | 
			
		||||
#define KC_WEXP G(BR_E)        // Explorer (GUI + E)
 | 
			
		||||
#define KC_WPSE G(KC_PAUSE)    // System Properties (GUI + Pause)
 | 
			
		||||
#define KC_WMGP G(BR_EQL)      // Magnify (+)
 | 
			
		||||
#define KC_WMGM G(BR_MINS)     // Magnify (-)
 | 
			
		||||
 | 
			
		||||
enum custom_keycodes {
 | 
			
		||||
    KC_WPRN = SAFE_RANGE,  // Project (P)
 | 
			
		||||
    KC_WSPC                // Input Select (Space)
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
layer_state_t layer_state_set_user(layer_state_t state) {
 | 
			
		||||
    if (get_highest_layer(state) == LAYER_BASE) {
 | 
			
		||||
        unregister_mods(MOD_MASK_GUI);
 | 
			
		||||
    }
 | 
			
		||||
    return state;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
 | 
			
		||||
    if(keycode == KC_WPRN || keycode == KC_WSPC) {
 | 
			
		||||
        if (record->event.pressed) {
 | 
			
		||||
 | 
			
		||||
            register_code(KC_LGUI);
 | 
			
		||||
 | 
			
		||||
            if(keycode == KC_WPRN) {
 | 
			
		||||
                tap_code(KC_P);
 | 
			
		||||
            } else if (keycode == KC_WSPC) {
 | 
			
		||||
                tap_code(KC_SPACE);
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
    return true;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
			
		||||
    [LAYER_BASE] = LAYOUT(
 | 
			
		||||
        /* ┌─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┐ */
 | 
			
		||||
              KC_ESC,             KC_F1,    KC_F2,    KC_F3,    KC_F4,    KC_F5,    KC_F6,    KC_F7,    KC_F8,              KC_F9,    KC_F10,  KC_F11,   KC_F12,
 | 
			
		||||
        /* ├─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┴─────────┤ */
 | 
			
		||||
             BR_QUOT,   BR_1,     BR_2,     BR_3,      BR_4,    BR_5,     BR_6,      BR_7,    BR_8,     BR_9,     BR_0,    BR_MINS,  BR_EQL,        KC_BSPC,
 | 
			
		||||
        /* ├─────────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬──────────────┤ */
 | 
			
		||||
                KC_TAB,      BR_Q,     BR_W,     BR_E,     BR_R,     BR_T,     BR_Y,     BR_U,     BR_I,     BR_O,     BR_P,    BR_ACUT,  BR_LBRC,      KC_ENT,
 | 
			
		||||
        /* ├──────────────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬           ┤ */
 | 
			
		||||
                  W_CHOLD,      BR_A,     BR_S,      BR_D,    BR_F,     BR_G,     BR_H,     BR_J,     BR_K,     BR_L,    BR_CCED,  BR_TILD,  BR_RBRC,
 | 
			
		||||
        /* ├───────────┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴─────────┴─┬─────────┤ */
 | 
			
		||||
              KC_LSFT,   BR_BSLS,   BR_Z,     BR_X,     BR_C,     BR_V,     BR_B,     BR_N,     BR_M,    BR_COMM,  BR_DOT,   BR_SCLN,      BR_SLSH,       KC_UP,
 | 
			
		||||
        /* ├───────────┼─────────┴─┬───────┴───┬─────┴─────────┴─────────┴─────────┴─────────┴─────────┴───────┬─┴───────┬─┴───────┬─┴───────┬─────────┼─────────┤ */
 | 
			
		||||
              KC_LCTL,   L_FUNCT,    KC_LALT,                                 KC_SPC,                            KC_APP,    KC_DEL,  KC_LEFT,  KC_DOWN,  KC_RGHT
 | 
			
		||||
        /* └───────────┴───────────┴───────────┴───────────────────────────────────────────────────────────────┴─────────┴─────────┴─────────┴─────────┴─────────┘ */
 | 
			
		||||
    ),
 | 
			
		||||
    [LAYER_FUNCTIONS] = LAYOUT(
 | 
			
		||||
        /* ┌─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┐ */
 | 
			
		||||
              RESET,             _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,            _______,  _______,  KC_PSBR,  KC_SNIP, 
 | 
			
		||||
        /* ├─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┴─────────┤ */
 | 
			
		||||
             _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  KC_WMGM,  KC_WMGP,       _______,
 | 
			
		||||
        /* ├─────────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬──────────────┤ */
 | 
			
		||||
               _______,     KC_MPLY,  KC_MUTE,  KC_WEXP,  KC_WRUN,  _______,  _______,  _______,  _______,  _______,  KC_WPRN,  _______,  _______,      _______,
 | 
			
		||||
        /* ├──────────────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬           ┤ */
 | 
			
		||||
                 _______,      KC_MPRV,  KC_MNXT,  KC_WDSK,  _______,  _______,  _______,  _______,  _______,  KC_WLCK,  _______,  _______,  _______,    
 | 
			
		||||
        /* ├───────────┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴─────────┴─┬─────────┤ */
 | 
			
		||||
              _______,   _______,  KC_VOLU,  KC_VOLD,  KC_CALC,  _______,  _______,  _______,  _______,  _______,  _______,  _______,      _______,      KC_PGUP, 
 | 
			
		||||
        /* ├───────────┼─────────┴─┬───────┴───┬─────┴─────────┴─────────┴─────────┴─────────┴─────────┴───────┬─┴───────┬─┴───────┬─┴───────┬─────────┼─────────┤ */
 | 
			
		||||
              _______,    _______,    _______,                                KC_WSPC,                           _______,   KC_INS,  KC_HOME,  KC_PGDN,  KC_END
 | 
			
		||||
        /* └───────────┴───────────┴───────────┴───────────────────────────────────────────────────────────────┴─────────┴─────────┴─────────┴─────────┴─────────┘ */
 | 
			
		||||
    )
 | 
			
		||||
};
 | 
			
		||||
							
								
								
									
										16
									
								
								keyboards/handwired/baredev/rev1/keymaps/manoshu/readme.md
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										16
									
								
								keyboards/handwired/baredev/rev1/keymaps/manoshu/readme.md
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,16 @@
 | 
			
		|||

 | 
			
		||||
 | 
			
		||||
# ManoShu's custom layout
 | 
			
		||||
 | 
			
		||||
Has all the functions of a ABNT TKL keyboard, sans right shift.
 | 
			
		||||
 | 
			
		||||
Basic media functions also included.
 | 
			
		||||
 | 
			
		||||
Trying to emulate where notebooks/smaller OEM keyboard put the function key, for this reason the GUI key was moved and it can be used by holding the Caps Lock key.
 | 
			
		||||
 | 
			
		||||
To not use the new GUI position very often, commonly used GUI + [X] commands are sent using `SEND_STRING()`, `(un)register_code()` and `tap_code()`.
 | 
			
		||||
 | 
			
		||||
## Why you didn't used `LT(FUNCTIONS, KC_LGUI)` on the GUI/FN key?
 | 
			
		||||
Because I don't want rely on the tapping term to determine I will send either KC_HOME or snap the active window to the left.
 | 
			
		||||
 | 
			
		||||
If there is a better way to solve this, please let me know.
 | 
			
		||||
							
								
								
									
										29
									
								
								keyboards/handwired/baredev/rev1/readme.md
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										29
									
								
								keyboards/handwired/baredev/rev1/readme.md
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,29 @@
 | 
			
		|||
# BareDev (rev1)
 | 
			
		||||
 | 
			
		||||

 | 
			
		||||

 | 
			
		||||
 | 
			
		||||
An open-source, ABNT2-based 70% keyboard, focusing in a smaller footprint while retaining all the functions found on a TKL (Del and arrow keys doubling as the navigational cluster)
 | 
			
		||||
 | 
			
		||||
* Keyboard Maintainer: [Fernando "ManoShu" Rodrigues](https://github.com/ManoShu)
 | 
			
		||||
* Hardware Supported: BareDev rev1 PCB
 | 
			
		||||
* Hardware Availability: Files available on [GitHub](https://github.com/ManoShu/BareDev)
 | 
			
		||||
 | 
			
		||||
Make example for this keyboard (after setting up your build environment):
 | 
			
		||||
 | 
			
		||||
    make handwired/baredev/rev1:default
 | 
			
		||||
 | 
			
		||||
Flashing example for this keyboard:
 | 
			
		||||
 | 
			
		||||
    make handwired/baredev/rev1:default:flash
 | 
			
		||||
 | 
			
		||||
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
## Bootloader
 | 
			
		||||
 | 
			
		||||
Enter the bootloader in 3 ways:
 | 
			
		||||
 | 
			
		||||
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
 | 
			
		||||
* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
 | 
			
		||||
* **Keycode in layout**: Press the key mapped to `RESET` if it is available
 | 
			
		||||
							
								
								
									
										17
									
								
								keyboards/handwired/baredev/rev1/rev1.c
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										17
									
								
								keyboards/handwired/baredev/rev1/rev1.c
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,17 @@
 | 
			
		|||
/* Copyright 2021 Fernando "ManoShu" Rodrigues
 | 
			
		||||
 *
 | 
			
		||||
 * 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 "rev1.h"
 | 
			
		||||
							
								
								
									
										19
									
								
								keyboards/handwired/baredev/rev1/rev1.h
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										19
									
								
								keyboards/handwired/baredev/rev1/rev1.h
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,19 @@
 | 
			
		|||
/* Copyright 2021 Fernando "ManoShu" Rodrigues
 | 
			
		||||
 *
 | 
			
		||||
 * 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/>.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#pragma once
 | 
			
		||||
 | 
			
		||||
#include "quantum.h"
 | 
			
		||||
							
								
								
									
										0
									
								
								keyboards/handwired/baredev/rev1/rules.mk
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										0
									
								
								keyboards/handwired/baredev/rev1/rules.mk
									
										
									
									
									
										Normal file
									
								
							
							
								
								
									
										176
									
								
								keyboards/keebwerk/mega/ansi/keymaps/jesusvallejo/keymap.c
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										176
									
								
								keyboards/keebwerk/mega/ansi/keymaps/jesusvallejo/keymap.c
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,176 @@
 | 
			
		|||
/* Copyright 2020 Yiancar
 | 
			
		||||
 *
 | 
			
		||||
 * 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 QMK_KEYBOARD_H
 | 
			
		||||
#include "drivers/issi/is31fl3733.h"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
			
		||||
[0] = LAYOUT_65_ansi( /* Base */
 | 
			
		||||
    KC_GESC, KC_1,    KC_2,   KC_3,   KC_4,   KC_5,   KC_6,   KC_7,   KC_8,    KC_9,    KC_0,    KC_MINS, KC_EQL,  KC_BSPC, KC_HOME,
 | 
			
		||||
    KC_TAB,  KC_Q,    KC_W,   KC_E,   KC_R,   KC_T,   KC_Y,   KC_U,   KC_I,    KC_O,    KC_P,    KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP,
 | 
			
		||||
    KC_CAPS, KC_A,    KC_S,   KC_D,   KC_F,   KC_G,   KC_H,   KC_J,   KC_K,    KC_L,    KC_SCLN, KC_QUOT,          KC_ENT,  KC_PGDN,
 | 
			
		||||
    KC_LSFT, KC_Z,    KC_X,   KC_C,   KC_V,   KC_B,   KC_N,   KC_M,   KC_COMM, KC_DOT,  KC_SLSH, KC_RSFT,          KC_UP,   KC_END,
 | 
			
		||||
    KC_LCTL, KC_LGUI, KC_LALT,                KC_SPC,                          KC_RALT, MO(1),   KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
 | 
			
		||||
 | 
			
		||||
[1] = LAYOUT_65_ansi( /* FN */
 | 
			
		||||
    KC_GRV,  KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,   KC_F6,   KC_F7,   KC_F8,   KC_F9,   KC_F10,  KC_F11,  KC_F12,  KC_DEL,  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, RESET,   KC_TRNS,
 | 
			
		||||
    KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, S1_DEC,  S1_INC,  S2_DEC,  S2_INC,  KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,          KC_TRNS, KC_TRNS,
 | 
			
		||||
    KC_TRNS, EF_DEC,  EF_INC,  H1_DEC,  H1_INC,  H2_DEC,  H2_INC,  BR_DEC,  BR_INC,  ES_DEC,  ES_INC,  KC_TRNS,          KC_TRNS, KC_TRNS,
 | 
			
		||||
    KC_VOLU, KC_VOLD, KC_MUTE,                KC_TRNS,                               KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
 | 
			
		||||
 | 
			
		||||
[2] = LAYOUT_65_ansi( /* Empty for dynamic keymaps */
 | 
			
		||||
    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, 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, 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, KC_TRNS,
 | 
			
		||||
    KC_TRNS, KC_TRNS, KC_TRNS,                KC_TRNS,                               KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
 | 
			
		||||
 | 
			
		||||
[3] = LAYOUT_65_ansi( /* Empty for dynamic keymaps */
 | 
			
		||||
    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, 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, 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, KC_TRNS,
 | 
			
		||||
    KC_TRNS, KC_TRNS, KC_TRNS,                KC_TRNS,                               KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
static uint16_t ledTimer;
 | 
			
		||||
 | 
			
		||||
uint8_t R = 0;  /* First led*/
 | 
			
		||||
uint8_t G = 0;  /* Second led*/
 | 
			
		||||
uint8_t B = 0;  /* Third led*/
 | 
			
		||||
 | 
			
		||||
/* Boot animation parameters */
 | 
			
		||||
 | 
			
		||||
uint8_t bootFirst=3;    /* Number of increment slides. */
 | 
			
		||||
uint8_t bootSec=3;      /* Number of full blink. */
 | 
			
		||||
 | 
			
		||||
/* Breathing animation parameters */
 | 
			
		||||
 | 
			
		||||
const uint16_t travelTime = 1000;   /* Time the leds take to go from off to on or on to off. */
 | 
			
		||||
const uint16_t fadeStep = 5;        /* Steps for the fade in and out, 0-255 by steps of 10. */
 | 
			
		||||
const uint16_t fadeTime = 20;       /* Time between each fade step. */
 | 
			
		||||
const uint8_t maxBrightness=255;    /* keep them multipliers of fade Step between 0 and 255. */
 | 
			
		||||
const uint8_t minBrightness=0;
 | 
			
		||||
 | 
			
		||||
uint16_t previousTime = 0;
 | 
			
		||||
uint16_t time = 0;
 | 
			
		||||
 | 
			
		||||
bool bootAnimation(void){
 | 
			
		||||
    if (bootFirst>0 || bootSec>0){    
 | 
			
		||||
        if(bootFirst!=0){
 | 
			
		||||
            if (timer_elapsed(ledTimer) > 150){
 | 
			
		||||
                G = 255;
 | 
			
		||||
                R = 0;
 | 
			
		||||
                B = 0;
 | 
			
		||||
                IS31FL3733_set_color( 6+64-1, R, G, B );
 | 
			
		||||
            }
 | 
			
		||||
            if (timer_elapsed(ledTimer) > 300){
 | 
			
		||||
                G = 255;
 | 
			
		||||
                R = 255;
 | 
			
		||||
                B = 0;
 | 
			
		||||
                IS31FL3733_set_color( 6+64-1, R, G, B );
 | 
			
		||||
            }
 | 
			
		||||
            if (timer_elapsed(ledTimer) > 400){
 | 
			
		||||
                G = 255;
 | 
			
		||||
                R = 255;
 | 
			
		||||
                B = 255;
 | 
			
		||||
                IS31FL3733_set_color( 6+64-1, R, G, B );
 | 
			
		||||
            }
 | 
			
		||||
            if (timer_elapsed(ledTimer) > 500){
 | 
			
		||||
                G = 0;
 | 
			
		||||
                R = 0;
 | 
			
		||||
                B = 0;
 | 
			
		||||
                IS31FL3733_set_color( 6+64-1, R, G, B );
 | 
			
		||||
                ledTimer = timer_read();
 | 
			
		||||
                bootFirst--;
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
        if (bootFirst==0 && bootSec!=0){
 | 
			
		||||
            if (timer_elapsed(ledTimer) > 200) {
 | 
			
		||||
                G = 255;
 | 
			
		||||
                R = 255;
 | 
			
		||||
                B = 255;
 | 
			
		||||
                IS31FL3733_set_color( 6+64-1, R, G, B );
 | 
			
		||||
            }
 | 
			
		||||
            if (timer_elapsed(ledTimer) > 400){
 | 
			
		||||
                G = 0;
 | 
			
		||||
                R = 0;
 | 
			
		||||
                B = 0;
 | 
			
		||||
                IS31FL3733_set_color( 6+64-1, R, G, B );
 | 
			
		||||
                ledTimer = timer_read();
 | 
			
		||||
                bootSec--;
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
        return false;
 | 
			
		||||
    }
 | 
			
		||||
    return true;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
void breathing(void) {
 | 
			
		||||
    if(timer_elapsed(ledTimer)<travelTime){
 | 
			
		||||
        time = timer_elapsed(ledTimer);
 | 
			
		||||
        if((time - previousTime) > fadeTime && R<maxBrightness){
 | 
			
		||||
            G+=fadeStep;
 | 
			
		||||
            R+=fadeStep;
 | 
			
		||||
            B+=fadeStep;
 | 
			
		||||
            IS31FL3733_set_color( 6+64-1, R, G, B );
 | 
			
		||||
            previousTime = time;
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
    else if(timer_elapsed(ledTimer)<(travelTime *  2)){
 | 
			
		||||
        time = timer_elapsed(ledTimer);
 | 
			
		||||
        if((time - previousTime) > fadeTime && R>minBrightness){
 | 
			
		||||
            G-=fadeStep;
 | 
			
		||||
            R-=fadeStep;
 | 
			
		||||
            B-=fadeStep;
 | 
			
		||||
            IS31FL3733_set_color( 6+64-1, R, G, B );
 | 
			
		||||
            previousTime = time;
 | 
			
		||||
        } 
 | 
			
		||||
    }
 | 
			
		||||
    else {
 | 
			
		||||
        R=0;
 | 
			
		||||
        G=0;
 | 
			
		||||
        B=0;
 | 
			
		||||
        IS31FL3733_set_color( 6+64-1, R, G, B );
 | 
			
		||||
        previousTime = 0;
 | 
			
		||||
        time = 0;
 | 
			
		||||
        ledTimer=timer_read();
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/* this avoids turning off the led each matrix_scan_user() call */
 | 
			
		||||
bool capsState; 
 | 
			
		||||
bool prevCapsState;
 | 
			
		||||
 | 
			
		||||
void matrix_scan_user(void){
 | 
			
		||||
    if(bootAnimation()){
 | 
			
		||||
        capsState = host_keyboard_led_state().caps_lock; 
 | 
			
		||||
        if (capsState) {
 | 
			
		||||
            breathing();
 | 
			
		||||
            prevCapsState = capsState; 
 | 
			
		||||
        } 
 | 
			
		||||
        else if(!capsState && capsState != prevCapsState){ 
 | 
			
		||||
            G = 0;
 | 
			
		||||
            R = 0;
 | 
			
		||||
            B = 0;
 | 
			
		||||
            IS31FL3733_set_color( 6+64-1, R, G, B );
 | 
			
		||||
            prevCapsState = capsState; 
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,9 @@
 | 
			
		|||
# The jesusvallejo keymap for ANSI Keebwerk Mega. VIA support enabled.
 | 
			
		||||
 | 
			
		||||

 | 
			
		||||
 | 
			
		||||

 | 
			
		||||
 | 
			
		||||
- Default layer is normal ANSI 65%.
 | 
			
		||||
- Leds slide and blink bootup animation.
 | 
			
		||||
- Leds fade Caps Lock animation.
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1 @@
 | 
			
		|||
VIA_ENABLE = yes
 | 
			
		||||
							
								
								
									
										154
									
								
								keyboards/keebwerk/nano_slider/keymaps/midi2vol/keymap.c
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										154
									
								
								keyboards/keebwerk/nano_slider/keymaps/midi2vol/keymap.c
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,154 @@
 | 
			
		|||
/* Copyright 2020 Duckle, 2021 Jesús Vallejo
 | 
			
		||||
 *
 | 
			
		||||
 * 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 QMK_KEYBOARD_H
 | 
			
		||||
#include "analog.h"
 | 
			
		||||
#include "qmk_midi.h"
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
This keymap works with midi2vol: linux version  https://github.com/jesusvallejo/Midi2Vol-Linux  
 | 
			
		||||
and windows version https://github.com/jesusvallejo/Midi2Vol
 | 
			
		||||
 | 
			
		||||
Enables the user to change the volume on the host computer if running midi2vol software.
 | 
			
		||||
 | 
			
		||||
Example to extend usability is provided check VLC in: enum custom_keycodes {} and bool process_record_user(uint16_t keycode, keyrecord_t *record) {}
 | 
			
		||||
Remember to give allways the new volume control a hex value not used by other volume control, 
 | 
			
		||||
and add it to the midi2vol software.
 | 
			
		||||
Check respective midi2vol readme on how to do so.In linux change config.json,in windows you can use configuration option.
 | 
			
		||||
 | 
			
		||||
A compiled version of this keymap is provided in here: https://github.com/jesusvallejo/nanokeymaps/
 | 
			
		||||
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
uint8_t midi2vol = 0x3E;
 | 
			
		||||
 | 
			
		||||
/* Defines names for use in layer keycodes and the keymap */
 | 
			
		||||
 | 
			
		||||
enum custom_layers {
 | 
			
		||||
    _MEDIA,    /* Controls Pause, Mute , Forward ... */
 | 
			
		||||
    _NAV,      /* Nav arrows, Enter, Space*/
 | 
			
		||||
    _VOLUME    /* Changes midi2vol int to interface with midi2vol program: Chrome Volume, General Volume */
 | 
			
		||||
    _DISCORD,  /* FXX unsused keys to interface with Discord: Mute , Silence */
 | 
			
		||||
    _LIGHTS,   /* Edits underglow and retroilumination */
 | 
			
		||||
    _EDIT,     /* Cut, Copy ,Paste */
 | 
			
		||||
    _RESET,    /* Layer to set nano in bootloader mode */
 | 
			
		||||
    _TOOGLE,   /* Momentary layer to switch between layers */
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
/* Defines the keycodes used by our macros in process_record_user */
 | 
			
		||||
enum custom_keycodes { /* In order to add more volume controls, add here a custom keycode, ex: VLC */
 | 
			
		||||
    DEFAULT= SAFE_RANGE,SPOTIFY,DISCORD,CHROME/*,VLC*/
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
			
		||||
    /* Base */
 | 
			
		||||
    [_MEDIA] = LAYOUT(
 | 
			
		||||
        MO(_TOOGLE),
 | 
			
		||||
        KC_MPLY, KC_MNXT,  KC_COPY,
 | 
			
		||||
        KC_MUTE,  KC_MPRV, KC_PASTE, KC_ENTER
 | 
			
		||||
    ),
 | 
			
		||||
    [_NAV] = LAYOUT(
 | 
			
		||||
        MO(_TOOGLE),
 | 
			
		||||
        KC_SPC, KC_UP, KC_BSPACE,
 | 
			
		||||
        KC_LEFT, KC_DOWN, KC_RIGHT, KC_ENTER      
 | 
			
		||||
    ),
 | 
			
		||||
    [_VOLUME] = LAYOUT(
 | 
			
		||||
        MO(_TOOGLE),
 | 
			
		||||
        SPOTIFY, DISCORD, CHROME,
 | 
			
		||||
        KC_NO, KC_NO, KC_NO, DEFAULT
 | 
			
		||||
    ),
 | 
			
		||||
    [_DISCORD] = LAYOUT(
 | 
			
		||||
        MO(_TOOGLE),
 | 
			
		||||
        KC_F18, KC_F19, KC_F20,
 | 
			
		||||
        KC_F21, KC_F22, KC_F23, KC_F24
 | 
			
		||||
    ),
 | 
			
		||||
    [_LIGHTS] = LAYOUT(
 | 
			
		||||
        MO(_TOOGLE),
 | 
			
		||||
        RGB_TOG, RGB_MOD, RGB_VAI,
 | 
			
		||||
        RGB_SAI, BL_BRTG, BL_STEP, KC_LSFT
 | 
			
		||||
    ),
 | 
			
		||||
    [_EDIT] = LAYOUT(
 | 
			
		||||
        MO(_TOOGLE),
 | 
			
		||||
        KC_MENU, KC_CUT, KC_COPY,
 | 
			
		||||
        KC_FIND, KC_UNDO, KC_PASTE, KC_MPLY
 | 
			
		||||
    ),
 | 
			
		||||
    [_RESET] = LAYOUT(
 | 
			
		||||
        MO(_TOOGLE),
 | 
			
		||||
        KC_NO, KC_NO, KC_NO,
 | 
			
		||||
        KC_NO, KC_NO, KC_NO, RESET 
 | 
			
		||||
    ),
 | 
			
		||||
    [_TOOGLE] = LAYOUT(
 | 
			
		||||
        MO(_TOOGLE),
 | 
			
		||||
        TO(_MEDIA),    TO(_NAV),    TO(_VOLUME),
 | 
			
		||||
        TO(_DISCORD),    TO(_LIGHTS),    TO(_EDIT),    TO(_RESET)
 | 
			
		||||
    )
 | 
			
		||||
};
 | 
			
		||||
/* In order to add more volume controls, add here code to detect custom keycode, ex: VLC */
 | 
			
		||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) { 
 | 
			
		||||
    switch (keycode) {
 | 
			
		||||
        case DEFAULT:
 | 
			
		||||
            if (record->event.pressed) {
 | 
			
		||||
                /* when keycode DEFAULT is pressed */
 | 
			
		||||
                midi2vol= 0x3E;
 | 
			
		||||
            } else {
 | 
			
		||||
                /* when keycode DEFAULT is released */
 | 
			
		||||
            }
 | 
			
		||||
            break;
 | 
			
		||||
        case SPOTIFY:
 | 
			
		||||
            if (record->event.pressed) {                
 | 
			
		||||
                midi2vol= 0x3F;
 | 
			
		||||
            }
 | 
			
		||||
            break;
 | 
			
		||||
        case DISCORD:
 | 
			
		||||
            if (record->event.pressed) {
 | 
			
		||||
                
 | 
			
		||||
                midi2vol= 0x40;
 | 
			
		||||
            } 
 | 
			
		||||
            break;
 | 
			
		||||
        case CHROME:
 | 
			
		||||
            if (record->event.pressed) {
 | 
			
		||||
                
 | 
			
		||||
                midi2vol= 0x41;
 | 
			
		||||
            }
 | 
			
		||||
            break;
 | 
			
		||||
        /*
 | 
			
		||||
        case VLC:
 | 
			
		||||
            if (record->event.pressed) {
 | 
			
		||||
                midi2vol= 0x42;
 | 
			
		||||
            }
 | 
			
		||||
            break;
 | 
			
		||||
        */
 | 
			
		||||
    }
 | 
			
		||||
    return true;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
uint8_t divisor = 0;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
void slider(void) {
 | 
			
		||||
    if (divisor++) { /* only run the slider function 1/256 times it's called */
 | 
			
		||||
        return;
 | 
			
		||||
    }
 | 
			
		||||
    midi_send_cc(&midi_device, 2, midi2vol, 0x7F - (analogReadPin(SLIDER_PIN) >> 3));
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void matrix_scan_user(void) {
 | 
			
		||||
    slider();
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,2 @@
 | 
			
		|||
# The Midi2Vol keymap for nano_slider
 | 
			
		||||
This keymap has the code for the nano_slider to work with [Midi2Vol](https://github.com/jesusvallejo/Midi2Vol).
 | 
			
		||||
							
								
								
									
										69
									
								
								keyboards/keychron/q1/rev_0102/keymaps/victorsavu3/config.h
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										69
									
								
								keyboards/keychron/q1/rev_0102/keymaps/victorsavu3/config.h
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,69 @@
 | 
			
		|||
/* Copyright 2021 @ Victor-Gabriel Savu
 | 
			
		||||
 *
 | 
			
		||||
 * 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/>.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#pragma once
 | 
			
		||||
 | 
			
		||||
// disable all default effects
 | 
			
		||||
#undef ENABLE_RGB_MATRIX_BREATHING
 | 
			
		||||
#undef ENABLE_RGB_MATRIX_CYCLE_ALL
 | 
			
		||||
#undef ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
 | 
			
		||||
#undef ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
 | 
			
		||||
#undef ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
 | 
			
		||||
#undef ENABLE_RGB_MATRIX_CYCLE_OUT_IN
 | 
			
		||||
#undef ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
 | 
			
		||||
#undef ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
 | 
			
		||||
#undef ENABLE_RGB_MATRIX_CYCLE_SPIRAL
 | 
			
		||||
#undef ENABLE_RGB_MATRIX_DUAL_BEACON
 | 
			
		||||
#undef ENABLE_RGB_MATRIX_RAINBOW_BEACON
 | 
			
		||||
#undef ENABLE_RGB_MATRIX_RAINDROPS
 | 
			
		||||
#undef ENABLE_RGB_MATRIX_TYPING_HEATMAP
 | 
			
		||||
#undef ENABLE_RGB_MATRIX_DIGITAL_RAIN
 | 
			
		||||
#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
 | 
			
		||||
#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE
 | 
			
		||||
#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
 | 
			
		||||
#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
 | 
			
		||||
#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
 | 
			
		||||
#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
 | 
			
		||||
#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
 | 
			
		||||
#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
 | 
			
		||||
#undef ENABLE_RGB_MATRIX_SPLASH
 | 
			
		||||
#undef ENABLE_RGB_MATRIX_MULTISPLASH
 | 
			
		||||
#undef ENABLE_RGB_MATRIX_SOLID_SPLASH
 | 
			
		||||
#undef ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
 | 
			
		||||
 | 
			
		||||
// Allow fancy RGB
 | 
			
		||||
#define RGB_MATRIX_KEYPRESSES
 | 
			
		||||
#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
 | 
			
		||||
 | 
			
		||||
// Simple RGB
 | 
			
		||||
#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
 | 
			
		||||
 | 
			
		||||
// Reactive RGB
 | 
			
		||||
#define ENABLE_RGB_MATRIX_TYPING_HEATMAP
 | 
			
		||||
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
 | 
			
		||||
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
 | 
			
		||||
 | 
			
		||||
#define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_TYPING_HEATMAP
 | 
			
		||||
 | 
			
		||||
#define RGB_MATRIX_TYPING_HEATMAP_DECREASE_DELAY_MS 50
 | 
			
		||||
 | 
			
		||||
// Unicode for Linux
 | 
			
		||||
#define UNICODE_SELECTED_MODES UC_LNX
 | 
			
		||||
#define UNICODE_KEY_LNX  LCTL(LSFT(KC_U))
 | 
			
		||||
 | 
			
		||||
// Leader config
 | 
			
		||||
#define LEADER_PER_KEY_TIMING
 | 
			
		||||
#define LEADER_TIMEOUT 500
 | 
			
		||||
							
								
								
									
										152
									
								
								keyboards/keychron/q1/rev_0102/keymaps/victorsavu3/keymap.c
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										152
									
								
								keyboards/keychron/q1/rev_0102/keymaps/victorsavu3/keymap.c
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,152 @@
 | 
			
		|||
/* Copyright 2021 @ Victor-Gabriel Savu
 | 
			
		||||
 *
 | 
			
		||||
 * 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 QMK_KEYBOARD_H
 | 
			
		||||
 | 
			
		||||
enum layers{
 | 
			
		||||
  MAC_BASE,
 | 
			
		||||
  MAC_FN,
 | 
			
		||||
  WIN_BASE,
 | 
			
		||||
  WIN_FN
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
#define KC_TASK LGUI(KC_TAB)
 | 
			
		||||
#define KC_FLXP LGUI(KC_E)
 | 
			
		||||
 | 
			
		||||
enum unicode_names {
 | 
			
		||||
    GRIN,
 | 
			
		||||
    SAD,
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
const uint32_t PROGMEM unicode_map[] = {
 | 
			
		||||
    [GRIN]  = 0x1F600,  // 😀
 | 
			
		||||
    [SAD]   = 0x1F61E,  // 😞
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
			
		||||
 | 
			
		||||
[MAC_BASE] = LAYOUT_iso_83(
 | 
			
		||||
     KC_ESC,             KC_BRID,  KC_BRIU,  KC_F3,    KC_F4,    RGB_VAD,  RGB_VAI,  KC_MPRV,  KC_MPLY,  KC_MNXT,  KC_MUTE,  KC_VOLD,  KC_VOLU,  KC_DEL,   KC_INS,
 | 
			
		||||
     KC_GRV,   KC_1,     KC_2,     KC_3,     KC_4,     KC_5,     KC_6,     KC_7,     KC_8,     KC_9,     KC_0,     KC_MINS,  KC_EQL,   KC_BSPC,            KC_PGUP,
 | 
			
		||||
     KC_TAB,   KC_Q,     KC_W,     KC_E,     KC_R,     KC_T,     KC_Y,     KC_U,     KC_I,     KC_O,     KC_P,     KC_LBRC,  KC_RBRC,                      KC_PGDN,
 | 
			
		||||
     KC_CAPS,  KC_A,     KC_S,     KC_D,     KC_F,     KC_G,     KC_H,     KC_J,     KC_K,     KC_L,     KC_SCLN,  KC_QUOT,  KC_NUHS,  KC_ENT,             KC_HOME,
 | 
			
		||||
     KC_LSFT,  KC_NUBS,  KC_Z,     KC_X,     KC_C,     KC_V,     KC_B,     KC_N,     KC_M,     KC_COMM,  KC_DOT,   KC_SLSH,            KC_RSFT,  KC_UP,
 | 
			
		||||
     KC_LCTL,  KC_LALT,  KC_LGUI,                                KC_SPC,                                 KC_RGUI, MO(MAC_FN),KC_RCTL,  KC_LEFT,  KC_DOWN,  KC_RGHT),
 | 
			
		||||
 | 
			
		||||
[MAC_FN] = LAYOUT_iso_83(
 | 
			
		||||
     KC_TRNS,            KC_F1,    KC_F2,    KC_F3,    KC_F4,    KC_F5,    KC_F6,    KC_F7,    KC_F8,    KC_F9,    KC_F10,   KC_F11,   KC_F12,   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,
 | 
			
		||||
     RGB_TOG,  RGB_MOD,  RGB_VAI,  RGB_HUI,  RGB_SAI,  RGB_SPI,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,                      KC_TRNS,
 | 
			
		||||
     KC_TRNS,  RGB_RMOD, RGB_VAD,  RGB_HUD,  RGB_SAD,  RGB_SPD,  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,  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),
 | 
			
		||||
 | 
			
		||||
[WIN_BASE] = LAYOUT_iso_83(
 | 
			
		||||
     KC_ESC,             KC_F1,    KC_F2,    KC_F3,    KC_F4,    KC_F5,    KC_F6,    KC_F7,    KC_F8,    KC_F9,    KC_F10,   KC_F11,   KC_F12,   KC_DEL,   X(SAD),
 | 
			
		||||
     KC_GRV,   KC_1,     KC_2,     KC_3,     KC_4,     KC_5,     KC_6,     KC_7,     KC_8,     KC_9,     KC_0,     KC_MINS,  KC_EQL,   KC_BSPC,            X(GRIN),
 | 
			
		||||
     KC_TAB,   KC_Q,     KC_W,     KC_E,     KC_R,     KC_T,     KC_Y,     KC_U,     KC_I,     KC_O,     KC_P,     KC_LBRC,  KC_RBRC,                      KC_PGUP,
 | 
			
		||||
     KC_LEAD,  KC_A,     KC_S,     KC_D,     KC_F,     KC_G,     KC_H,     KC_J,     KC_K,     KC_L,     KC_SCLN,  KC_QUOT,  KC_NUHS,  KC_ENT,             KC_PGDN,
 | 
			
		||||
     KC_LSFT,  KC_NUBS,  KC_Z,     KC_X,     KC_C,     KC_V,     KC_B,     KC_N,     KC_M,     KC_COMM,  KC_DOT,   KC_SLSH,            KC_RSFT,  KC_UP,
 | 
			
		||||
     KC_LCTL,  KC_LGUI,  KC_LALT,                                KC_SPC,                                 KC_RALT, MO(WIN_FN),KC_RCTL,  KC_LEFT,  KC_DOWN,  KC_RGHT),
 | 
			
		||||
 | 
			
		||||
[WIN_FN] = LAYOUT_iso_83(
 | 
			
		||||
     KC_TRNS,            KC_BRID,  KC_BRIU,  KC_CALC,  KC_FLXP,  RGB_VAD,  RGB_VAI,  KC_TRNS,  KC_PSCR,  KC_MUTE,  KC_VOLD,  KC_VOLU,  KC_MPLY,  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,
 | 
			
		||||
     RGB_TOG,  RGB_MOD,  RGB_VAI,  RGB_HUI,  RGB_SAI,  RGB_SPI,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,                      KC_TRNS,
 | 
			
		||||
     KC_CAPS,  RGB_RMOD, RGB_VAD,  RGB_HUD,  RGB_SAD,  RGB_SPD,  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,  KC_TRNS,  KC_TRNS,            KC_TRNS,  KC_PGUP,
 | 
			
		||||
     KC_TRNS,  KC_TRNS,  KC_TRNS,                                KC_TRNS,                                KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_HOME,  KC_PGDN,  KC_END)
 | 
			
		||||
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
static bool wiggle_mouse;
 | 
			
		||||
static uint16_t wiggle_timer;
 | 
			
		||||
static uint16_t next_wiggle;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
LEADER_EXTERNS();
 | 
			
		||||
 | 
			
		||||
void matrix_scan_user(void) {
 | 
			
		||||
    LEADER_DICTIONARY() {
 | 
			
		||||
        leading = false;
 | 
			
		||||
        leader_end();
 | 
			
		||||
 | 
			
		||||
        SEQ_ONE_KEY(KC_LEAD) {
 | 
			
		||||
            tap_code(KC_CAPS);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        SEQ_FOUR_KEYS(KC_I, KC_D, KC_L, KC_E) {
 | 
			
		||||
            wiggle_mouse = !wiggle_mouse;
 | 
			
		||||
            wiggle_timer = timer_read();
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        SEQ_TWO_KEYS(KC_O, KC_K) {
 | 
			
		||||
            send_unicode_string("👍");
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        SEQ_THREE_KEYS(KC_S, KC_A, KC_D) {
 | 
			
		||||
            send_unicode_string("😞");
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        SEQ_FIVE_KEYS(KC_C, KC_H, KC_E, KC_C, KC_K) {
 | 
			
		||||
            send_unicode_string("✅");
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        SEQ_FIVE_KEYS(KC_C, KC_R, KC_O, KC_S, KC_S) {
 | 
			
		||||
            send_unicode_string("❎");
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        SEQ_FIVE_KEYS(KC_T, KC_H, KC_A, KC_N, KC_K) {
 | 
			
		||||
            send_unicode_string("🙏");
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        SEQ_FIVE_KEYS(KC_S, KC_M, KC_I, KC_L, KC_E) {
 | 
			
		||||
            send_unicode_string("😊");
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        SEQ_FIVE_KEYS(KC_P, KC_A, KC_R, KC_T, KC_Y) {
 | 
			
		||||
            send_unicode_string("🎉");
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        SEQ_FOUR_KEYS(KC_E, KC_Y, KC_E, KC_S) {
 | 
			
		||||
            send_unicode_string("(ಠ_ಠ)");
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        SEQ_FIVE_KEYS(KC_M, KC_A, KC_G, KC_I, KC_C) {
 | 
			
		||||
            send_unicode_string("(ಠ_ಠ) 🪄 ⠁⭒*.✫.*⭒⠁");
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        SEQ_FIVE_KEYS(KC_T, KC_A, KC_B, KC_L, KC_E) {
 | 
			
		||||
            send_unicode_string("(ノಠ痊ಠ)ノ彡┻━┻");
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        SEQ_FIVE_KEYS(KC_S, KC_H, KC_R, KC_U, KC_G) {
 | 
			
		||||
            send_unicode_string("¯\\_(ツ)_/¯");
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    if (wiggle_mouse && timer_elapsed(wiggle_timer) > next_wiggle) {
 | 
			
		||||
        wiggle_timer = timer_read();
 | 
			
		||||
 | 
			
		||||
        uint8_t rval = TCNT0 + TCNT1 + TCNT3 + TCNT4;
 | 
			
		||||
        next_wiggle = rval % 1000;
 | 
			
		||||
 | 
			
		||||
        if (rval & 1) tap_code(KC_MS_UP);
 | 
			
		||||
        if (rval & 2) tap_code(KC_MS_DOWN);
 | 
			
		||||
        if (rval & 4) tap_code(KC_MS_LEFT);
 | 
			
		||||
        if (rval & 8) tap_code(KC_MS_RIGHT);
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,4 @@
 | 
			
		|||
# victorsavu3's Keychron Q1 keymap (ISO)
 | 
			
		||||
 | 
			
		||||
Very similar to the default layout. Enables reactive and framebuffer RGB, but disables most effects enabled by keychron.
 | 
			
		||||
Uses Caps Lock as a leader key for emojis and to enable a random mouse wiggler to prevent the system from going to sleep.
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,3 @@
 | 
			
		|||
MOUSEKEY_ENABLE = yes
 | 
			
		||||
UNICODEMAP_ENABLE = yes
 | 
			
		||||
LEADER_ENABLE = yes
 | 
			
		||||
| 
						 | 
				
			
			@ -48,12 +48,8 @@ bool encoder_update_user(uint8_t index, bool clockwise) {
 | 
			
		|||
                // Cycle through Tabs
 | 
			
		||||
                if (clockwise) {
 | 
			
		||||
                    tap_code16(C(KC_TAB));
 | 
			
		||||
                    /* register_code16(G(KC_RCBR)); */
 | 
			
		||||
                    /* unregister_code16(G(KC_RCBR)); */
 | 
			
		||||
                } else {
 | 
			
		||||
                    tap_code16(S(C(KC_TAB)));
 | 
			
		||||
                    /* register_code16(G(KC_LCBR)); */
 | 
			
		||||
                    /* unregister_code16(G(KC_LCBR)); */
 | 
			
		||||
                }
 | 
			
		||||
            } else { // RIGHT
 | 
			
		||||
                // Scroll up/down
 | 
			
		||||
| 
						 | 
				
			
			@ -68,11 +64,11 @@ bool encoder_update_user(uint8_t index, bool clockwise) {
 | 
			
		|||
        break;
 | 
			
		||||
        case _FIGMA:
 | 
			
		||||
            if (index == 0) { // LEFT
 | 
			
		||||
                // Volume control.
 | 
			
		||||
                // Cycle through Tabs
 | 
			
		||||
                if (clockwise) {
 | 
			
		||||
                    tap_code(KC_VOLU);
 | 
			
		||||
                    tap_code16(C(KC_TAB));
 | 
			
		||||
                } else {
 | 
			
		||||
                    tap_code(KC_VOLD);
 | 
			
		||||
                    tap_code16(S(C(KC_TAB)));
 | 
			
		||||
                }
 | 
			
		||||
            } else { // RIGHT
 | 
			
		||||
                // Zoom in/out
 | 
			
		||||
| 
						 | 
				
			
			@ -89,7 +85,7 @@ bool encoder_update_user(uint8_t index, bool clockwise) {
 | 
			
		|||
                }
 | 
			
		||||
            }
 | 
			
		||||
        break;
 | 
			
		||||
        case _TERMINAL:
 | 
			
		||||
        case _BASE:
 | 
			
		||||
        default:
 | 
			
		||||
            if (index == 0) { // LEFT
 | 
			
		||||
                // Volume control.
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -16,25 +16,73 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
			
		|||
*/
 | 
			
		||||
 | 
			
		||||
#include "zigotica.h"
 | 
			
		||||
#include "raw_hid.h"
 | 
			
		||||
 | 
			
		||||
#ifdef RAW_ENABLE
 | 
			
		||||
void raw_hid_receive(uint8_t* data, uint8_t length) {
 | 
			
		||||
    layer_clear();
 | 
			
		||||
    if (data[0] == 99) {
 | 
			
		||||
        layer_on(_BASE);
 | 
			
		||||
    }
 | 
			
		||||
    else {
 | 
			
		||||
        layer_on(data[0]);
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
// Custom Keycodes
 | 
			
		||||
#define MODE_1 TO(_TERMINAL)
 | 
			
		||||
#define MODE_1 TO(_BASE)
 | 
			
		||||
#define MODE_2 TO(_FIGMA)
 | 
			
		||||
#define MODE_3 TO(_BROWSER)
 | 
			
		||||
#define MODE_4 TO(_VIM)
 | 
			
		||||
 | 
			
		||||
enum custom_keycodes {
 | 
			
		||||
    VIM_SIP = SAFE_RANGE
 | 
			
		||||
    VIM_SIF = SAFE_RANGE,
 | 
			
		||||
    VIM_SIP,
 | 
			
		||||
    VIM_RIF,
 | 
			
		||||
    VIM_RIP,
 | 
			
		||||
    VIM_NEW
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
 | 
			
		||||
    switch (keycode) {
 | 
			
		||||
        case VIM_SIP:
 | 
			
		||||
        case VIM_SIF:// Search in File
 | 
			
		||||
            if (record->event.pressed) {
 | 
			
		||||
                register_code(KC_ESC);
 | 
			
		||||
                tap_code(KC_SLASH);
 | 
			
		||||
            } else { // released
 | 
			
		||||
                unregister_code(KC_ESC);
 | 
			
		||||
            }
 | 
			
		||||
        break;
 | 
			
		||||
        case VIM_SIP:// Search in Project
 | 
			
		||||
            if (record->event.pressed) {
 | 
			
		||||
                register_code(KC_ESC);
 | 
			
		||||
                SEND_STRING(":Ag ");
 | 
			
		||||
            } else {
 | 
			
		||||
                // released
 | 
			
		||||
            } else { // released
 | 
			
		||||
                unregister_code(KC_ESC);
 | 
			
		||||
            }
 | 
			
		||||
        break;
 | 
			
		||||
        case VIM_RIF:// Replace in File
 | 
			
		||||
            if (record->event.pressed) {
 | 
			
		||||
                register_code(KC_ESC);
 | 
			
		||||
                SEND_STRING(":%s/a/b/g");
 | 
			
		||||
            } else { // released
 | 
			
		||||
                unregister_code(KC_ESC);
 | 
			
		||||
            }
 | 
			
		||||
        break;
 | 
			
		||||
        case VIM_RIP:// Replace in Project
 | 
			
		||||
            if (record->event.pressed) {
 | 
			
		||||
                register_code(KC_ESC);
 | 
			
		||||
                SEND_STRING(":cdo %s/a/b/g");
 | 
			
		||||
            } else { // released
 | 
			
		||||
                unregister_code(KC_ESC);
 | 
			
		||||
            }
 | 
			
		||||
        break;
 | 
			
		||||
        case VIM_NEW:// New buffer
 | 
			
		||||
            if (record->event.pressed) {
 | 
			
		||||
                SEND_STRING("\e:vnew\n");
 | 
			
		||||
            } else { // released
 | 
			
		||||
                unregister_code(KC_ENT);
 | 
			
		||||
                unregister_code(KC_ESC);
 | 
			
		||||
            }
 | 
			
		||||
        break;
 | 
			
		||||
| 
						 | 
				
			
			@ -44,83 +92,83 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
 | 
			
		|||
 | 
			
		||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
			
		||||
/*
 | 
			
		||||
 * TERMINAL Layer
 | 
			
		||||
 * BASE Layer
 | 
			
		||||
 *
 | 
			
		||||
 * ,-----------------------------.
 | 
			
		||||
 * |       | TERM | FIGM |       |
 | 
			
		||||
 * |       | BASE | FIGM |       |
 | 
			
		||||
 * |-------+------+------+-------|
 | 
			
		||||
 * |  VOL  | BROW |  VIM | SCROLL|
 | 
			
		||||
 * |VOL/PLY| BROW |  VIM | SCROLL|
 | 
			
		||||
 * |-------+------+------+-------|
 | 
			
		||||
 *    |-------+-------+-------|
 | 
			
		||||
 *    | MEDIA |   o   |   o   |
 | 
			
		||||
 *    |   o   |   o   |   o   |
 | 
			
		||||
 *    |-------+-------+-------|
 | 
			
		||||
 *    |   o   |   o   |   o   |
 | 
			
		||||
 *    |-------+-------+-------|
 | 
			
		||||
 */
 | 
			
		||||
    [_TERMINAL] = LAYOUT(
 | 
			
		||||
    [_BASE] = LAYOUT(
 | 
			
		||||
               MODE_1, MODE_2,
 | 
			
		||||
    ZK_MEDIA,  MODE_3, MODE_4,  _______,
 | 
			
		||||
    _______,      _______,      _______,
 | 
			
		||||
    _______,      _______,      _______
 | 
			
		||||
    ),
 | 
			
		||||
/*
 | 
			
		||||
 * VIM Layer
 | 
			
		||||
 *
 | 
			
		||||
 * ,-----------------------------.
 | 
			
		||||
 * |       | TERM | FIGM |       |
 | 
			
		||||
 * |-------+------+------+-------|
 | 
			
		||||
 * |BUFFER | BROW |  VIM | SCROLL|
 | 
			
		||||
 * |-------+------+------+-------|
 | 
			
		||||
 *    |-------+-------+-------|
 | 
			
		||||
 *    |SEARCH |   o   |   o   |
 | 
			
		||||
 *    |-------+-------+-------|
 | 
			
		||||
 *    |   o   |   o   |   o   |
 | 
			
		||||
 *    |-------+-------+-------|
 | 
			
		||||
 */
 | 
			
		||||
    [_VIM] = LAYOUT(
 | 
			
		||||
             _______, _______,
 | 
			
		||||
    _______, _______, _______,  _______,
 | 
			
		||||
    VIM_SIP,      _______,      _______,
 | 
			
		||||
    _______,      _______,      _______
 | 
			
		||||
    ),
 | 
			
		||||
/*
 | 
			
		||||
 * FIGMA Layer
 | 
			
		||||
 *
 | 
			
		||||
 * ,-----------------------------.
 | 
			
		||||
 * |       | TERM | FIGM |       |
 | 
			
		||||
 * |       | BASE | FIGM |       |
 | 
			
		||||
 * |-------+------+------+-------|
 | 
			
		||||
 * |  VOL  | BROW |  VIM | ZOOM  |
 | 
			
		||||
 * |  TABS | BROW |  VIM | ZOOM  |
 | 
			
		||||
 * |-------+------+------+-------|
 | 
			
		||||
 *    |-------+-------+-------|
 | 
			
		||||
 *    | ZOOM  | GRIDS |  FULL |
 | 
			
		||||
 *    |ZOOMFIT| GRIDS |  FULL |
 | 
			
		||||
 *    |-------+-------+-------|
 | 
			
		||||
 *    |   o   |   o   |   o   |
 | 
			
		||||
 *    |ZOOM100|  NEXT | COLOR |
 | 
			
		||||
 *    |-------+-------+-------|
 | 
			
		||||
 */
 | 
			
		||||
    [_FIGMA] = LAYOUT(
 | 
			
		||||
             _______, _______,
 | 
			
		||||
    _______, _______, _______,  _______,
 | 
			
		||||
    LSFT(KC_1), LCTL(KC_G), LGUI(KC_BSLS),
 | 
			
		||||
    _______,      _______,      _______
 | 
			
		||||
    LSFT(KC_0), KC_N,       LCTL(KC_C)
 | 
			
		||||
    ),
 | 
			
		||||
/*
 | 
			
		||||
 * BROWSER Layer
 | 
			
		||||
 *
 | 
			
		||||
 * ,-----------------------------.
 | 
			
		||||
 * |       | TERM | FIGM |       |
 | 
			
		||||
 * |       | BASE | FIGM |       |
 | 
			
		||||
 * |-------+------+------+-------|
 | 
			
		||||
 * |  TABS | BROW |  VIM | SCROLL|
 | 
			
		||||
 * |-------+------+------+-------|
 | 
			
		||||
 *    |-------+-------+-------|
 | 
			
		||||
 *    |SEARCH | BOOKM | DEVTL |
 | 
			
		||||
 *    |-------+-------+-------|
 | 
			
		||||
 *    |   o   |   o   |   o   |
 | 
			
		||||
 *    |ZOOM100| MUTE  | READ  |
 | 
			
		||||
 *    |-------+-------+-------|
 | 
			
		||||
 */
 | 
			
		||||
    [_BROWSER] = LAYOUT(
 | 
			
		||||
             _______, _______,
 | 
			
		||||
    _______, _______, _______,  _______,
 | 
			
		||||
    G(KC_F),   G(KC_D),   G(A(KC_I)),
 | 
			
		||||
    _______,      _______,      _______
 | 
			
		||||
    G(KC_0),   C(KC_M),   G(A(KC_R))
 | 
			
		||||
    ),
 | 
			
		||||
/*
 | 
			
		||||
 * VIM Layer
 | 
			
		||||
 *
 | 
			
		||||
 * ,-----------------------------.
 | 
			
		||||
 * |       | BASE | FIGM |       |
 | 
			
		||||
 * |-------+------+------+-------|
 | 
			
		||||
 * |BUFFER | BROW |  VIM | SCROLL|
 | 
			
		||||
 * |-------+------+------+-------|
 | 
			
		||||
 *    |-------+-------+-------|
 | 
			
		||||
 *    |SRCH FL|REPL FL|NEW BUF|
 | 
			
		||||
 *    |-------+-------+-------|
 | 
			
		||||
 *    |SRCH PR|REPL PR|   o   |
 | 
			
		||||
 *    |-------+-------+-------|
 | 
			
		||||
 */
 | 
			
		||||
    [_VIM] = LAYOUT(
 | 
			
		||||
             _______, _______,
 | 
			
		||||
    _______, _______, _______,  _______,
 | 
			
		||||
    VIM_SIF,      VIM_RIF,      VIM_NEW,
 | 
			
		||||
    VIM_SIP,      VIM_RIP,      _______
 | 
			
		||||
    ),
 | 
			
		||||
};
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -21,16 +21,16 @@ static void render_status(void) {
 | 
			
		|||
    oled_write_P(PSTR("Layer: "), false);
 | 
			
		||||
    switch (get_highest_layer(layer_state)) {
 | 
			
		||||
        case _VIM:
 | 
			
		||||
            oled_write_P(PSTR("VIM\n\nBUFFER       SCROLL"), false);
 | 
			
		||||
            oled_write_P(PSTR("VIM      \n\nBUFFER         SCROLL"), false);
 | 
			
		||||
            break;
 | 
			
		||||
        case _FIGMA:
 | 
			
		||||
            oled_write_P(PSTR("FIGMA\n\nVOLUME         ZOOM"), false);
 | 
			
		||||
            oled_write_P(PSTR("FIGMA    \n\nTABS             ZOOM"), false);
 | 
			
		||||
            break;
 | 
			
		||||
        case _BROWSER:
 | 
			
		||||
            oled_write_P(PSTR("BROWSER\n\nTABS         SCROLL"), false);
 | 
			
		||||
            oled_write_P(PSTR("BROWSER  \n\nTABS           SCROLL"), false);
 | 
			
		||||
            break;
 | 
			
		||||
        case _TERMINAL:
 | 
			
		||||
            oled_write_P(PSTR("TERMINAL\n\nVOLUME       SCROLL"), false);
 | 
			
		||||
        case _BASE:
 | 
			
		||||
            oled_write_P(PSTR("BASE     \n\nVOLUME         SCROLL"), false);
 | 
			
		||||
            break;
 | 
			
		||||
        default:
 | 
			
		||||
            oled_write_P(PSTR("Undef\n"), false);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										3
									
								
								keyboards/z12/keymaps/zigotica/readme.md
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								keyboards/z12/keymaps/zigotica/readme.md
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,3 @@
 | 
			
		|||
# zigotica's z12 Layout
 | 
			
		||||
 | 
			
		||||
This layout uses `RAW_ENABLE = yes`, and benefits from [active-app-qmk-layer-updater](https://github.com/zigotica/active-app-qmk-layer-updater) node script (run by the host system) to change layers programmatically depending on the current active app.
 | 
			
		||||
| 
						 | 
				
			
			@ -26,7 +26,7 @@ enum userspace_layers {
 | 
			
		|||
};
 | 
			
		||||
#else
 | 
			
		||||
enum userspace_layers {
 | 
			
		||||
    _TERMINAL = 0,
 | 
			
		||||
    _BASE = 0,
 | 
			
		||||
    _FIGMA,
 | 
			
		||||
    _BROWSER,
 | 
			
		||||
    _VIM,
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue