GithubHelp home page GithubHelp logo

perl6-macos-keyboard's Introduction

Perl6-macOS-keyboard

Perl 6 has awesome Unicode support and I wanted easy access to more of the supported symbols so I built a macOS keyboard layout for Perl 6. I am from the UK so this layout is based on the British keyboard layout.

Menu

On the British keyboard layout the Option-§ key (top left) is a dead key so I added a new keyboard state that gave me freedom to create definitions for pretty much any of the keys. The base layout already covers a lot of extra characters in the Option layout but there are many more useful symbols in Perl 6.

Option Keylayout

The new P6 keyboard state is selected by pressing Option-§ which gives these mappings:

P6 Keylayout

Pressing Shift while in the P6 keyboard state gives these additional mappings:

P6 Shifted Keylayout

Installation

  • Clone this repo
  • Run make install
  • Open keyboard preferences
  • Add the British Perl6 input source

Input Sources

Design

Hopefully my key choices are reasonably intuitive:

  • 0..9 are ⁰..⁹ - SUPERSCRIPT ZERO .. NINE
  • e is ∈ - ELEMENT OF
  • c is ∋ - CONTAINS AS MEMBER
  • u is ∪ - UNION
  • n is ∩ - INTERSECTION
  • s is ⊂ - SUBSET OF
  • = is ≅ - APPROXIMATELY EQUAL TO
  • [ is 「 - HALFWIDTH LEFT CORNER BRACKET
  • ] is 」 - HALFWIDTH RIGHT CORNER BRACKET

The remaining symbols were placed to be symmetrical with or adjacent to existing choices.

Compatibility

This Perl 6 keyboard layout should work with all well-behaved macOS applications. I have tried it with Chrome, GNU Emacs (cocoa) and Terminal.

User Guide

The built-in Keyboard Viewer serves as a really nice on-screen cheat sheet.

New Features

PRs or Issues are welcome, especially PRs for other base layouts. This is a keyboard bundle so multiple keyboard layouts can be packaged together.

perl6-macos-keyboard's People

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.