Skip to content

Instantly share code, notes, and snippets.

@drashna
drashna / keymap.c
Created July 15, 2024 23:05
os configed replacements
uint16_t keycode_config(uint16_t keycode) {
switch (keycode) {
case KC_CAPS_LOCK:
case KC_LOCKING_CAPS_LOCK:
if (keymap_config.swap_control_capslock || keymap_config.capslock_to_control) {
return KC_LEFT_CTRL;
} else if (keymap_config.swap_escape_capslock) {
return KC_ESCAPE;
}
return keycode;
#include QMK_KEYBOARD_H
#ifdef OLED_ENABLE
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT_ortho_2x4(
KC_1, KC_2, KC_3, KC_4,
KC_5, KC_6, KC_7, KC_8
)
};
@drashna
drashna / oled_font.h
Created August 9, 2024 00:34
Oled font with all glyphs
#pragma once
// additional fonts from
// https://github.com/datacute/TinyOLED-Fonts
#include "progmem.h"
// clang-format off
static const unsigned char font[] PROGMEM = {
0x07, 0x08, 0x7F, 0x08, 0x07, 0x00,
@drashna
drashna / oled_pet.c
Last active December 3, 2024 06:05
basic implementation of luna/etc with defer exec
// Images credit j-inc(/James Incandenza) and pixelbenny.
// Credit to obosob for initial animation approach.
// heavily modified by drashna because he's a glutton for punishment
#define OLED_ANIM_SIZE (32+1)
#define OLED_ANIM_ROWS 4
#define OLED_ANIM_MAX_FRAMES 3
#define OLED_SLEEP_FRAMES 2
@drashna
drashna / keymap.c
Created April 1, 2025 23:27
nano scroll lock scrolling
#include QMK_KEYBOARD_H
// Dummy
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {{{KC_NO}}};
void suspend_power_down_user(void) {
// Switch off sensor + LED making trackball unable to wake host
adns5050_power_down();
}