Merge remote-tracking branch 'origin/master' into develop
This commit is contained in:
		
						commit
						558b074c93
					
				
					 7 changed files with 354 additions and 0 deletions
				
			
		
							
								
								
									
										21
									
								
								keyboards/handwired/franky36/config.h
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										21
									
								
								keyboards/handwired/franky36/config.h
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,21 @@
 | 
			
		|||
/* Copyright 2024-2025 Grigory Avdyushin
 | 
			
		||||
 *
 | 
			
		||||
 * 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
 | 
			
		||||
 | 
			
		||||
#define I2C_DRIVER I2CD0
 | 
			
		||||
#define I2C1_SDA_PIN GP0
 | 
			
		||||
#define I2C1_SCL_PIN GP1
 | 
			
		||||
							
								
								
									
										68
									
								
								keyboards/handwired/franky36/franky36.c
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										68
									
								
								keyboards/handwired/franky36/franky36.c
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,68 @@
 | 
			
		|||
/* Copyright 2024-2025 Grigory Avdyushin
 | 
			
		||||
 *
 | 
			
		||||
 * 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
 | 
			
		||||
 | 
			
		||||
#ifdef OLED_ENABLE
 | 
			
		||||
 | 
			
		||||
static void render_logo(void) {
 | 
			
		||||
    static const char PROGMEM qmk_logo[] = {
 | 
			
		||||
        0x80, 0x81, 0x82, 0x83, 0x84,
 | 
			
		||||
        0xA0, 0xA1, 0xA2, 0xA3, 0xA4,
 | 
			
		||||
        0xC0, 0xC1, 0xC2, 0xC3, 0xC4, 0x00, 0x0A, 0x0A
 | 
			
		||||
    };
 | 
			
		||||
 | 
			
		||||
    oled_write_P(qmk_logo, false);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static void render_mod_status(uint8_t modifiers) {
 | 
			
		||||
    oled_write_P(PSTR("MODS:"), false);
 | 
			
		||||
    oled_write_P(PSTR("S"), (modifiers & MOD_MASK_SHIFT));
 | 
			
		||||
    oled_write_P(PSTR("C"), (modifiers & MOD_MASK_CTRL));
 | 
			
		||||
    oled_write_P(PSTR("A"), (modifiers & MOD_MASK_ALT));
 | 
			
		||||
    oled_write_ln_P(PSTR("G"), (modifiers & MOD_MASK_GUI));
 | 
			
		||||
    oled_write_ln_P(PSTR(" "), false);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static void render_layer_state(void) {
 | 
			
		||||
    oled_write_ln_P(PSTR(" "), false);
 | 
			
		||||
    oled_write_P("BASE ", layer_state_is(0));
 | 
			
		||||
    oled_write_P("LOWER", layer_state_is(1));
 | 
			
		||||
    oled_write_P("RAISE", layer_state_is(2));
 | 
			
		||||
    oled_write_P("NAV  ", layer_state_is(3));
 | 
			
		||||
    oled_write_ln_P(PSTR(" "), false);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static void render_capsword_state(bool on) {
 | 
			
		||||
    oled_write_ln_P("CAPSW", on);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
oled_rotation_t oled_init_kb(oled_rotation_t rotation) {
 | 
			
		||||
    return OLED_ROTATION_270;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
bool oled_task_kb(void) {
 | 
			
		||||
    if (!oled_task_user()) {
 | 
			
		||||
        return false;
 | 
			
		||||
    }
 | 
			
		||||
    render_logo();
 | 
			
		||||
    render_layer_state();
 | 
			
		||||
    render_mod_status(get_mods() | get_oneshot_mods());
 | 
			
		||||
    render_capsword_state(is_caps_word_on());
 | 
			
		||||
    return false;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 #endif
 | 
			
		||||
							
								
								
									
										21
									
								
								keyboards/handwired/franky36/halconf.h
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										21
									
								
								keyboards/handwired/franky36/halconf.h
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,21 @@
 | 
			
		|||
/* Copyright 2024-2025 Grigory Avdyushin
 | 
			
		||||
 *
 | 
			
		||||
 * 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
 | 
			
		||||
 | 
			
		||||
#define HAL_USE_I2C TRUE
 | 
			
		||||
 | 
			
		||||
#include_next <halconf.h>
 | 
			
		||||
							
								
								
									
										72
									
								
								keyboards/handwired/franky36/keyboard.json
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										72
									
								
								keyboards/handwired/franky36/keyboard.json
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,72 @@
 | 
			
		|||
{
 | 
			
		||||
    "manufacturer": "Grigory Avdyushin",
 | 
			
		||||
    "keyboard_name": "franky36",
 | 
			
		||||
    "maintainer": "Grigory Avdyushin",
 | 
			
		||||
    "bootloader": "rp2040",
 | 
			
		||||
    "caps_word": {
 | 
			
		||||
        "both_shifts_turns_on": true
 | 
			
		||||
    },
 | 
			
		||||
    "diode_direction": "COL2ROW",
 | 
			
		||||
    "features": {
 | 
			
		||||
        "bootmagic": true,
 | 
			
		||||
        "caps_word": true,
 | 
			
		||||
        "extrakey": true,
 | 
			
		||||
        "mousekey": true,
 | 
			
		||||
        "nkro": true,
 | 
			
		||||
        "oled": true
 | 
			
		||||
    },
 | 
			
		||||
    "matrix_pins": {
 | 
			
		||||
        "cols": ["GP9", "GP10", "GP11", "GP12", "GP13", "GP14", "GP15", "GP26", "GP27", "GP28"],
 | 
			
		||||
        "rows": ["GP5", "GP4", "GP3", "GP2"]
 | 
			
		||||
    },
 | 
			
		||||
    "processor": "RP2040",
 | 
			
		||||
    "url": "https://github.com/avdyushin/franky36",
 | 
			
		||||
    "usb": {
 | 
			
		||||
        "device_version": "0.2.0",
 | 
			
		||||
        "pid": "0x0001",
 | 
			
		||||
        "vid": "0xFEED"
 | 
			
		||||
    },
 | 
			
		||||
    "community_layouts": ["split_3x5_3"],
 | 
			
		||||
    "layouts": {
 | 
			
		||||
        "LAYOUT_split_3x5_3": {
 | 
			
		||||
            "layout": [
 | 
			
		||||
                {"matrix": [0, 0], "x": 0, "y": 0},
 | 
			
		||||
                {"matrix": [0, 1], "x": 1, "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, "y": 0},
 | 
			
		||||
                {"matrix": [0, 7], "x": 7, "y": 0},
 | 
			
		||||
                {"matrix": [0, 8], "x": 8, "y": 0},
 | 
			
		||||
                {"matrix": [0, 9], "x": 9, "y": 0},
 | 
			
		||||
                {"matrix": [1, 0], "x": 0, "y": 1},
 | 
			
		||||
                {"matrix": [1, 1], "x": 1, "y": 1},
 | 
			
		||||
                {"matrix": [1, 2], "x": 2, "y": 1},
 | 
			
		||||
                {"matrix": [1, 3], "x": 3, "y": 1},
 | 
			
		||||
                {"matrix": [1, 4], "x": 4, "y": 1},
 | 
			
		||||
                {"matrix": [1, 5], "x": 5, "y": 1},
 | 
			
		||||
                {"matrix": [1, 6], "x": 6, "y": 1},
 | 
			
		||||
                {"matrix": [1, 7], "x": 7, "y": 1},
 | 
			
		||||
                {"matrix": [1, 8], "x": 8, "y": 1},
 | 
			
		||||
                {"matrix": [1, 9], "x": 9, "y": 1},
 | 
			
		||||
                {"matrix": [2, 0], "x": 0, "y": 2},
 | 
			
		||||
                {"matrix": [2, 1], "x": 1, "y": 2},
 | 
			
		||||
                {"matrix": [2, 2], "x": 2, "y": 2},
 | 
			
		||||
                {"matrix": [2, 3], "x": 3, "y": 2},
 | 
			
		||||
                {"matrix": [2, 4], "x": 4, "y": 2},
 | 
			
		||||
                {"matrix": [2, 5], "x": 5, "y": 2},
 | 
			
		||||
                {"matrix": [2, 6], "x": 6, "y": 2},
 | 
			
		||||
                {"matrix": [2, 7], "x": 7, "y": 2},
 | 
			
		||||
                {"matrix": [2, 8], "x": 8, "y": 2},
 | 
			
		||||
                {"matrix": [2, 9], "x": 9, "y": 2},
 | 
			
		||||
                {"matrix": [3, 2], "x": 2, "y": 3},
 | 
			
		||||
                {"matrix": [3, 3], "x": 3, "y": 3},
 | 
			
		||||
                {"matrix": [3, 4], "x": 4, "y": 3},
 | 
			
		||||
                {"matrix": [3, 5], "x": 5, "y": 3},
 | 
			
		||||
                {"matrix": [3, 6], "x": 6, "y": 3},
 | 
			
		||||
                {"matrix": [3, 7], "x": 7, "y": 3}
 | 
			
		||||
            ]
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										123
									
								
								keyboards/handwired/franky36/keymaps/default/keymap.c
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										123
									
								
								keyboards/handwired/franky36/keymaps/default/keymap.c
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,123 @@
 | 
			
		|||
/* Copyright 2024-2025 Grigory Avdyushin
 | 
			
		||||
 *
 | 
			
		||||
 * 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 my_layers {
 | 
			
		||||
    _BASE = 0,
 | 
			
		||||
    _LOWER,
 | 
			
		||||
    _RAISE,
 | 
			
		||||
    _NAV,
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
#define LOWER          MO(_LOWER)
 | 
			
		||||
#define RAISE          MO(_RAISE)
 | 
			
		||||
#define NAV            MO(_NAV)
 | 
			
		||||
 | 
			
		||||
#define OSM_LSFT       OSM(MOD_LSFT)       // One Shot Right Shift
 | 
			
		||||
 | 
			
		||||
#define KC_SFT_Z       SFT_T(KC_Z)         // Left Shift when held, Z when tapped
 | 
			
		||||
#define KC_SFT_SL      RSFT_T(KC_SLSH)     // Right Shift when held, / when tapped
 | 
			
		||||
 | 
			
		||||
#define KC_SFT_BSLS    RSFT_T(KC_BSLS)     // Right Shift when held, \ when tapped
 | 
			
		||||
 | 
			
		||||
#define KC_LWR_SPC     LT(_LOWER, KC_SPC)  // Lower layer when held, Space when tapped
 | 
			
		||||
#define KC_RSE_BSPC    LT(_RAISE, KC_BSPC) // Raise layer when held, Backspace when tapped
 | 
			
		||||
#define KC_NAV_A       LT(_NAV,KC_A)       // Navigation layer when held, A when tapped
 | 
			
		||||
 | 
			
		||||
#define KC_CMD_TAB     CMD_T(KC_TAB)       // Left Command when held, Tab when tapped
 | 
			
		||||
#define KC_CMD_ENT     RCMD_T(KC_ENT)      // Right Command when held, Enter when tapped
 | 
			
		||||
 | 
			
		||||
#define KC_CTL_ESC     CTL_T(KC_ESC)       // Left Control when held, Escape when tapped
 | 
			
		||||
#define KC_OPT_OSM_SFT ROPT_T(OSM_LSFT)    // Right Option when held, One Shot Shift when tapped
 | 
			
		||||
 | 
			
		||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
			
		||||
    /*
 | 
			
		||||
     * ┌───┬───┬───┬───┬───┐         ┌───┬───┬───┬───┬───┐
 | 
			
		||||
     * │ Q │ W │ E │ R │ T │         │ Y │ U │ I │ O │ P │
 | 
			
		||||
     * ├───┼───┼───┼───┼───┤         ├───┼───┼───┼───┼───┤
 | 
			
		||||
     * │ A │ S │ D │ F │ G │         │ H │ J │ K │ L │ ;:│
 | 
			
		||||
     * ├───┼───┼───┼───┼───┤         ├───┼───┼───┼───┼───┤
 | 
			
		||||
     * │⇧/Z│ X │ C │ V │ B │         │ N │ M │ ,<│ .>│⇧/?│
 | 
			
		||||
     * └───┴───┴───┴───┴───┘         └───┴───┴───┴───┴───┘
 | 
			
		||||
     *             ┌───┬───┬───┐ ┌───┬───┬───┐
 | 
			
		||||
     *             │CTL│CMD│SPC│ │ENT│CMD│OPT│
 | 
			
		||||
     *             └───┴───┴───┘ └───┴───┴───┘
 | 
			
		||||
     */
 | 
			
		||||
    [_BASE] = LAYOUT_split_3x5_3(
 | 
			
		||||
        KC_Q,     KC_W, KC_E,       KC_R,       KC_T,       KC_Y,        KC_U,       KC_I,    KC_O,   KC_P,
 | 
			
		||||
        KC_NAV_A, KC_S, KC_D,       KC_F,       KC_G,       KC_H,        KC_J,       KC_K,    KC_L,   KC_SCLN,
 | 
			
		||||
        KC_SFT_Z, KC_X, KC_C,       KC_V,       KC_B,       KC_N,        KC_M,       KC_COMM, KC_DOT, KC_SFT_SL,
 | 
			
		||||
                        KC_CTL_ESC, KC_CMD_TAB, KC_LWR_SPC, KC_RSE_BSPC, KC_CMD_ENT, KC_ROPT
 | 
			
		||||
    ),
 | 
			
		||||
 | 
			
		||||
    /*
 | 
			
		||||
     * ┌───┬───┬───┬───┬───┐         ┌───┬───┬───┬───┬───┐
 | 
			
		||||
     * │ 1!│ 2@│ 3#│ 4$│ 5%│         │ 6^│ 7&│ 8*│ 9(│ 0)│
 | 
			
		||||
     * ├───┼───┼───┼───┼───┤         ├───┼───┼───┼───┼───┤
 | 
			
		||||
     * │ `~│   │   │   │   │         │ ← │ ↓ │ ↑ │ → │ '"│
 | 
			
		||||
     * ├───┼───┼───┼───┼───┤         ├───┼───┼───┼───┼───┤
 | 
			
		||||
     * │ ⇧ │   │   │   │   │         │ -_│ =+│ [{│ ]}│ \|│
 | 
			
		||||
     * └───┴───┴───┴───┴───┘         └───┴───┴───┴───┴───┘
 | 
			
		||||
     *             ┌───┬───┬───┐ ┌───┬───┬───┐
 | 
			
		||||
     *             │   │   │   │ │   │   │   │
 | 
			
		||||
     *             └───┴───┴───┘ └───┴───┴───┘
 | 
			
		||||
     */
 | 
			
		||||
    [_LOWER] = LAYOUT_split_3x5_3(
 | 
			
		||||
        KC_1,    KC_2,    KC_3,    KC_4,    KC_5,    KC_6,    KC_7,    KC_8,    KC_9,     KC_0,
 | 
			
		||||
        KC_GRV,  _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_UP,   KC_RIGHT, KC_QUOT,
 | 
			
		||||
        KC_LSFT, _______, _______, _______, _______, KC_MINS, KC_EQL,  KC_LBRC, KC_RBRC,  KC_SFT_BSLS,
 | 
			
		||||
                          _______, _______, _______, _______, _______, _______
 | 
			
		||||
    ),
 | 
			
		||||
 | 
			
		||||
    /*
 | 
			
		||||
     * ┌───┬───┬───┬───┬───┐         ┌───┬───┬───┬───┬───┐
 | 
			
		||||
     * │ F1│ F2│ F3│ F4│ F5│         │ F6│ F7│ F8│ F9│F10│
 | 
			
		||||
     * ├───┼───┼───┼───┼───┤         ├───┼───┼───┼───┼───┤
 | 
			
		||||
     * │   │   │   │   │   │         │   │   │   │   │   │
 | 
			
		||||
     * ├───┼───┼───┼───┼───┤         ├───┼───┼───┼───┼───┤
 | 
			
		||||
     * │   │   │   │   │   │         │   │   │   │   │   │
 | 
			
		||||
     * └───┴───┴───┴───┴───┘         └───┴───┴───┴───┴───┘
 | 
			
		||||
     *             ┌───┬───┬───┐ ┌───┬───┬───┐
 | 
			
		||||
     *             │   │   │   │ │   │   │   │
 | 
			
		||||
     *             └───┴───┴───┘ └───┴───┴───┘
 | 
			
		||||
     */
 | 
			
		||||
    [_RAISE] = LAYOUT_split_3x5_3(
 | 
			
		||||
        KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,   KC_F6,   KC_F7,   KC_F8,   KC_F9,   KC_F10,
 | 
			
		||||
        _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
 | 
			
		||||
        _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
 | 
			
		||||
                          _______, _______, _______, _______, _______, _______
 | 
			
		||||
    ),
 | 
			
		||||
 | 
			
		||||
    /*
 | 
			
		||||
     * ┌───┬───┬───┬───┬───┐         ┌───┬───┬───┬───┬───┐
 | 
			
		||||
     * │   │   │   │   │   │         │HOM│   │   │END│   │
 | 
			
		||||
     * ├───┼───┼───┼───┼───┤         ├───┼───┼───┼───┼───┤
 | 
			
		||||
     * │   │   │   │   │   │         │ ← │ ↓ │ ↑ │ → │   │
 | 
			
		||||
     * ├───┼───┼───┼───┼───┤         ├───┼───┼───┼───┼───┤
 | 
			
		||||
     * │   │   │   │   │   │         │PUP│   │   │PDN│   │
 | 
			
		||||
     * └───┴───┴───┴───┴───┘         └───┴───┴───┴───┴───┘
 | 
			
		||||
     *             ┌───┬───┬───┐ ┌───┬───┬───┐
 | 
			
		||||
     *             │   │   │   │ │   │   │   │
 | 
			
		||||
     *             └───┴───┴───┘ └───┴───┴───┘
 | 
			
		||||
     */
 | 
			
		||||
    [_NAV] = LAYOUT_split_3x5_3(
 | 
			
		||||
        _______, _______, _______, _______, _______, KC_HOME, _______, _______, KC_END,   _______,
 | 
			
		||||
        _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_UP,   KC_RIGHT, _______,
 | 
			
		||||
        _______, _______, _______, _______, _______, KC_PGUP, _______, _______, KC_PGDN,  _______,
 | 
			
		||||
                          _______, _______, _______, _______, _______, _______
 | 
			
		||||
    )
 | 
			
		||||
};
 | 
			
		||||
							
								
								
									
										24
									
								
								keyboards/handwired/franky36/mcuconf.h
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										24
									
								
								keyboards/handwired/franky36/mcuconf.h
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,24 @@
 | 
			
		|||
/* Copyright 2024-2025 Grigory Avdyushin
 | 
			
		||||
 *
 | 
			
		||||
 * 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_next <mcuconf.h>
 | 
			
		||||
 | 
			
		||||
#undef RP_I2C_USE_I2C0
 | 
			
		||||
#define RP_I2C_USE_I2C0 TRUE
 | 
			
		||||
#undef RP_I2C_USE_I2C1
 | 
			
		||||
#define RP_I2C_USE_I2C1 FALSE
 | 
			
		||||
							
								
								
									
										25
									
								
								keyboards/handwired/franky36/readme.md
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										25
									
								
								keyboards/handwired/franky36/readme.md
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,25 @@
 | 
			
		|||
# franky36
 | 
			
		||||
 | 
			
		||||
Franky36 is 36 key compact handwired split keyboard that uses single RP2040-Zero controller.
 | 
			
		||||
 | 
			
		||||
* Keyboard Maintainer: [Grigory Avdyushin](https://github.com/avdyushin)
 | 
			
		||||
* Hardware Supported: RP2040-Zero
 | 
			
		||||
* Hardware Availability: Handwired [franky36](https://github.com/avdyushin/franky36)
 | 
			
		||||
 | 
			
		||||
Make example for this keyboard (after setting up your build environment):
 | 
			
		||||
 | 
			
		||||
    make franky36:default
 | 
			
		||||
 | 
			
		||||
Flashing example for this keyboard:
 | 
			
		||||
 | 
			
		||||
    make franky36: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**: Hold down the reset button on the controller and plug in the keyboard
 | 
			
		||||
* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
 | 
			
		||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue