1
0
Fork 0
forked from forks/qmk_firmware

[Keyboard] add Nearfield, fix typo in Le Chiffre Readme (#17914)

This commit is contained in:
TJ 2022-08-28 23:48:41 -05:00 committed by GitHub
parent a2294bcc97
commit b719a16b03
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
8 changed files with 544 additions and 1 deletions

View file

@ -0,0 +1,35 @@
/*
Copyright 2021 Dr.Doof
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#pragma once
#include "config_common.h"
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 16
/* key matrix pins */
#define MATRIX_ROW_PINS { B4, D2, D4, D6, D7 }
#define MATRIX_COL_PINS { D3, D5, C6, C7, B6, B5, B7, F0, F1, F4, F5, F6, F7, B3, B2, D1 }
#define UNUSED_PINS { E2, E6, D0, B1, B0 }
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
/* Set 0 if debouncing isn't needed */
#define DEBOUNCE 0

View file

@ -0,0 +1,376 @@
{
"keyboard_name":"Nearfield",
"manufacturer":"JLC",
"url":"",
"maintainer":"tominabox1",
"usb":{
"vid":"0x0004",
"pid":"0x0002",
"device_version":"0.0.1"
},
"layouts":{
"LAYOUT_all":{
"layout":[
{
"label":"~",
"x":0,
"y":0
},
{
"label":"!",
"x":1,
"y":0
},
{
"label":"@",
"x":2,
"y":0
},
{
"label":"#",
"x":3,
"y":0
},
{
"label":"$",
"x":4,
"y":0
},
{
"label":"%",
"x":5,
"y":0
},
{
"label":"^",
"x":7.5,
"y":0
},
{
"label":"&",
"x":8.5,
"y":0
},
{
"label":"*",
"x":9.5,
"y":0
},
{
"label":"(",
"x":10.5,
"y":0
},
{
"label":")",
"x":11.5,
"y":0
},
{
"label":"_",
"x":12.5,
"y":0
},
{
"label":"+",
"x":13.5,
"y":0
},
{
"label":"Insert",
"x":15.5,
"y":0
},
{
"label":"Home",
"x":16.5,
"y":0
},
{
"label":"PgUp",
"x":17.5,
"y":0
},
{
"label":"Tab",
"x":0,
"y":1.5
},
{
"label":"Q",
"x":1,
"y":1.5
},
{
"label":"W",
"x":2,
"y":1.5
},
{
"label":"E",
"x":3,
"y":1.5
},
{
"label":"R",
"x":4,
"y":1.5
},
{
"label":"T",
"x":5,
"y":1.5
},
{
"label":"Y",
"x":7.5,
"y":1.5
},
{
"label":"U",
"x":8.5,
"y":1.5
},
{
"label":"I",
"x":9.5,
"y":1.5
},
{
"label":"O",
"x":10.5,
"y":1.5
},
{
"label":"P",
"x":11.5,
"y":1.5
},
{
"label":"{",
"x":12.5,
"y":1.5
},
{
"label":"}",
"x":13.5,
"y":1.5
},
{
"label":"Insert",
"x":15.5,
"y":1.5
},
{
"label":"Home",
"x":16.5,
"y":1.5
},
{
"label":"PgUp",
"x":17.5,
"y":1.5
},
{
"label":"Caps Lock",
"x":0,
"y":2.5,
"w":1.25
},
{
"label":"A",
"x":1.25,
"y":2.5
},
{
"label":"S",
"x":2.25,
"y":2.5
},
{
"label":"D",
"x":3.25,
"y":2.5
},
{
"label":"F",
"x":4.25,
"y":2.5
},
{
"label":"G",
"x":5.25,
"y":2.5
},
{
"label":"H",
"x":7.75,
"y":2.5
},
{
"label":"J",
"x":8.75,
"y":2.5
},
{
"label":"K",
"x":9.75,
"y":2.5
},
{
"label":"L",
"x":10.75,
"y":2.5
},
{
"label":"\"",
"x":11.75,
"y":2.5
},
{
"label":"Enter",
"x":12.75,
"y":2.5,
"w":1.75
},
{
"label":"Delete",
"x":15.5,
"y":2.5
},
{
"label":"End",
"x":16.5,
"y":2.5
},
{
"label":"PgDn",
"x":17.5,
"y":2.5
},
{
"label":"Shift",
"x":0,
"y":3.5,
"w":1.75
},
{
"label":"Z",
"x":1.75,
"y":3.5
},
{
"label":"X",
"x":2.75,
"y":3.5
},
{
"label":"C",
"x":3.75,
"y":3.5
},
{
"label":"V",
"x":4.75,
"y":3.5
},
{
"label":"B",
"x":5.75,
"y":3.5
},
{
"label":"N",
"x":8.25,
"y":3.5
},
{
"label":"M",
"x":9.25,
"y":3.5
},
{
"label":"<",
"x":10.25,
"y":3.5
},
{
"label":">",
"x":11.25,
"y":3.5
},
{
"label":"?",
"x":12.25,
"y":3.5
},
{
"label":"r4 dogshift",
"x":13.25,
"y":3.5,
"w":1.25
},
{
"label":"Ctrl",
"x":0,
"y":4.5,
"w":1.25
},
{
"label":"Alt",
"x":2.5,
"y":4.5,
"w":1.25
},
{
"x":3.75,
"y":4.5
},
{
"label":"",
"x":4.75,
"y":4.5,
"w":2
},
{
"label":"",
"x":8.25,
"y":4.5,
"w":2.25
},
{
"label":"Alt",
"x":10.5,
"y":4.5,
"w":1.25
},
{
"label":"Ctrl",
"x":13,
"y":4.5,
"w":1.5
},
{
"label":"\u2191",
"x":16.5,
"y":4.5
},
{
"label":"\u2190",
"x":15.5,
"y":5.5
},
{
"label":"\u2193",
"x":16.5,
"y":5.5
},
{
"label":"\u2192",
"x":17.5,
"y":5.5
}
]
}
}
}

View file

@ -0,0 +1,30 @@
/*
Copyright 2021 Dr.Doof
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include QMK_KEYBOARD_H
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT_all(
KC_GRV, 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_INS, KC_HOME, KC_PGUP,
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_INS, KC_HOME, KC_PGUP,
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_QUOT, KC_ENT, KC_DEL, KC_END, KC_PGDN,
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
KC_LCTL, KC_LALT, KC_SPC, KC_NO, KC_SPC, KC_LALT, KC_LCTL, KC_UP, KC_LEFT, KC_DOWN, KC_RIGHT
)
};

View file

@ -0,0 +1,18 @@
/*
Copyright 2021 Dr.Doof
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include "nearfield.h"

View file

@ -0,0 +1,35 @@
/*
Copyright 2021 Dr.Doof
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#pragma once
#include "quantum.h"
#define XXX KC_NO
#define LAYOUT_all( \
K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G, \
K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, K1G, \
K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2E, K2F, K2G, \
K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, \
K41, K42, K44, K45, K47, K49, K4B, K4D, K4E, K4F, K4G \
) { \
{ K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G }, \
{ K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, K1G }, \
{ K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, XXX, K2E, K2F, K2G }, \
{ K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, XXX, XXX, XXX, XXX }, \
{ K41, K42, XXX, K44, K45, XXX, K47, XXX, K49, XXX, K4B, XXX, K4D, K4E, K4F, K4G } \
}

View file

@ -0,0 +1,31 @@
# Nearfield
![Nearfield](https://i.imgur.com/hNj44FYh.jpg)
The LZ ErGO is a classic ergonomic design, predating the alice layout, and drawing inspiration from the "Microsoft natural ergonomic" series.
Nearfield expands on this by increasing the rotation of the two halves of the alpha cluster, each half is rotated 15 degrees towards the center of the board.
This increased angle forces the user to widen their elbow stance, and align their hands straighter with their forearms while typing.
Aesthetic design: Aside from the obvious layout homage to the ergo, retaining the nav cluster,
the case design draws inspiration from the M0110 keyboard series from Apple.
bog standard mx and alps support pcb, uses unified c3 daughterboard. 100mm JST cable recommended.
* Keyboard Maintainer: [TJ Campie](https://github.com/tominabox1)
* Hardware Supported: Nearfield
* Hardware Availability: [Cannonkeys](https://cannonkeys.com/collections/nearfield/products/nearfield-extra-pcb-and-daughterboard)
Make example for this keyboard (after setting up your build environment):
make nearfield:default
## Bootloader
Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the top left key and plug in the keyboard
* **Physical reset button**: Briefly press the button on the back of the PCB
* **Keycode in layout**: Press the key mapped to `RESET` if it is available
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).

View file

@ -0,0 +1,18 @@
# MCU name
MCU = atmega32u4
# Bootloader selection
BOOTLOADER = atmel-dfu
# Build Options
# change yes to no to disable
#
BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
MOUSEKEY_ENABLE = yes # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
CONSOLE_ENABLE = no # Console for debug
COMMAND_ENABLE = no # Commands for debug and configuration
NKRO_ENABLE = yes # Enable N-Key Rollover
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
AUDIO_ENABLE = no # Audio output

View file

@ -2,7 +2,7 @@
![Le Chiffre](https://i.imgur.com/X1WsUmdl.png) ![Le Chiffre](https://i.imgur.com/X1WsUmdl.png)
Le Chiffre (ironically, "the number" in French is a 30% keyboard designed by tominabox1. The purpose of the board is to provide a platform for MX and Choc ergo in one package for when ones wrists need a break. The board supports an RGB LED strip with DI on port F0. The board is also fitted with support for run-of-the-mill .91" OLED and EC11 rotary encoder. Le Chiffre (ironically, "the number" in French) is a 30% keyboard designed by tominabox1. The purpose of the board is to provide a platform for MX and Choc ergo in one package for when ones wrists need a break. The board supports an RGB LED strip with DI on port F0. The board is also fitted with support for run-of-the-mill .91" OLED and EC11 rotary encoder.
There are 3 PCB revisions: Rev 1 (Original), Rev 2 (P3D version sold with the Le Chiffre Plus), and HE (Hotswap Edition from Checkerboards.xyz). There are 3 PCB revisions: Rev 1 (Original), Rev 2 (P3D version sold with the Le Chiffre Plus), and HE (Hotswap Edition from Checkerboards.xyz).