All Projects → fabi1cazenave → kalamine

fabi1cazenave / kalamine

Licence: MIT license
Keyboard Layout Maker

Programming Languages

python
139335 projects - #7 most used programming language
Makefile
30231 projects

Projects that are alternatives of or similar to kalamine

Norman
Norman keyboard layout - alternative to QWERTY for touch typing in English
Stars: ✭ 112 (+138.3%)
Mutual labels:  keyboard, keyboard-layout
win-kbd-usint-nodead
US-International keyboard layout with no dead keys (AltGr only) for Windows
Stars: ✭ 181 (+285.11%)
Mutual labels:  keyboard-layout, dead-keys
Ergodox Layout
algernon's ErgoDox EZ layout
Stars: ✭ 135 (+187.23%)
Mutual labels:  keyboard, keyboard-layout
Awesome Mechanical Keyboard
⌨️ A curated list of Open Source Mechanical Keyboard resources.
Stars: ✭ 1,294 (+2653.19%)
Mutual labels:  keyboard, keyboard-layout
Juni
12 Keys Chorded keyboard layout
Stars: ✭ 51 (+8.51%)
Mutual labels:  keyboard, keyboard-layout
Bigbagkbdtrixxkb
"DreymaR's Big Bag of Keyboard Tricks" for *nix with XKB
Stars: ✭ 95 (+102.13%)
Mutual labels:  keyboard, keyboard-layout
react-material-ui-keyboard
Virtual keyboard for TextField when needed
Stars: ✭ 54 (+14.89%)
Mutual labels:  keyboard, keyboard-layout
Skr
Low level key re-programming
Stars: ✭ 47 (+0%)
Mutual labels:  keyboard, keyboard-layout
keyd
A key remapping daemon for linux.
Stars: ✭ 687 (+1361.7%)
Mutual labels:  keyboard, keyboard-layout
keyboard-layouter
Footprint auto placement plugin for keyboard layout
Stars: ✭ 73 (+55.32%)
Mutual labels:  keyboard, keyboard-layout
Fx Experience
fx-experience -> fx onscreen keyboard
Stars: ✭ 72 (+53.19%)
Mutual labels:  keyboard, keyboard-layout
CustomKeyboard
A simple and fast implementation of a custom numeric keypad. There is always a keyboard for you.
Stars: ✭ 20 (-57.45%)
Mutual labels:  keyboard, keyboard-layout
Qwerty Lafayette
QWERTY keyboard layout for French-speaking users
Stars: ✭ 60 (+27.66%)
Mutual labels:  keyboard, keyboard-layout
Kll
KLL Compiler
Stars: ✭ 105 (+123.4%)
Mutual labels:  keyboard, keyboard-layout
Keyboardlayoutguide
⌨️ Manage iOS keyboard with Apple's missing KeyboardLayoutGuide
Stars: ✭ 1,054 (+2142.55%)
Mutual labels:  keyboard, keyboard-layout
Keyboard Layout Editor For Blender
Allows you to import keyboard layouts into blender and render them in 3d
Stars: ✭ 224 (+376.6%)
Mutual labels:  keyboard, keyboard-layout
Shortcutmapper
A visual keyboard shortcuts explorer for popular applications.
Stars: ✭ 657 (+1297.87%)
Mutual labels:  keyboard, keyboard-layout
Typist
Swift UIKit keyboard manager for iOS apps.
Stars: ✭ 1,011 (+2051.06%)
Mutual labels:  keyboard, keyboard-layout
kinesis-advantage-2
Keyboard layouts and macros for the Kinesis Advantage 2 keyboard.
Stars: ✭ 72 (+53.19%)
Mutual labels:  keyboard, keyboard-layout
keymacs
Ergonomic keyboard layout for nonergonomic keyboards.
Stars: ✭ 22 (-53.19%)
Mutual labels:  keyboard, keyboard-layout

Kalamine

A cross-platform Keyboard Layout Maker, blatantly stolen from the qwerty-lafayette project.

Basic Usage

Draw your keyboard layout in ASCII-art and include it in a YAML document:

name: qwerty-ansi
name8: q-ansi
description: QWERTY-US layout.
version: 1.0.0
geometry: ANSI

base: |
    ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┲━━━━━━━━━━┓
    │ ~   │ !   │ @   │ #   │ $   │ %   │ ^   │ &   │ *   │ (   │ )   │ _   │ +   ┃          ┃
    │ `   │ 1   │ 2   │ 3   │ 4   │ 5   │ 6   │ 7   │ 8   │ 9   │ 0   │ -   │ =   ┃ ⌫        ┃
    ┢━━━━━┷━━┱──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┺━━┯━━━━━━━┩
    ┃        ┃ 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   │ <   │ >   │ ?   ┃               ┃
    ┃ ⇧          ┃     │     │     │     │     │     │     │ ,   │ .   │ /   ┃ ⇧             ┃
    ┣━━━━━━━┳━━━━┻━━┳━━┷━━━━┱┴─────┴─────┴─────┴─────┴─────┴─┲━━━┷━━━┳━┷━━━━━╋━━━━━━━┳━━━━━━━┫
    ┃       ┃       ┃       ┃                                ┃       ┃       ┃       ┃       ┃
    ┃ Ctrl  ┃ super ┃ Alt   ┃ ␣                              ┃ Alt   ┃ super ┃ menu  ┃ Ctrl  ┃
    ┗━━━━━━━┻━━━━━━━┻━━━━━━━┹────────────────────────────────┺━━━━━━━┻━━━━━━━┻━━━━━━━┻━━━━━━━┛

Build it:

kalamine qwerty-ansi.yaml

Get all keyboard drivers:

dist/
├── q-ansi.klc        # Windows
├── q-ansi.keylayout  # MacOSX
├── q-ansi.xkb        # Linux
└── q-ansi.json

Install

Windows

  • download a keyboard layout installer:
    • either MSKLC — proprietary freeware, compatible with Windows XP, Vista, Seven, 8, 8.1,
    • or KbdEdit — proprietary shareware, compatible with Windows XP, Vista, Seven, 8, 8.1 and 10;
  • run this installer to generate a setup program;
  • run the setup program;
  • the keyboard layout appears in the language bar.

MacOSX

  • copy your *.keylayout file into:
    • either ~/Library/Keyboard Layouts for the current user only,
    • or /Library/Keyboard Layouts for all users;
  • restart your session;
  • the keyboard layout appears in the “Language and Text” preferences, “Input Methods” tab.

Linux

On Xorg, *.xkb keyboard descriptions can be applied with xkbcomp:

xkbcomp -w10 layout.xkb $DISPLAY

To get back to the standard us-qwerty layout:

setxkbmap us

XKalamine

xkalamine is a Linux-specific tool for managing keyboard layouts with xkb.

To apply a keyboard layout in user-space:

# equivalent to `xkbcomp -w10 layout.xkb $DISPLAY`
xkalamine apply layout.yaml

This has limitations: it doesn’t work on Wayland and the keyboard layout doesn’t show up in the Gnome keyboard manager. Besides, on some distros, media keys might stop working.

The proper way to install a keyboard layout on Linux is to modify directly the files in /usr/share/X11/xkb. This is where xkalamine comes in:

sudo xkalamine install layout.yaml

There’s also:

  • xkalamine list to enumerate all installed Kalamine layouts
  • xkalamine remove to uninstall a Kalamine layout
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].