546f5f2c4f
* error log cleanup: 40percentclub/25 40percentclub/25: Claims to support a community layout that does not exist: ortho_5x5 * error log cleanup: 40percentclub/4x4 ☒ 40percentclub/4x4: Claims to support a community layout that does not exist: ortho_4x8 ☒ 40percentclub/4x4: Claims to support a community layout that does not exist: ortho_4x16 * error log cleanup: 40percentclub/5x5 ☒ 40percentclub/5x5: Claims to support a community layout that does not exist: ortho_5x5 * error log cleanup: 40percentclub/nori ☒ 40percentclub/nori: Claims to support a community layout that does not exist: ortho_4x8 * error log cleanup: barracuda ☒ barracuda: Claims to support a community layout that does not exist: ortho_3x11 * error log cleanup: bpiphany/frosty_flake ☒ keyboards/bpiphany/frosty_flake/frosty_flake.h: LAYOUT_tkl_ansi: Nested layout macro detected. Matrix data not available! * error log cleanup: bpiphany/pegasushoof/2013 ☒ keyboards/bpiphany/pegasushoof/2013/2013.h: LAYOUT_tkl_ansi: Nested layout macro detected. Matrix data not available! * error cleanup: bpiphany/pegasushoof/2015 ☒ keyboards/bpiphany/pegasushoof/2015/2015.h: LAYOUT_tkl_ansi: Nested layout macro detected. Matrix data not available! ☒ keyboards/bpiphany/pegasushoof/2015/2015.h: LAYOUT_tkl_iso: Nested layout macro detected. Matrix data not available! * error log cleanup: 40percentclub ☒ 40percentclub/25: Claims to support a community layout that does not exist: ortho_5x10 ☒ 40percentclub/5x5: Claims to support a community layout that does not exist: ortho_5x10 * error cleanup: converter/usb_usb ☒ keyboards/converter/usb_usb/usb_usb.h: LAYOUT_ansi: Nested layout macro detected. Matrix data not available! ☒ keyboards/converter/usb_usb/usb_usb.h: LAYOUT_iso: Nested layout macro detected. Matrix data not available! ☒ keyboards/converter/usb_usb/usb_usb.h: LAYOUT_jis: Nested layout macro detected. Matrix data not available! ☒ keyboards/converter/usb_usb/usb_usb.h: LAYOUT_ansi: Nested layout macro detected. Matrix data not available! ☒ keyboards/converter/usb_usb/usb_usb.h: LAYOUT_iso: Nested layout macro detected. Matrix data not available! ☒ keyboards/converter/usb_usb/usb_usb.h: LAYOUT_jis: Nested layout macro detected. Matrix data not available! ☒ keyboards/converter/usb_usb/usb_usb.h: LAYOUT_ansi: Nested layout macro detected. Matrix data not available! ☒ keyboards/converter/usb_usb/usb_usb.h: LAYOUT_iso: Nested layout macro detected. Matrix data not available! ☒ keyboards/converter/usb_usb/usb_usb.h: LAYOUT_jis: Nested layout macro detected. Matrix data not available! * error cleanup: ergo42 ☒ ergo42/rev1: Claims to support a community layout that does not exist: ortho_4x14 * error cleanup: handwired/412_64 ☒ handwired/412_64: Claims to support a community layout that does not exist: ortho_4x16 * error log cleanup: handwired/tritium_numpad ☒ handwired/tritium_numpad: Claims to support a community layout that does not exist: nontra_6x4 * error log cleanup: handwired/xealous/rev1 ☒ handwired/xealous/rev1: Claims to support a community layout that does not exist: split60 * error log cleanup: kbdfans/kbd67/rev2 ⚠ kbdfans/kbd67/rev2: info.json uses alias name LAYOUT_65_ansi_blocker_splitbs instead of LAYOUT_65_ansi_blocker_split_bs * error cleanup: keebio/nyquist ☒ keyboards/keebio/nyquist/nyquist.h: LAYOUT_ortho_4x12: Nested layout macro detected. Matrix data not available! ☒ keyboards/keebio/nyquist/nyquist.h: LAYOUT_ortho_4x12: Nested layout macro detected. Matrix data not available! ☒ keyboards/keebio/nyquist/nyquist.h: LAYOUT_ortho_4x12: Nested layout macro detected. Matrix data not available! * error cleanup: kindakeyboards/conone65 ☒ kindakeyboards/conone65: Claims to support a community layout that does not exist: 65_iso_split_bs * error cleanup: latinpadble ☒ latinpadble: Claims to support a community layout that does not exist: pad * error cleanup: masterworks/classy_tkl/rev_a ☒ masterworks/classy_tkl/rev_a: Claims to support a community layout that does not exist: tkl_ansi_wkl * error cleanup: meira ⚠ meira/featherble: info.json uses alias name LAYOUT_ortho_4x12 instead of LAYOUT ⚠ meira/promicro: info.json uses alias name LAYOUT_ortho_4x12 instead of LAYOUT * error cleanup: nopunin10did/jabberwocky ⚠ nopunin10did/jabberwocky: MANUFACTURER in config.h is overwriting manufacturer in info.json * error cleanup: ok60 ☒ ok60: Claims to support a community layout that does not exist: 60_ansi_split_bksp_rshift * error cleanup: ok60 ☒ ok60: Claims to support a community layout that does not exist: 60_ansi_split_bksp_rshift * error cleanup: planck ☒ keyboards/planck/ez/ez.h: LAYOUT_ortho_4x12: Nested layout macro detected. Matrix data not available! ☒ keyboards/planck/ez/ez.h: LAYOUT_ortho_4x12: Nested layout macro detected. Matrix data not available! ⚠ planck/thk: DEBOUNCE in config.h is overwriting debounce in info.json ⚠ planck/thk: DEVICE_VER in config.h is overwriting usb.device_ver in info.json ⚠ planck/thk: DIODE_DIRECTION in config.h is overwriting diode_direction in info.json ⚠ planck/thk: MANUFACTURER in config.h is overwriting manufacturer in info.json ⚠ planck/thk: PRODUCT_ID in config.h is overwriting usb.pid in info.json ⚠ planck/thk: VENDOR_ID in config.h is overwriting usb.vid in info.json ⚠ planck/thk: QMK_ESC_OUTPUT in config.h is overwriting qmk_lufa_bootloader.esc_output in info.json ⚠ planck/thk: QMK_ESC_INPUT in config.h is overwriting qmk_lufa_bootloader.esc_input in info.json ⚠ planck/thk: QMK_LED in config.h is overwriting qmk_lufa_bootloader.led in info.json ⚠ planck/thk: QMK_SPEAKER in config.h is overwriting qmk_lufa_bootloader.speaker in info.json ⚠ planck/thk: Matrix pins are specified in both info.json and config.h, the config.h values win. ⚠ planck/thk: LAYOUTS in rules.mk is overwriting community_layouts in info.json ⚠ planck/thk: Feature mousekey is specified in both info.json and rules.mk, the rules.mk value wins. ⚠ planck/thk: Feature extrakey is specified in both info.json and rules.mk, the rules.mk value wins. ⚠ planck/thk: Feature console is specified in both info.json and rules.mk, the rules.mk value wins. ⚠ planck/thk: Feature command is specified in both info.json and rules.mk, the rules.mk value wins. ⚠ planck/thk: Feature sleep_led is specified in both info.json and rules.mk, the rules.mk value wins. ⚠ planck/thk: Feature nkro is specified in both info.json and rules.mk, the rules.mk value wins. ⚠ planck/thk: Feature backlight is specified in both info.json and rules.mk, the rules.mk value wins. ⚠ planck/thk: Feature rgblight is specified in both info.json and rules.mk, the rules.mk value wins. ⚠ planck/thk: Feature bluetooth is specified in both info.json and rules.mk, the rules.mk value wins. ⚠ planck/thk: Feature audio is specified in both info.json and rules.mk, the rules.mk value wins. ⚠ planck/thk: Feature encoder is specified in both info.json and rules.mk, the rules.mk value wins. ⚠ planck/thk: Feature dip_switch is specified in both info.json and rules.mk, the rules.mk value wins. ⚠ planck/thk: Feature bootmagic_lite is specified in both info.json and rules.mk, the rules.mk value wins. * error cleanup: primekb/prime_m ☒ primekb/prime_m: Claims to support a community layout that does not exist: ortho_5x6 * error cleanup: rgbkb/sol/rev2 ⚠ rgbkb/sol/rev2: RGBLED_NUM->rgblight.led_count: invalid literal for int() with base 10: '(BACKLIGHT_LEDS + FULLHAND_LEDS)' * error log cleanup: shk9 ☒ shk9: Claims to support a community layout that does not exist: ortho_3x3 * error log cleanup: sowbug ⚠ sowbug/68keys: RGBLED_NUM->rgblight.led_count: invalid literal for int() with base 10: 'DRIVER_LED_TOTAL' ⚠ sowbug/ansi_tkl: RGBLED_NUM->rgblight.led_count: invalid literal for int() with base 10: '(DRIVER_LED_TOTAL)' * error log cleanup: torn ☒ torn: Claims to support a community layout that does not exist: split_3x6_4 * error cleanup: ymdk/np24/u4rgb6 ☒ ymdk/np24/u4rgb6: Claims to support a community layout that does not exist: ortho_4x6 * error cleanup: masterworks/classy_tkl/rev_a ☒ masterworks/classy_tkl/rev_a: Claims to support a community layout that does not exist: tkl_iso_wkl |
||
---|---|---|
.. | ||
featherble | ||
keymaps | ||
promicro | ||
config.h | ||
info.json | ||
issi.c | ||
issi.h | ||
lighting.c | ||
lighting.h | ||
matrix.c | ||
meira.c | ||
meira.h | ||
readme.md | ||
rules.mk | ||
TWIlib.c | ||
TWIlib.h |
Meira
A 4x12 ortholinear low-profile keyboard.
Keyboard Maintainer: Cole Markham
Hardware Supported: Meira/ProMicro, Meira/FeatherBLE
Hardware Availability: WoodKeys.click
Two controllers are support: the Pro Micro, and the Adafruit Feather BLE 32u4. Support for each is defined as a hardware revision subfolder in QMK. Main differences include processor frequencies and matrix pinouts.
Make example for this keyboard (after setting up your build environment):
make meira/promicro:default
or
make meira/featherble:default
See build environment setup then the make instructions for more information on generic QMK configuration and setup.
Both the Pro Micro and the Feather BLE use the Catalina bootloader, which is typically programmed using avrdude.
Matrix
In order to have enough pins for the matrix and other functions, a custom matrix is implemented using a demultiplexer to scan the columns. Since the demux is active low, the diodes must be oriented with the cathode connected to the demux pin. When looking at the bottom of the board with the controller at the top right, the cathode mark on the diode should be toward the left.
LED Controller
The in-switch LEDs are driven by an ISSI LED controller (IS31FL3731). The micro controller communicates with this chip using I2C. Individual LED control is possible, but currently only general backlighting support is implemented. This functionality is located in lighting.c, issi.c, and TWILib.c.