Miryoku is an ergonomic, minimal, orthogonal, and universal keyboard layout.

Overview
You might also like...
A simple website layout.

my_website A new Flutter project. Getting Started This project is a starting point for a Flutter application. A few resources to get you started if th

This package contains the common algorithms in robotic arm, and I have developed it based on universal robot. It will be continuously updateing.
This package contains the common algorithms in robotic arm, and I have developed it based on universal robot. It will be continuously updateing.

Robotic_Arm_Algorithms It contains the common algorithms in robotic arm, and will be recording the development as soon as I have completed the any one

Universal fix for Google SafetyNet on Android devices with hardware attestation and unlocked bootloaders.

Universal SafetyNet Fix This is a universal fix for SafetyNet on devices with hardware-backed attestation and unlocked bootloaders (or custom verified

A simulation of Newton's law of universal gravitation
A simulation of Newton's law of universal gravitation

Newton's law of universal gravitation This simulation uses the famous equation of Isaac Newton

A universal way to create a noclip mod in Unity games (Mono/IIL2CPP)

Universal-Unity-NoClip This projects aim to show how a noclip mod can be created in any unity game, regardless if its using an il2cpp or mono backend.

Universal State Monitor software for home automation input devices

Universal State Monitor Copyright 2019-2021 SuperHouse Automation Pty Ltd www.superhouse.tv A binary state monitor for DIY home automation projects. T

Universal binaries for Linux.

FatELF The latest information about FatELF can be found at https://icculus.org/fatelf/ What is this? FatELF is a simple file format that allows you to

A Script to thin Universal Apps on macOS quickly

UBThinner A Script to thin Universal Apps on macOS quickly. It traverses through the given folder recursively, identifies any universal binaries and t

Somewhat Universal Widescreen Fix

SUWSF Somewhat Universal Widescreen Fix is intended to enable widescreen aspect ratios (e.g. 21:9, 32:9, 48:9) in games where it is unsupported. WARNI

Comments
  • adding wylderbuilds keyboard + colemakdh build input

    adding wylderbuilds keyboard + colemakdh build input

    hey, i just wanted to say miryoku is great. i was able to use the workflows to build my firmware but i had to add support for the colemakdh option. which i did. if you'd like i can add it to the zmk repo and i can update the miryoku docs. i figured other users, or the wylderbuild guy himself, may wanna flash his boards using miryoku but he was too busy to get it working so i took the liberty of pushing those changes here in case others would like miryoku.

    Update build-inputs.yml; adding colemakdh as missing alpha Update wylderbulids config.h; trying to get the right thumb key assigned to the keymap update wylderbuild readmee change keymap given thumbkey mismapping

    @bullwinkle3000

    opened by serpentfabric 2
  • fix: build errors

    fix: build errors

    Currently when building I receive the following errors:

    ❯ make draculad:manna-harbour_miryoku MIRYOKU_CLIPBOARD=MAC
    Making draculad with keymap manna-harbour_miryoku
    
    avr-gcc (Homebrew AVR GCC 8.5.0) 8.5.0
    Copyright (C) 2018 Free Software Foundation, Inc.
    This is free software; see the source for copying conditions.  There is NO
    warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
    
    Generating: .build/obj_draculad/src/info_config.h                                                   [OK]
    Generating: .build/obj_draculad/src/default_keyboard.c                                              [OK]
    Generating: .build/obj_draculad/src/default_keyboard.h                                              [OK]
    Compiling: keyboards/draculad/draculad.c                                                            [OK]
    Compiling: .build/obj_draculad/src/default_keyboard.c                                               [OK]
    Compiling: quantum/keymap_introspection.c                                                          In file included from quantum/keymap_introspection.c:9:
    users/manna-harbour_miryoku/manna-harbour_miryoku.c: In function 'u_td_fn_U_SYM':
    users/manna-harbour_miryoku/manna-harbour_miryoku.c:29:23: error: unsigned conversion from 'int' to 'layer_state_t' {aka 'unsigned char'} changes value from '256' to '0' [-Werror=overflow]
         default_layer_set((layer_state_t)1 << U_##LAYER); \
                           ^~~~~~~~~~~~~~~~~~~~~~
    users/manna-harbour_miryoku/miryoku_babel/miryoku_layer_list.h:20:1: note: in expansion of macro 'MIRYOKU_X'
     MIRYOKU_X(SYM,    "Sym") \
     ^~~~~~~~~
    users/manna-harbour_miryoku/manna-harbour_miryoku.c:32:1: note: in expansion of macro 'MIRYOKU_LAYER_LIST'
     MIRYOKU_LAYER_LIST
     ^~~~~~~~~~~~~~~~~~
    users/manna-harbour_miryoku/manna-harbour_miryoku.c: In function 'u_td_fn_U_FUN':
    users/manna-harbour_miryoku/manna-harbour_miryoku.c:29:23: error: unsigned conversion from 'int' to 'layer_state_t' {aka 'unsigned char'} changes value from '512' to '0' [-Werror=overflow]
         default_layer_set((layer_state_t)1 << U_##LAYER); \
                           ^~~~~~~~~~~~~~~~~~~~~~
    users/manna-harbour_miryoku/miryoku_babel/miryoku_layer_list.h:21:1: note: in expansion of macro 'MIRYOKU_X'
     MIRYOKU_X(FUN,    "Fun")
     ^~~~~~~~~
    users/manna-harbour_miryoku/manna-harbour_miryoku.c:32:1: note: in expansion of macro 'MIRYOKU_LAYER_LIST'
     MIRYOKU_LAYER_LIST
     ^~~~~~~~~~~~~~~~~~
    quantum/keymap_introspection.c: At top level:
    quantum/keymap_introspection.c:20:1: error: static assertion failed: "Number of keymap layers exceeds maximum set by LAYER_STATE_(8|16|32)BIT"
     _Static_assert(NUM_KEYMAP_LAYERS <= MAX_LAYER, "Number of keymap layers exceeds maximum set by LAYER_STATE_(8|16|32)BIT");
     ^~~~~~~~~~~~~~
    cc1: all warnings being treated as errors
     [ERRORS]
     |
     |
     |
    make[1]: *** [.build/obj_draculad_manna-harbour_miryoku/quantum/keymap_introspection.o] Error 1
    make: *** [draculad:manna-harbour_miryoku] Error 1
    Make finished with errors
    

    The assertion was introduced recently(ish) so I just commented that out.

    For the type casting errors I just added a surrounding parenthesis to the shifted value.

    I am not sure if this is the correct way to fix this, but it prevents the build errors for now.

    opened by elisiano 1
  • Custom Combos

    Custom Combos

    This change allows the user to create custom combos.

    To facilitate this, I

    • added a new option MIRYOKU_CUSTOM_COMBO_COUNT and
    • included the file custom_keymap.c from manna-harbour_miryoku.h
    • created a stub for custom_keymap.c based on custom_config.h

    To define custom combos, set MIRYOKU_CUSTOM_COMBO_COUNT to the amount of combos that are defined and define combos in custom_keymap.c

    Example custom_keymap.c:

    const uint16_t PROGMEM repeat_home[] = {KC_J, KC_K, COMBO_END};
    
    #define MIRYOKU_CUSTOM_COMBOS \
      COMBO(repeat_home, KC_ESC)
    

    custom_rules.mk:

    MIRYOKU_CUSTOM_COMBO_COUNT=1
    
    opened by Xervon 0
  • Individual Layer Flipping

    Individual Layer Flipping

    This change allows the user to flip individual layers.

    To facilitate this, I

    • changed the parameter MIRYOKU_LAYERS to
      • accept values of the form FLIP_$LAYER (e.g. MIRYOKU_LAYERS=FLIP_SYM)
      • accept a list of values separated by commas
    • added a new parameter MIRYOKU_THUMBKEYS_LAYER, that
      • accepts values of the form $THUMBKEY=$LAYER (e.g. LO=MEDIA)
        • for now I've named the thumb keys by hand and relative position, though I'm open to changing that
          • (left outer) LO
          • (left middle) LM
          • (left inner) LI
          • (right inner) RI
          • (right middle) RM
          • (right outer) RO
      • accepts a list of values separated by commas

    I've also added an additional parameter MIRYOKU_THUMBKEYS_KEYCODE that allows the user to rebind the thumb keys. This parameter accepts a comma-separated list of values of the form $THUMBKEY=$QMK_KEY_CODE.

    At the same time, this change allows decoupling the flipping of layers from the flipping of layer change keys. If a user wishes to use the same hand for switching to a layer (to facilitate one-handed media control for example), this is now possible.

    Further this also simplifies using the thumb keys in combos since all thumbkey bindings are now defined as MIRYOKU_THUMBKEY_$THUMBKEY for the Layer-Tap binding and MIRYOKU_THUMBKEY_$THUMBKEY_KC for the Tap binding.

    Following an example configuration (custom_rules.mk)

    MIRYOKU_LAYERS=FLIP_MEDIA
    MIRYOKU_THUMBKEYS_LAYER=LO=MOUSE,LI=MEDIA
    MIRYOKU_THUMBKEYS_KEYCODE=RM=KC_DEL,RO=KC_BSPC
    

    This flips the media layer while keeping all other layers and the thumb keys in normal order. It also switches the bindings for the MEDIA and MOUSE layers and switches Backspace and Delete.

    opened by Xervon 0
stacked acrylic gasket mounted ergonomic keyboard

Splay46 Build guide This keyboard requires soldering of really small smd components like USB Type C Receptacle(0.3mm pitch), Atmega32U4(0.8mm pitch),

kobakos 41 Jan 6, 2023
roost low profile ergonomic ortholinear hot-swappable kailh-choc keyboard

Roost keyboard Based off the Sweep v2.1, added 2mm or so horizontal space, added another set of keys and slots for a fat power switch. Moved battery c

Alksdeef 43 Dec 24, 2022
split89 keyboard - a 3d printed 89 key split TKL keyboard base powered by ATmega32U4 Pro Micro controllers with QMK Configurator support.

split89 keyboard - a 3d printed 89 key split TKL keyboard base powered by ATmega32U4 Pro Micro controllers with QMK Configurator support. This keyboar

null 54 Jan 7, 2023
Raw HID keyboard forwarder to turn the Pi 400 into a USB keyboard

Raspberry Pi 400 as a USB HID Keyboard Hook your Pi 400 up to your PC somehow, using a USB Type-C cable into the power port. Anker make good ones- I u

Philip Howard 182 Dec 12, 2022
Use Atari keyboard as USB keyboard with a Teensy 3.6

Atari Keyboard Convert an Atari 600/800/1200 XL into a USB keyboard. I bricked my Atari mainboard. My goal is to use the keyboard of the Atari on a Ra

Jos Koenis 2 Dec 3, 2021
Gesture-Detecting-Macro-Keyboard - Glorified Bluetooth macro keyboard with machine learning (TensorFlow Lite for Microcontrollers) running on an ESP32.

Gesture detection tldr; Glorified Bluetooth macro keyboard with machine learning (TensorFlow Lite for Microcontrollers) running on an ESP32. Main feat

Jakob Krantz 68 Dec 1, 2022
Simple ATTiny85 based PS/2 to Amiga keyboard protocol converter that fits inside the keyboard.

Simple ATTiny85 based PS/2 to Amiga keyboard protocol converter that fits inside the keyboard.

Jari Tulilahti 9 Dec 23, 2022
A fast and fun layout manager for FLTK

Fl_Flow A fast and fun layout manager for FLTK Fl_Flow is a layout manager for FLTK which works in a largely different manner to existing systems you

null 40 Dec 1, 2022
MK7_Speedometer - Sources used for the CTGP-7 speedometers, including the layout files and the C++ code

Mario Kart 7 Speedometer Here are the sources used in CTGP-7 to load extra UI elements. This sources can be used in a standaolne plugin as long as you

PabloMK7 4 Feb 8, 2022
Low profile hitbox-layout fightstick

Flatbox: Low profile hitbox-layout fightstick This repository contains 3D-printable models, PCB design files and Arduino code needed to make an arcade

Jacek Fedoryński 198 Jan 8, 2023