You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
qmk_firmware/keyboard/planck
Reed Swiernik d0391d9ed7 Update README.md
This stupid readme...
10 years ago
..
Makefile Updated makefile to properly handle non extended keymaps 10 years ago
Makefile.pjrc added planck folder 10 years ago
README.md Update README.md 10 years ago
backlight.c Replaced tabs with spaces to match TMK convention. 10 years ago
backlight.h Added backlight.h, backlight.c 10 years ago
config.h Initial commit for Planck PCB Rev 1. 10 years ago
extended_keymap_common.c macros 10 years ago
extended_keymap_common.h macros 10 years ago
extended_keymap_jack.c macros 10 years ago
keymap_brett.c brett 10 years ago
keymap_common.c added planck folder 10 years ago
keymap_common.h Update keymap_nathan.c 10 years ago
keymap_dotcom.c dotcom 10 years ago
keymap_jack.c simon 10 years ago
keymap_joe.c led oops 10 years ago
keymap_matthew.c defined KEYMAP_GRID for grid layouts 10 years ago
keymap_nathan.c Update keymap_nathan.c 10 years ago
keymap_peasant.c dotcom 10 years ago
keymap_reed.c Changed del key and added docs 10 years ago
keymap_sean.c Latest custom map with lower + raise 10 years ago
keymap_shane.c Create keymap_shane.c 10 years ago
keymap_simon.c simon 10 years ago
keymap_tim.c working extended keymap 10 years ago
keymap_wilba.c Replaced tabs with spaces to match TMK convention. 10 years ago
led.c Replaced tabs with spaces to match TMK convention. 10 years ago
matrix.c Replaced tabs with spaces to match TMK convention. 10 years ago
matrix_center.c working extended keymap 10 years ago
matrix_handwire.c working extended keymap 10 years ago

README.md

Planck keyboard firmware

DIY/Assembled compact ortholinear 40% keyboard by Ortholinear Keyboards.

Extended Keymap

If you include extended_keymap_common.h instead of keymap_common.h at the top of your file, you'll have access to a bunch of goodies:

  • Use LSFT(), LCTL(), et. al. (listed in extended_keymap_common.h) as modifiers for keys (daisy-chain-able)
  • Use FUNC(1) instead of FN1 (etc.) to access the function layers beyond the 32 function layer limit
  • Use CM_F instead of KC_F to get the ColeMak equivilent for shortcuts (maps backwards)
  • Use MACRODOWN() instead of MACRO() to easily make a keydown macro (CM_* works here too)

Some notes on usage:

  • The KEYMAP() macro is unable to be used due to the bitwise modifications that take place - refer to extended_keymap_jack.c to see how to set things up with the KC_ prefix
  • Keep an eye on the Makefile - this needs to include the correct files to work
  • Don't forget to use const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { instead of the 8bit equivilent

Build

Follow this guide to setup your development environment before anything else. Abbreviated instructions are provide at the bottom of this document

Download the whole firmware here and navigate to the keyboard/planck folder. Once your dev env is setup, you'll be able to type make to generate your .hex that you can load with the Teensy app onto your Planck (once you've hit reset/shorted GND & RST).

Depending on which keymap you would like to use, you will have to compile slightly differently.

####Default To build the default keymap, simply move to the tmk_keyboard/keyboard/planck/ and run make as follows:

$ make

####Extended Keymaps

Extended keymaps need to be specified as follows:

$ make KEYMAP=[common|jack|<name>]

Applicable keymaps should follow the format extended_keymap_.c

####Common Keymaps

Common keymaps need to be specified as follows:

$ make KEYMAP=[common|jack|<name>] COMMON=true

Applicable keymaps should follow the format keymap_.c

Keymap

Several version of keymap are available in advance but you are recommended to define your favorite layout yourself. To define your own keymap create file named keymap_<name>.c and see keymap document (you can find in top README.md) and existent keymap files.

To build firmware binary hex file with a certain keymap just do make with KEYMAP option like:

$ make KEYMAP=[<name>]

Notable TMK forks (which some of the keymap files are from)

Environment Setup