Merge branch 'master' of https://github.com/jackhumbert/qmk_firmware
This commit is contained in:
		
						commit
						a4bdb0ac0e
					
				
					 9 changed files with 1507 additions and 0 deletions
				
			
		
							
								
								
									
										63
									
								
								keyboards/planck/keymaps/ab/Makefile
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										63
									
								
								keyboards/planck/keymaps/ab/Makefile
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,63 @@
 | 
			
		|||
#----------------------------------------------------------------------------
 | 
			
		||||
# On command line:
 | 
			
		||||
#
 | 
			
		||||
# make all = Make software.
 | 
			
		||||
#
 | 
			
		||||
# make clean = Clean out built project files.
 | 
			
		||||
#
 | 
			
		||||
# make coff = Convert ELF to AVR COFF.
 | 
			
		||||
#
 | 
			
		||||
# make extcoff = Convert ELF to AVR Extended COFF.
 | 
			
		||||
#
 | 
			
		||||
# make program = Download the hex file to the device.
 | 
			
		||||
#                Please customize your programmer settings(PROGRAM_CMD)
 | 
			
		||||
#
 | 
			
		||||
# make teensy = Download the hex file to the device, using teensy_loader_cli.
 | 
			
		||||
#               (must have teensy_loader_cli installed).
 | 
			
		||||
#
 | 
			
		||||
# make dfu = Download the hex file to the device, using dfu-programmer (must
 | 
			
		||||
#            have dfu-programmer installed).
 | 
			
		||||
#
 | 
			
		||||
# make flip = Download the hex file to the device, using Atmel FLIP (must
 | 
			
		||||
#             have Atmel FLIP installed).
 | 
			
		||||
#
 | 
			
		||||
# make dfu-ee = Download the eeprom file to the device, using dfu-programmer
 | 
			
		||||
#               (must have dfu-programmer installed).
 | 
			
		||||
#
 | 
			
		||||
# make flip-ee = Download the eeprom file to the device, using Atmel FLIP
 | 
			
		||||
#                (must have Atmel FLIP installed).
 | 
			
		||||
#
 | 
			
		||||
# make debug = Start either simulavr or avarice as specified for debugging,
 | 
			
		||||
#              with avr-gdb or avr-insight as the front end for debugging.
 | 
			
		||||
#
 | 
			
		||||
# make filename.s = Just compile filename.c into the assembler code only.
 | 
			
		||||
#
 | 
			
		||||
# make filename.i = Create a preprocessed source file for use in submitting
 | 
			
		||||
#                   bug reports to the GCC project.
 | 
			
		||||
#
 | 
			
		||||
# To rebuild project do "make clean" then "make all".
 | 
			
		||||
#----------------------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
# Build Options
 | 
			
		||||
#   change to "no" to disable the options, or define them in the makefile.mk in 
 | 
			
		||||
#   the appropriate keymap folder that will get included automatically
 | 
			
		||||
#
 | 
			
		||||
BOOTMAGIC_ENABLE = no       # Virtual DIP switch configuration(+1000)
 | 
			
		||||
MOUSEKEY_ENABLE = yes       # Mouse keys(+4700)
 | 
			
		||||
EXTRAKEY_ENABLE = yes       # Audio control and System control(+450)
 | 
			
		||||
CONSOLE_ENABLE = no         # Console for debug(+400)
 | 
			
		||||
COMMAND_ENABLE = yes        # Commands for debug and configuration
 | 
			
		||||
NKRO_ENABLE = yes           # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
 | 
			
		||||
BACKLIGHT_ENABLE = yes      # Enable keyboard backlight functionality
 | 
			
		||||
MIDI_ENABLE = no            # MIDI controls
 | 
			
		||||
AUDIO_ENABLE = no           # Audio output on port C6
 | 
			
		||||
UNICODE_ENABLE = no         # Unicode
 | 
			
		||||
BLUETOOTH_ENABLE = no       # Enable Bluetooth with the Adafruit EZ-Key HID
 | 
			
		||||
RGBLIGHT_ENABLE = no        # Enable WS2812 RGB underlight.  Do not enable this with audio at the same time.
 | 
			
		||||
 | 
			
		||||
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
 | 
			
		||||
SLEEP_LED_ENABLE = no       # Breathing sleep LED during USB suspend
 | 
			
		||||
 | 
			
		||||
ifndef QUANTUM_DIR
 | 
			
		||||
	include ../../../../Makefile
 | 
			
		||||
endif
 | 
			
		||||
							
								
								
									
										18
									
								
								keyboards/planck/keymaps/ab/README.md
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										18
									
								
								keyboards/planck/keymaps/ab/README.md
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,18 @@
 | 
			
		|||
# Practical keymap for Planck Ortholinear 40% Mechanical Keyboard
 | 
			
		||||
A practical keymap that emulates standard QWERTY keyboard for Planck. Once you get comfortable with this keymap, you may fork and customize it for your own needs. 
 | 
			
		||||
 | 
			
		||||

 | 
			
		||||

 | 
			
		||||
 | 
			
		||||
* Online keyboard layout editor: http://goo.gl/mlLAFZ
 | 
			
		||||
 | 
			
		||||
# Programming Instructions:
 | 
			
		||||
Enter into programming mode and run the following command.
 | 
			
		||||
```
 | 
			
		||||
$ sudo KEYMAP=ab make dfu
 | 
			
		||||
```
 | 
			
		||||
# Notes
 | 
			
		||||
* Simultaneous RAISE+LOWER enters CUSTOM layer. You may add your own macros and custom keys here.
 | 
			
		||||
* RAISE and LOWER also acts as PgUp and PgDn when tapped.
 | 
			
		||||
* [CapsLock] also acts as [Ctrl] key when you press and hold. It is convenient for GNU Emacs users.
 | 
			
		||||
* Bracket keys are placed in the center of the keyboard for programmer's convenience.
 | 
			
		||||
							
								
								
									
										1139
									
								
								keyboards/planck/keymaps/ab/compiled.hex
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										1139
									
								
								keyboards/planck/keymaps/ab/compiled.hex
									
										
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load diff
											
										
									
								
							
							
								
								
									
										101
									
								
								keyboards/planck/keymaps/ab/keyboard-layout.json
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										101
									
								
								keyboards/planck/keymaps/ab/keyboard-layout.json
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,101 @@
 | 
			
		|||
[
 | 
			
		||||
  {
 | 
			
		||||
    "name": "AB's Practical Keymap for Planck",
 | 
			
		||||
    "author": "Anand Babu Periasamy"
 | 
			
		||||
  },
 | 
			
		||||
  [
 | 
			
		||||
    "1\nF1\n!\n\n\n\n\n\n\nTab",
 | 
			
		||||
    "2\nF2\n@\n\n\n\n\n\n\nQ",
 | 
			
		||||
    "3\nF3\n#\n\n\n\n\n\n\nW",
 | 
			
		||||
    "4\nF4\n$\n\n\n\n\n\n\nE",
 | 
			
		||||
    "5\nF5\n%\n\n\n\n\n\n\nR",
 | 
			
		||||
    "6\nF6\n^\n\n\n\n\n\n\nT",
 | 
			
		||||
    "7\nF7\n&\n\n\n\n\n\n\nY",
 | 
			
		||||
    "8\nF8\n*\n\n\n\n\n\n\nU",
 | 
			
		||||
    "9\nF9\n(\n\n\n\n\n\n\nI",
 | 
			
		||||
    "0\nF10\n)\n\n\n\n\n\n\nO",
 | 
			
		||||
    "-\nF11\n_\n\n\n\n\n\n\nP",
 | 
			
		||||
    "=\nF12\n+\n\n\n\n\n\n\n<i class=\"fa fa-chevron-circle-left\" aria-hidden=\"true\"></i>"
 | 
			
		||||
  ],
 | 
			
		||||
  [
 | 
			
		||||
    {
 | 
			
		||||
      "a": 7
 | 
			
		||||
    },
 | 
			
		||||
    "Ctrl",
 | 
			
		||||
    "A",
 | 
			
		||||
    "S",
 | 
			
		||||
    "D",
 | 
			
		||||
    {
 | 
			
		||||
      "a": 4
 | 
			
		||||
    },
 | 
			
		||||
    "(\n\n\n\n\n\n\n\n\nF",
 | 
			
		||||
    ")\n\n\n\n\n\n\n\n\nG",
 | 
			
		||||
    "{\n\n\n\n\n\n\n\n\nH",
 | 
			
		||||
    "}\n\n\n\n\n\n\n\n\nJ",
 | 
			
		||||
    {
 | 
			
		||||
      "a": 7
 | 
			
		||||
    },
 | 
			
		||||
    "K",
 | 
			
		||||
    "L",
 | 
			
		||||
    {
 | 
			
		||||
      "a": 6
 | 
			
		||||
    },
 | 
			
		||||
    ";\n\n:",
 | 
			
		||||
    {
 | 
			
		||||
      "a": 7
 | 
			
		||||
    },
 | 
			
		||||
    "Enter"
 | 
			
		||||
  ],
 | 
			
		||||
  [
 | 
			
		||||
    "Shift",
 | 
			
		||||
    "Z",
 | 
			
		||||
    "X",
 | 
			
		||||
    "C",
 | 
			
		||||
    {
 | 
			
		||||
      "a": 4
 | 
			
		||||
    },
 | 
			
		||||
    "[\n`\n\n\n\n\n\n\n\nV",
 | 
			
		||||
    "]\n~\n\n\n\n\n\n\n\nB",
 | 
			
		||||
    "'\n\\\n\n\n\n\n\n\n\nN",
 | 
			
		||||
    "\"\n|\n\n\n\n\n\n\n\nM",
 | 
			
		||||
    {
 | 
			
		||||
      "a": 6
 | 
			
		||||
    },
 | 
			
		||||
    ",\n\n<",
 | 
			
		||||
    ".\n\n>",
 | 
			
		||||
    "/\n\n?",
 | 
			
		||||
    {
 | 
			
		||||
      "a": 7
 | 
			
		||||
    },
 | 
			
		||||
    "Shift\n\n\n\nEnter"
 | 
			
		||||
  ],
 | 
			
		||||
  [
 | 
			
		||||
    {
 | 
			
		||||
      "a": 4
 | 
			
		||||
    },
 | 
			
		||||
    "<i class='fa fa-lightbulb-o'></i>\n<i class='fa fa-download'></i>\n\n\n\n\n\n\n\nCtrl",
 | 
			
		||||
    {
 | 
			
		||||
      "a": 7
 | 
			
		||||
    },
 | 
			
		||||
    "Esc",
 | 
			
		||||
    "<i class='fa fa-linux'></i>",
 | 
			
		||||
    "Alt",
 | 
			
		||||
    "<i class='fa fa-sort-up'></i>",
 | 
			
		||||
    {
 | 
			
		||||
      "a": 4,
 | 
			
		||||
      "w": 2
 | 
			
		||||
    },
 | 
			
		||||
    "\nPgUP\n\nPgDn\n\n\n\n\n\nSpace",
 | 
			
		||||
    {
 | 
			
		||||
      "a": 7
 | 
			
		||||
    },
 | 
			
		||||
    "<i class='fa fa-sort-down'></i>",
 | 
			
		||||
    "<i class=\"fa fa-long-arrow-left\" aria-hidden=\"true\"></i>",
 | 
			
		||||
    {
 | 
			
		||||
      "a": 4
 | 
			
		||||
    },
 | 
			
		||||
    "\n<i class='fa fa-volume-down'></i>\n\n\n\n\n\n\n\n<i class=\"fa fa-long-arrow-up\" aria-hidden=\"true\"></i>",
 | 
			
		||||
    "\n<i class='fa fa-volume-up'></i>\n\n\n\n\n\n\n\n<i class=\"fa fa-long-arrow-down\" aria-hidden=\"true\"></i>",
 | 
			
		||||
    "\n<i class='fa fa-volume-off'></i>\n\n\n\n\n\n\n\n<i class=\"fa fa-long-arrow-right\" aria-hidden=\"true\"></i>"
 | 
			
		||||
  ]
 | 
			
		||||
]
 | 
			
		||||
							
								
								
									
										
											BIN
										
									
								
								keyboards/planck/keymaps/ab/keyboard-layout.png
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								keyboards/planck/keymaps/ab/keyboard-layout.png
									
										
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| 
		 After Width: | Height: | Size: 26 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								keyboards/planck/keymaps/ab/keyboard-photo.jpg
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								keyboards/planck/keymaps/ab/keyboard-photo.jpg
									
										
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| 
		 After Width: | Height: | Size: 247 KiB  | 
							
								
								
									
										122
									
								
								keyboards/planck/keymaps/ab/keymap.c
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										122
									
								
								keyboards/planck/keymaps/ab/keymap.c
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,122 @@
 | 
			
		|||
// This is the canonical layout file for the Quantum project. If you want to add another keyboard,
 | 
			
		||||
// this is the style you want to emulate.
 | 
			
		||||
 | 
			
		||||
#include "planck.h"
 | 
			
		||||
#include "action_layer.h"
 | 
			
		||||
#include "eeconfig.h"
 | 
			
		||||
#ifdef BACKLIGHT_ENABLE
 | 
			
		||||
  #include "backlight.h"
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
extern keymap_config_t keymap_config;
 | 
			
		||||
 | 
			
		||||
// Symbolic names for macro IDs.
 | 
			
		||||
#define _QWERTY  0 // QUERTY layer
 | 
			
		||||
#define _RAISE   1 // Raise layer
 | 
			
		||||
#define _LOWER   2 // Lower layer
 | 
			
		||||
#define _CUSTOM  3 // Custom layer
 | 
			
		||||
#define _BL      4 // Backlight
 | 
			
		||||
#define _MOBILE  5 // Mobile#
 | 
			
		||||
#define _CUSTOM1 6 // Custom macro 1
 | 
			
		||||
#define _CUSTOM2 7 // Custom macro 2
 | 
			
		||||
 | 
			
		||||
// Macro shortcuts.
 | 
			
		||||
#define RAISE   M(_RAISE)
 | 
			
		||||
#define LOWER   M(_LOWER)
 | 
			
		||||
#define CUSTOM  M(_CUSTOM) // RAISE + LOWER
 | 
			
		||||
#define BL      M(_BL)
 | 
			
		||||
#define MOBILE  M(_MOBILE)
 | 
			
		||||
#define CUSTOM1 M(_CUSTOM1)
 | 
			
		||||
#define CUSTOM2 M(_CUSTOM2)
 | 
			
		||||
 | 
			
		||||
// This config can be found at Keyboard layout editor site: http://goo.gl/zjXL2l
 | 
			
		||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
			
		||||
[_QWERTY] = { /* QWERTY */
 | 
			
		||||
    {KC_TAB,  KC_Q,    KC_W,    KC_E,    KC_R,    KC_T,    KC_Y,    KC_U,    KC_I,    KC_O,    KC_P,    KC_BSPC},
 | 
			
		||||
    {KC_LCTL, KC_A,    KC_S,    KC_D,    KC_F,    KC_G,    KC_H,    KC_J,    KC_K,    KC_L,    KC_SCLN, KC_ENT},
 | 
			
		||||
    {KC_LSFT, KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,    KC_N,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH, FUNC(3)},
 | 
			
		||||
    {KC_LCTL, KC_ESC,  KC_LGUI, KC_LALT, RAISE,   KC_SPC,  KC_SPC,  LOWER,   KC_LEFT, KC_UP,   KC_DOWN, KC_RGHT}
 | 
			
		||||
},
 | 
			
		||||
[_RAISE] = { /* RAISE */
 | 
			
		||||
    {KC_1,    KC_2,    KC_3,    KC_4,    KC_5,    KC_6,    KC_7,    KC_8,    KC_9,    KC_0,    KC_MINS, KC_EQL},
 | 
			
		||||
    {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LPRN, KC_RPRN, KC_LCBR, KC_RCBR, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS},
 | 
			
		||||
    {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LBRC, KC_RBRC, KC_QUOT, KC_DQT,  KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS},
 | 
			
		||||
    {BL,      KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGUP, KC_PGUP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS}
 | 
			
		||||
},
 | 
			
		||||
[_LOWER] = { /* LOWER */
 | 
			
		||||
    {KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,   KC_F6,   KC_F7,   KC_F8,   KC_F9,   KC_F10,  KC_F11,  KC_F12},
 | 
			
		||||
    {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LCBR, KC_LCBR, KC_BSLS, KC_TRNS},
 | 
			
		||||
    {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_GRV,  KC_TILD, KC_BSLS, KC_PIPE, KC_LBRC, KC_LBRC, KC_TRNS, KC_TRNS},
 | 
			
		||||
    {RESET,   KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGDN, KC_PGDN, KC_TRNS, KC_TRNS, KC_VOLD, KC_VOLU, KC_MUTE}
 | 
			
		||||
},
 | 
			
		||||
[_CUSTOM] = { /* CUSTOM */
 | 
			
		||||
    {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS},
 | 
			
		||||
    {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS},
 | 
			
		||||
    {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MOBILE,  KC_TRNS, CUSTOM1, CUSTOM2, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS},
 | 
			
		||||
    {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS}
 | 
			
		||||
}
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
// Enable these functions using FUNC(n) macro. They seem to be buggy mostly.
 | 
			
		||||
const uint16_t PROGMEM fn_actions[] = {
 | 
			
		||||
    [0] = ACTION_LAYER_TAP_KEY(_RAISE, KC_PGUP),   // Tap for PgUp, hold for RAISE
 | 
			
		||||
    [1] = ACTION_LAYER_TAP_KEY(_LOWER, KC_PGDN),   // Tap for PgDn, hold for LOWER
 | 
			
		||||
    [2] = ACTION_MODS_TAP_KEY(MOD_LCTL, KC_CAPS),  // Tap for Caps, hold for Ctrl
 | 
			
		||||
    [3] = ACTION_MODS_TAP_KEY(MOD_RSFT, KC_ENT),   // Tap for Enter, hold for Shift
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
// Set a layer persistantly.
 | 
			
		||||
void persistant_default_layer_set(uint16_t default_layer) {
 | 
			
		||||
  eeconfig_update_default_layer(default_layer);
 | 
			
		||||
  default_layer_set(default_layer);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Macro actions for each corresponding ID.
 | 
			
		||||
const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
 | 
			
		||||
{
 | 
			
		||||
    switch(id) {
 | 
			
		||||
    case _QWERTY: // Default QWERTY layer. // This case not used for now.
 | 
			
		||||
	if (record->event.pressed) {
 | 
			
		||||
	    persistant_default_layer_set(1UL<<_QWERTY);
 | 
			
		||||
	}
 | 
			
		||||
	break;
 | 
			
		||||
    case _RAISE: // Raised layer.
 | 
			
		||||
	if (record->event.pressed) {
 | 
			
		||||
	    layer_on(_RAISE);
 | 
			
		||||
	    update_tri_layer(_LOWER, _RAISE, _CUSTOM);
 | 
			
		||||
	} else {
 | 
			
		||||
	    layer_off(_RAISE);
 | 
			
		||||
	    update_tri_layer(_LOWER, _RAISE, _CUSTOM);
 | 
			
		||||
	}
 | 
			
		||||
	break;
 | 
			
		||||
    case _LOWER: // Lowered layer.
 | 
			
		||||
	if (record->event.pressed) {
 | 
			
		||||
	    layer_on(_LOWER);
 | 
			
		||||
	    update_tri_layer(_LOWER, _RAISE, _CUSTOM);
 | 
			
		||||
	} else {
 | 
			
		||||
	    layer_off(_LOWER);
 | 
			
		||||
	    update_tri_layer(_LOWER, _RAISE, _CUSTOM);
 | 
			
		||||
	}
 | 
			
		||||
	break;
 | 
			
		||||
    case _BL:// Backlight
 | 
			
		||||
	if (record->event.pressed) {
 | 
			
		||||
	    register_code(KC_RSFT);
 | 
			
		||||
#ifdef BACKLIGHT_ENABLE
 | 
			
		||||
	    backlight_step();
 | 
			
		||||
#endif
 | 
			
		||||
	} else {
 | 
			
		||||
	    unregister_code(KC_RSFT);
 | 
			
		||||
	}
 | 
			
		||||
	break;
 | 
			
		||||
    case _MOBILE:// Your mobile# here.
 | 
			
		||||
	return MACRODOWN(T(1), T(2), T(3), T(MINS),
 | 
			
		||||
			 T(1), T(2), T(3), T(MINS),
 | 
			
		||||
			 T(1), T(2), T(3), T(4),
 | 
			
		||||
			 END);
 | 
			
		||||
    case _CUSTOM1:// Your custom macro 1
 | 
			
		||||
	return MACRODOWN(T(E), T(M), T(A), T(C), T(S), T(SPC), END);
 | 
			
		||||
    case _CUSTOM2:// Your custom macro 2
 | 
			
		||||
	return MACRODOWN(T(L), T(S), T(SPC), T(MINS), T(L), T(ENT), END);
 | 
			
		||||
    };
 | 
			
		||||
    return MACRO_NONE;
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										46
									
								
								keyboards/readme.md
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										46
									
								
								keyboards/readme.md
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,46 @@
 | 
			
		|||
# Included Keyboards
 | 
			
		||||
QMK runs on a diverse range of keyboards. Some of these keyboards are officially supported and see constant community contributions, while others are part of the repository for historical reasons.
 | 
			
		||||
 | 
			
		||||
## Official QMK Keyboards
 | 
			
		||||
 | 
			
		||||
These keyboards are manufactured by the maintainers of QMK.
 | 
			
		||||
 | 
			
		||||
### [Ortholinear Keyboards](http://olkb.com) — Jack Humbert
 | 
			
		||||
 | 
			
		||||
What makes OLKB keyboards shine is a combo of lean aesthetics, compact size, and killer tactile feel. These are available through [olkb.com](http://olkb.com) as well as through [Massdrop](http://massdrop.com) from time to time, as easy to assemble kits.
 | 
			
		||||
 | 
			
		||||
* [Planck](/keyboards/planck/) — A 40% DIY powerhouse of customizability and modification capability. It's a lean, mean, typing machine.
 | 
			
		||||
* [Preonic](/keyboards/preonic/) — Like the Planck, but bigger. 50%.
 | 
			
		||||
* [Atomic](/keyboards/atomic/) — Imagine the size of the Planck. Now imagine the size of the Preonic. Now imagine _bigger_. That is the Atomic. A 60% keyboard.
 | 
			
		||||
 | 
			
		||||
### [ErgoDox EZ](https://ergodox-ez.com) — Erez Zukerman
 | 
			
		||||
 | 
			
		||||
Made in Taiwan using advanced robotic manufacturing, the ErgoDox EZ is a fully-assembled, premium ergonomic keyboard. Its split design allows you to place both halves shoulder width, and its custom-made wrist rests and tilt/tent kit make for incredibly comfortable typing.
 | 
			
		||||
 | 
			
		||||
* [ErgoDox EZ](/keyboards/ergodox_ez/) — Our one and only product. Yes, it's that awesome. Comes with either printed or blank keycaps, and 7 different keyswitch types.
 | 
			
		||||
 | 
			
		||||
### [Clueboard](http://clueboard.co) — Zach White
 | 
			
		||||
 | 
			
		||||
Designed and built in Felton, CA, Clueboards keyboard emphasize quality and locally sourced components.
 | 
			
		||||
 | 
			
		||||
* [Clueboard rev.1](/keyboards/clueboard1/) — The old Clueboard.
 | 
			
		||||
* [Clueboard rev.2](/keyboards/clueboard2/) — New and improved! The Clueboard, revision 2.
 | 
			
		||||
* [Cluepad](/keyboards/cluepad/) — A mechanical numpad with QMK superpowers.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
## Community-supported QMK Keyboards
 | 
			
		||||
 | 
			
		||||
These keyboards are part of the QMK repository, but their manufacturers are not official maintainers of the repository.
 | 
			
		||||
 | 
			
		||||
* [alps64](/keyboards/alps64/) — A 60% keyboard for Alps keyswitches.
 | 
			
		||||
* [arrow_pad](/keyboards/arrow_pad) — A custom creation by IBNobody.
 | 
			
		||||
* [atreus](/keyboards/atreus) — Made by Technomancy.
 | 
			
		||||
* [bantam44](/keyboards/bantam44) — It is a 44-key 40% staggered keyboard.
 | 
			
		||||
* [gh60](/keyboards/gh60) — A 60% Geekhack community-driven project.
 | 
			
		||||
* [hhkb](/keyboards/hhkb) — The Happy Hacking keyboard can be hacked with a custom controller to run QMK.
 | 
			
		||||
* [jd45](/keyboards/jd45) — Another Geekhack community project, designed by jdcarpe.
 | 
			
		||||
* [kc60](/keyboards/kc60) — A programmable Chinese-made keyboard, lost in the mists of time.
 | 
			
		||||
* [phantom](/keyboards/phantom) — A tenkeyless kit by Teel, also from Geekhack.
 | 
			
		||||
* [retro_refit](/keyboards/retro_refit) — Another creation by IBNobody.
 | 
			
		||||
* [satan](/keyboards/satan) — A GH60 variant.
 | 
			
		||||
* [sixkeyboard](/keyboards/sixkeyboard) — A 6-key keyboard made by TechKeys.
 | 
			
		||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue