Compare commits

...

607 Commits

Author SHA1 Message Date
Bror Winther
aa28335651 Add fix for brew upgrade (#12921)
Add a fix for `brew upgrade` so only formulae is upgraded and not casks
2021-08-22 14:42:34 -07:00
Ryan
5319727b70 Fix line endings for quark_squared info.json (#14113) 2021-08-22 17:28:48 +01:00
npspears
46fb874269 [Keyboard] add support for Quark² (#14109)
Quark² is a hotswap version of the Quark PCB
2021-08-21 23:04:20 -07:00
Christian Sandven
9a51076859 [Keyboard] Keyprez bison (#14100)
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-08-21 22:11:56 -07:00
Conor Burns
b1b6fe1c3d [Keymap] added bongocat keymap to 0xCB Static (#14093)
Co-authored-by: Drashna Jaelre <drashna@live.com>
2021-08-21 22:11:15 -07:00
Drashna Jaelre
c1cad5b751 [Keyboard] Fix naiping/npminila layout macro (#14098) 2021-08-21 14:13:02 +10:00
Spaceman
c71d67ba3f [Core] [Docs] Remove travis-ci references (#13916) 2021-08-20 23:31:26 +01:00
Weirdo
30bb807c13 [Keyboard] Add Naiping series keyboard (#14040)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-08-20 10:32:53 -07:00
Joel Challis
c1add5d0e2 Restore layout count validation (#14068) 2021-08-20 08:16:59 -07:00
tiltowait
90ff4fe749 [Keyboard] Add IBM Model M SSK configuration (#14050)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-08-20 06:13:59 -07:00
Drashna Jaelre
fd54992e1f [Keyboard] Fix Feels65 Via keymap (#14086) 2021-08-19 21:35:29 -07:00
Drashna Jaelre
37b5ead17d [Keyboard] Fix space_space rev1 keyboard files (#14087) 2021-08-19 21:26:37 -07:00
Drashna Jaelre
cc0ae9cc4c Revert "[Keyboard] Dumbpad VIA support added (#13512)" 2021-08-19 21:21:00 -07:00
SneakboxKB
b724a0dfd5 [Keyboard] Ava initial commit (#13845)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: SneakboxKB <64090325+mujimanic@users.noreply.github.com>
2021-08-19 11:58:35 -07:00
minibois
a12f3a3fb8 [Keyboard] Minor fixes for mini_elixivy/info.json (#14022)
Co-authored-by: Drashna Jaelre <drashna@live.com>
2021-08-19 11:44:47 -07:00
GG
f4f679779e [Keyboard] Add Mammoth20x (#14014) 2021-08-19 11:17:54 -07:00
Yaroslav Smirnov
c592128219 [Keyboard] Add Elrgo S to keyboards/handwired (#13893)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-08-19 11:15:30 -07:00
weteor
1bfbaae533 [Keyboard] add 3w6 (#13746) 2021-08-19 11:13:00 -07:00
kb-elmo
8200804e96 [Keyboard] Add Voice65 (#13744)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-08-19 11:12:34 -07:00
James Young
c039796d9d keebzdotnet F-Me Configurator fixes and codebase touch-up (#14077)
* rename LAYOUT to LAYOUT_all

* add info.json

* override DYNAMIC_KEYMAP_LAYER_COUNT for via keymap

The via keymap only initialized two layers without overriding the default value of DYNAMIC_KEYMAP_LAYER_COUNT (4).

This commit sets DYNAMIC_KEYMAP_LAYER_COUNT for the via keymap to 2.
2021-08-19 18:47:10 +01:00
James Young
9aedf515c0 kb-elmo Noah AVR Community Layout support and Configurator fix (#14078)
* noah_avr.h: use QMK 3-character notation for matrix positions

* Community Layout support, Stage 1

- rename LAYOUT_ansi to LAYOUT_65_ansi_blocker
- rename LAYOUT_ansi_splitbs to LAYOUT_65_ansi_blocker_split_bs
- enable Community Layout support

* info.json: add line breaks between rows

* info.json: correct LAYOUT_iso data

- unsplit the Backspace
- change ANSI Enter to ISO Enter
- split the left Shift

* Community Layout support, Stage 2

- rename LAYOUT_iso to LAYOUT_65_iso_blocker
- update Community Layout support

* Community Layout support, Stage 3

- add LAYOUT_65_iso_blocker_split_bs
- update Community Layout support

* noah_avr.h: add matrix diagram
2021-08-19 18:46:22 +01:00
jonavin
98af5bc64e [Keymap] Add jonavin user space / common functions (#13876)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Jonavin <=>
2021-08-19 10:45:49 -07:00
jfescobar18
425e1e665d [Keyboard] Dumbpad VIA support added (#13512)
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-08-19 10:39:30 -07:00
Alan Pocklington
3b4c35da6b [Keymap] Quark AJP10304 layout (#13290) 2021-08-19 10:36:20 -07:00
qpockets
c98e1694fb [Keyboard] update space_space keyboard (#13305)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-08-19 10:17:01 -07:00
James Young
48a8682438 Linworks Whale75 Layout Macro refactor and Configurator fixes (#14059)
* info.json: human-friendly formatting

* info.json: remove "w":1 instances

* info.json: correct positions of Left, Down and Right Arrow keys

* info.json: add LAYOUT_all data

* move Home key to end of home row

According to photographs of the keyboard, the fourth key down on the right side is physically on the home row. This commit moves the key argument and keycodes to the home row.

* whale75.h: use QMK 3-character notation for matrix

* whale75.h: add matrix diagram

* add keyboard-level encoder functionality

* info.json: correct key sequence on ISO layouts
2021-08-19 10:13:31 -07:00
BifbofII
c148476188 [Keymap] Add personal layout for 60% ISO boards (#13232) 2021-08-19 09:41:14 -07:00
Felix Jen
a43952f35d [Keyboard] Add Ready100 Keyboard (#13158)
Co-authored-by: Drashna Jaelre <drashna@live.com>
2021-08-19 09:31:12 -07:00
Zereef
4fc01ddefe [Keyboard] Ymdk_np21 via port (#12693) 2021-08-19 09:28:59 -07:00
Juno Nguyen
072459871b [Keymap] community/ortho_4x12/junonum update (#14062)
* Update new community universal keymaps

* Revert bottom row to default for better use of WIN_MODS and MAC_MODS

* Revert to use public domain songs

* Update Dpad layer in junonum to tailor for StarCraft group control

* Remove junonum512

* Update junonum readme

* Define custom songs in the keymap

* Move DP_OFF location

* Update DPAD modifiers

* Update F-row placement in junonum dpad layer

* Update CapsLock location  and rectify KC_APP
2021-08-19 17:12:19 +01:00
Ryan
972f8ba69a Fix AT90USB64/128 bootloaders (#14064) 2021-08-19 17:11:20 +01:00
yiancar
9ac0023a6a Add MNK50 (#14031)
* Add MNK50

* Update keyboards/mnk50/rules.mk

Co-authored-by: Drashna Jaelre <drashna@live.com>

* Update keyboards/mnk50/rules.mk

Co-authored-by: Ryan <fauxpark@gmail.com>

* Update keyboards/mnk50/readme.md

hihi thanks!

Co-authored-by: Ryan <fauxpark@gmail.com>

* Update keyboards/mnk50/keymaps/default/readme.md

Co-authored-by: Ryan <fauxpark@gmail.com>

Co-authored-by: yiancar <yiancar@gmail.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-08-19 16:53:20 +01:00
Tran Kim Tung
49be4860f7 [Keyboard] adds new keyboard version: dztech/dz60rgb_wkl/v2_1 (#14021)
* [Keyboard] adds new keyboard version: dztech/dz60rgb_wkl/v2_1

* Update keyboards/dztech/dz60rgb_wkl/readme.md

Remove external flash manual link

Co-authored-by: Ryan <fauxpark@gmail.com>

* dz60rgb_wkl/v2_1: remove NO_USB_STARTUP_CHECK

Co-authored-by: Ryan <fauxpark@gmail.com>

Co-authored-by: Ryan <fauxpark@gmail.com>
2021-08-19 16:51:23 +01:00
rate
d6eee3e0f2 Added VIA keymap for pistachio_mp (#14015)
* Added VIA keymap for pistachio_mp

* Fixed typos
2021-08-19 16:41:49 +01:00
AquaCylinder
468661280b emi20 update (#14013)
* Update keymap & readme

-Keymap.c: Key combinations removed for resetting and added a new way to reset. Also removed unused timer code.

-config.h & rules.mk: Removed on kemap level (these were there for the key combo's)

-Readme.md: Changed the preview image and changed the description to reset the keyboard. Also added what connector type is used.

* Update readme.md

Better wording on how to get the keyboard in bootloader mode

* Update keymap.c

Switched + and - around, same with / and *.
2021-08-19 16:41:05 +01:00
James Young
068ab2800c Keebio Quefrency Configurator rework (#14060)
* add info.json for Quefrency rev1

* add info.json for Quefrency rev2

* add info.json for Quefrency rev3

* add info.json for Quefrency rev4

* remove "global" Quefrency info.json

* remove layout macro aliases from keyboard headers

These were moved into the info.json files.
2021-08-18 17:42:17 -07:00
James Young
ac1309cd75 Feels Feels65 Refactor (#14032)
* rename layout macros

The existing layout macro names were not accurate to QMK's standard for the names that were given.

- rename LAYOUT_65_ansi_blocker to LAYOUT_65_ansi_blocker_split_bs
- rename LAYOUT_65_iso_blocker to LAYOUT_65_iso_blocker_split_bs

* correct info.json data

* add LAYOUT_65_iso_blocker

* add LAYOUT_65_ansi_blocker

* add Community Layout support

* update grid alignment on layout macros

* add LAYOUT_all

* refactor default and via keymaps

- use LAYOUT_all macro
- use _______ for KC_TRNS
- via keymap fixes
  - swap KC_BSPC for KC_DEL on Layer 1 (matches default keymap)
  - remove KC_PGUP from Layers 2 and 3 (makes both layers fully transparent)
2021-08-18 17:37:53 -07:00
James Young
6200907417 cest73 TKM Configurator Fixes (#14066)
* info.json: update human-friendly formatting

* correct info.json layout data

- adds missing objects for:
  - split Backspace
  - split Numpad Plus
  - split Numpad Enter
  - split Left Shift
  - ANSI Backslash
  - split Numpad 0
- deletes Mod1 object (not supported in source)
- correct key object sequence
2021-08-18 17:33:26 -07:00
Logan Butler
0daccebaf9 [Keyboard] Fixes to info.json and rules.mk for Southpad n(#14053)
Making info.json work better with the QMK Configurator and updating rules to work properly with the correct bootloader.
2021-08-18 10:34:43 -07:00
James Young
b21e093057 Setta21 Configurator Fix (#14055)
* info.json: add line breaks for rows

* info.json: correct key sequence

* info.json: correct width dimension
2021-08-18 09:50:25 +01:00
AnthonyL
b51a187d77 [Keyboard] Use Bootmagic Lite on Montex (#14036)
Co-authored-by: Anthony Lowery <anthony.lowery@unity3d.com>
2021-08-17 22:27:02 -07:00
Matthias Liffers
33587254a0 [Keyboard] Fix pins, add VIA support for Stream Cheap 2x4 (#14001)
Co-authored-by: Drashna Jaelre <drashna@live.com>
2021-08-17 17:33:28 -07:00
s-show
ab10ce4932 update feature_tap_dance.md translation (#13496)
* update feature_tap_dance.md translation

* Update docs/ja/feature_tap_dance.md

Co-authored-by: shela <shelaf@users.noreply.github.com>

* update based on comment.

Co-authored-by: shela <shelaf@users.noreply.github.com>
2021-08-18 01:13:09 +09:00
yulei
a8f893ed2c [Keyboard] add n6 keyboard (#13768)
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-08-17 09:06:26 -07:00
Charly Delay
837571ef7f [Keyboard] bastardkb/skeletyl: fix LED configuration (#14030) 2021-08-17 08:44:19 -07:00
James Young
cab1347387 ryanbaekr rb86: rename LAYOUT_numpad_6x17 to LAYOUT (#14011)
This keyboard isn't a numpad.
2021-08-16 13:50:30 -07:00
James Young
08b2d08593 MisonoWorks Chocolate Bar Configurator fixes (#14009)
* info.json: apply human-friendly formatting

* info.json: correct key sequence

Places the arrow keys in the proper place in sequence.

* correct maintainer's GitHub link in readme

User changed their GitHub username; previous URL was Error 404.
2021-08-16 13:16:17 -07:00
James Young
d9bb42e37b Linworks Fave87 Layout Macro Refactor (#14008)
* correct LAYOUT_tkl_ansi data

Number row was positioned 0.25u too low.

* correct LAYOUT_tkl_ansi macro

- remove position K027 (right half of Split Backspace)
- remove position K096 (right portion of Split Right Shift)

* correct LAYOUT_tkl_iso macro

- remove position K027 (right half of Split Backspace)
- remove position K096 (right portion of Split Right Shift)

* enable Community Layout support

* add LAYOUT_tkl_ansi_split_bs_rshift and LAYOUT_tkl_iso_split_bs_rshift
2021-08-16 13:11:09 -07:00
James Young
0c6155ec42 Pimentoso TouhouPad Layout Macro refactor (#14010)
* physically arrange layout macro, phase 1

Break the keymap up into rows.

* physically arrange layout macro, phase 2

Moves the Escape and Enter keys to the top row.

* refactor default keymap

- use QMK short-form keycodes
- grid align keycodes

* physically arrange layout macro, phase 3

Moves the X key (Bomb) to the bottom row.

* physically arrange layout macro, phase 4

Physically arrange the Escape and Enter keys.

* physically arrange layout macro, phase 5

Physically arrange the arrow keys.

* physically arrange layout macro, phase 6

Physically align the X (Bomb) key.

* align escape characters in layout macro

* info.json: apply human-friendly formatting
2021-08-16 03:17:25 -07:00
James Young
b512afc347 Fix line endings in keyboards/absinthe/keymaps/via/rules.mk (#14028) 2021-08-15 23:44:03 -07:00
James Young
3c3c5965f1 Gorthage Truck Refactor (#14006)
* info.json: apply human-friendly formatting

* info.json: make key labels more friendly to `qmk info -l`

* correct LAYOUT_3u key sequence

* correct LAYOUT_7u key sequence

* correct LAYOUT_10u key sequence

* refactor default keymap

- use QMK short-form keycodes
- update grid alignment
- use four-space indent
- touch up with `qmk cformat`

* refactor 10u keymap

- use QMK short-form keycodes
- add encoder_update_user() function
- update grid alignment
- use four-space indent

* refactor 7u keymap

- use QMK short-form keycodes
- add encoder_update_user() function
- update grid alignment
- use four-space indent

* refactor gorthage_truck.h

- update grid alignments
- use XXX for KC_NO
- insert omitted KC_NO instances

* correct keyboard metadata in info.json

- use GitHub username for maintainer
- correct keyboard dimensions

* add encoder_update_kb() function to gorthage_truck.c

Gives QMK Configurator compile jobs encoder functionality.

* update maintainer field in info.json

As requested by jpuerto96 (s8erdude).
2021-08-15 19:41:02 -07:00
Ryan
4c93c350a6 AL1 refactor (#13679) 2021-08-15 15:19:01 +10:00
Ryan
b1d8efeb59 LFKeyboards: Replace KC_FNx with F(x) (#13999) 2021-08-15 15:18:41 +10:00
Ramon Imbao
209fd753cb [Keyboard] Add TKL-FF PCB (#14003) 2021-08-14 08:07:55 -07:00
Rifaa Subekti
1e4f0d9dcf [Keyboard] add Stealth macropad (#13986)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-08-14 07:58:44 -07:00
Ryan
fce12f0075 Rework keymap_extras docs (#13949) 2021-08-15 00:18:20 +10:00
James Young
de29364827 Ducky One2mini Layout Macro fixes (#14002) 2021-08-14 23:19:50 +10:00
James Young
47b76f556b Function96 V2 Configurator fixes (#13996)
* info.json: apply human-friendly formatting

* correct key sequence for LAYOUT_iso

* correct key sequence for LAYOUT_iso_splitspace

* add layout data for LAYOUT_all
2021-08-14 02:10:03 -07:00
James Young
90583a1668 Orthocode Layout Macro rework (#13995)
* move rotary encoder to top row of layout macro

Makes the layout macro and keycodes resemble the assembled keyboard.

* update info.json data

- convert tabs to spaces
- use human-friendly formatting
- fill in key object labels
- adjust object sequence for layout macro changes
2021-08-14 02:02:24 -07:00
James Young
e2c6dadfbf Noxary 378 Layout Macro rework (#13998)
* physically arrange layout macro

* add info.json
2021-08-14 01:48:25 -07:00
yulei
ed350a1aa6 add falcon keyboard (#13674)
* added falcon keyboard

* Update keyboards/matrix/falcon/rules.mk

Co-authored-by: Drashna Jaelre <drashna@live.com>

* Update keyboards/matrix/falcon/rules.mk

Co-authored-by: Drashna Jaelre <drashna@live.com>

* Apply suggestions from code review

Co-authored-by: Drashna Jaelre <drashna@live.com>

* Apply suggestions from code review

Co-authored-by: Ryan <fauxpark@gmail.com>

* added description for the bootloader

* Apply suggestions from code review

Co-authored-by: Ryan <fauxpark@gmail.com>

Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-08-14 16:35:32 +10:00
Ramon Imbao
088d6abf54 [Keyboard] Add Irene Keyboard (#13991)
Co-authored-by: Drashna Jaelre <drashna@live.com>
2021-08-13 21:54:38 -07:00
Drashna Jaelre
2881517097 Fix Line endings in Absinthe VIA keymap (#13997) 2021-08-14 13:57:41 +10:00
Joshua T
ade989962a [Keymap] clean up userspace, add XD75 / Keyboardio Atreus (#13121)
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>
2021-08-13 18:14:21 -07:00
James Young
424b9ff709 Crin Refactor (#13982)
* rename LAYOUT_default to LAYOUT_all

* apply human-friendly formatting to info.json

* correct keyboard dimensions

* correct data for LAYOUT_tsangan

* add labels to LAYOUT_ansi data

* add labels to LAYOUT_all data

* add labels to LAYOUT_iso data

* crin.h: update grid alignment of matrix identifiers

* crin.h: add matrix diagram

* physically position matrix identifiers for LAYOUT_all

- move k2d to top row (right half of split Backspace)
- move k41 to fourth row (right half of split Left Shift [KC_NUBS])

* physically position matrix identifiers for LAYOUT_iso

- move k1d to top row ([KC_NUHS])
- add k41 to fourth row ([KC_NUBS], previously missing)

* refactor keymaps

- grid-align keycodes
- use four-space indent

* correct data for LAYOUT_iso

- move Enter key to home row

* rename LAYOUT_tsangan to LAYOUT_ansi_tsangan

* add LAYOUT_iso_tsangan

* update readme.md

- add `make` command for building
- add "Flashing example..."
- touch-up bootloader jump instructions (previous Markdown didn't render ideally on GitHub)

* extend keymap functionality

- add Grave Accent, Function keys, Print Screen, Scroll Lock and Pause keycodes to keymaps
- add RESET keycode (Fn+R)
- use KC_RGHT for Right arrow

* touch-up bootloader instructions on readme

- note that Bootmagic Lite jump erases persistent settings
- note that Fn+R is RESET keycode by default
2021-08-13 17:01:05 -07:00
Evelien-Lillian Dekkers
af98005b02 [Keyboard] Add Gud70 (#12575)
Co-authored-by: Drashna Jaelre <drashna@live.com>
2021-08-13 12:53:02 -07:00
alittlepeace
9b922d55dd [Keyboard] Adding VIA to Absinthe (#13031)
Co-authored-by: Drashna Jaelre <drashna@live.com>
2021-08-13 12:35:56 -07:00
Sergey Omelchenko
74c9c3e9c2 [Keyboard] Macropad v2 polling rate fix (#13129) 2021-08-13 12:34:47 -07:00
eniigmakeyboards
4db9aa65b2 [Keyboard] Add eniigmakeyboards/ek60 (#13140)
* add eniigmakeyboards/ek60

* Update keyboards/eniigmakeyboards/ek60/rules.mk

Updated layouts

Co-authored-by: Drashna Jaelre <drashna@live.com>

* Update keymap.c

Added GPL2+ header

* Update keymap.c

Added GPL2+

* Update rules.mk

Added ISO layout here

* Update readme.md

Added instructions for resetting bootloader

* Update keyboards/eniigmakeyboards/ek60/rules.mk

Co-authored-by: Ryan <fauxpark@gmail.com>

Co-authored-by: adamws <adamws@users.noreply.github.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-08-13 12:34:27 -07:00
NightlyBoards
504d443ee3 [Keyboard] Add n9 macropad (#13168) 2021-08-13 12:32:33 -07:00
DonutCables
0f0ebde0aa [Keyboard] Updates to ScrabblePad (#13177)
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-08-13 12:30:38 -07:00
steve ulrich
0972789e76 [Keymap] adds sulrich crkbd (corne) personal keymap (#13186) 2021-08-13 12:29:51 -07:00
Joel Elkins
2aeacf9db7 [Keymap] Updates to jdelkins userspace and keymaps (#13216)
- Remove disused dz60/jdelkins_ss keymap
- Manage configured features for firmware size
- Improve build configuration for the secrets feature
- Various keymap tweaks
- Clean up formatting in various places
2021-08-13 12:28:37 -07:00
Christian Sandven
ac3b9333d8 [Keyboard] Add optional colemak layout to keymap (#13217) 2021-08-13 12:28:05 -07:00
npspears
3366c5628c [Keyboard] add support for alternate ortho UD40 PCB (#13491)
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-08-13 12:26:49 -07:00
Manna Harbour
1b5d7616d3 [Keyboard] Add split_3x5_3 layout support to boardsource/microdox (#13323) 2021-08-13 12:26:22 -07:00
Hugues Morisset
d5eb673426 [Keyboard] Interlace matrix scan for performance on Moonlander (#13625) 2021-08-13 11:52:27 -07:00
Weirdo
20589fb050 [Keybord] Add LS_60 keyboard (#13851)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-08-13 11:47:57 -07:00
fire-h0und
d52e9321e9 [Keyboard] Add cest73/tkm keyboard (#13939)
Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: cest <cest@localhost>
2021-08-13 11:46:29 -07:00
8bits4ever
325009587a [converter/a1200] Added support for ATmega32u4 (#13974) 2021-08-13 11:40:50 -07:00
Path Nirvana
670603590e [Keymap] adding new keymap for the idobo keyboard with backlight (#13969) 2021-08-13 11:31:12 -07:00
Dao Tak Isaac
2c9957eb7e [Keyboard] Add dtisaac01 keyboard (#13967)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-08-13 11:30:43 -07:00
Logan Butler
f00e56eb0b [Keyboard] Add Southpad Keyboard (#13964)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-08-13 11:29:59 -07:00
minibois
8392729d74 [Keyboard] Add the mini_elixivy keyboard (#13960)
Co-authored-by: Drashna Jaelre <drashna@live.com>
2021-08-13 11:22:28 -07:00
Simon
0014c32375 [Keyboard] Added Frooastboard (#13970)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-08-13 11:21:32 -07:00
Vincent Vorholter
0967d4c8a9 [Keyboard] Add Basketweave VIA keymap (#13972)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Vince Vorholter <vince@28east.co.za>
2021-08-13 11:21:09 -07:00
Alabahuy
0b90877b4b [Keyboard] add rart75m with via support (#13975) 2021-08-13 11:18:02 -07:00
Zach White
4742a3a48f use sudo to install modules if needed (#13984) 2021-08-13 10:38:05 -07:00
Felix Sargent
0c175d63cf Update 20210529.md (#13170)
This was confusing to me when I updated, so I want to make it more clear for those that come after.
2021-08-13 06:14:57 +10:00
Drashna Jaelre
fd4759dcfa [Keyboard] Fix keymaps for Ocean Gin v2 (#13976) 2021-08-13 04:03:50 +10:00
Vino Rodrigues
80015f7fb0 Update config.h for kbdfans/kbd67/mkiirgb/v3 (#13978)
QMK Configurator does not compile - needs a value on RGB_DISABLE_WHEN_USB_SUSPENDED
2021-08-12 09:04:06 -07:00
Jarrett Drouillard
2218879d68 [Keymap] add kuatsure planck keymap (#10625)
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-08-12 08:56:25 -07:00
Luis Godinez
a2d5468df3 [Keyboard] Add Launch Pad keymaps (#12490)
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-08-12 08:51:56 -07:00
David Hoelscher
541e749aa8 [Keyboard] Update to customMK Genesis (#12511)
Co-authored-by: Ray <ray@custommk.com>
2021-08-12 08:51:34 -07:00
Vanilla
74aff52bff [Keyboard] Add Spacey keyboard firmware (#12599)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: tfjones24 <tannerfj24@gmail.com>
2021-08-12 08:50:12 -07:00
Paul James
7ee2b0f1ee [Keyboard] Add Tripel keyboard (#12635) 2021-08-12 08:49:51 -07:00
Christian Sandven
022e2748af [Keyboard] Keyprez rhino (#13035)
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-08-12 08:38:37 -07:00
Miles Flavel
8b9c5a9c33 [Keyboard] Fix incorrect RGBLED_NUM value for kbd67 (#13166) 2021-08-12 08:25:09 -07:00
Quentin
356561c438 [Keyboard] Add Skeletyl keyboard (#13495)
Co-authored-by: Albert Y <76888457+filterpaper@users.noreply.github.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-08-12 07:45:42 -07:00
Jacob Jerrell
30843f8329 [Keymap] JJerrell - Add Userspace and ZSA Keyboard Keymaps (#13548) 2021-08-12 07:44:15 -07:00
sato-takashi
1e9d91d4ef [Keyboard] Add EndZone34 (#13847)
Co-authored-by: Drashna Jaelre <drashna@live.com>
2021-08-12 07:43:01 -07:00
James Young
b61613ccb4 Cospad Configurator touch-up (#13971) 2021-08-12 07:24:58 -07:00
arnstadm
ac92f4b721 [Keyboard] Add Edda Keyboard (#13953)
Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-08-12 06:59:07 -07:00
David Dansby
6a5c07680c [Keymap] Add lily58 datadavd layout (#13560) 2021-08-11 20:40:17 -07:00
Rifaa Subekti
2bc2a51618 [Keyboard] add Gin V2 keyboard (#13943)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-08-11 19:44:59 -07:00
Rifaa Subekti
af81e3e63d [Keyboard] add Wang V2 keyboard (#13948)
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-08-11 19:44:15 -07:00
Vicktor Hutama
02ac0f89c4 [Keyboard] Add Rune Vaengr Keyboard (#13945)
* initial commit

* fixed layout

* enabled NKRO

* removed qmkbest

* changed the pins and bootloader to the mcu version

* updated readme

* Apply suggestions from code review

thank you @drashna

Co-authored-by: Drashna Jaelre <drashna@live.com>

Co-authored-by: Drashna Jaelre <drashna@live.com>
2021-08-11 00:24:34 -07:00
jmaynard
710d37b3eb [Keyboard] Improvements to m122_3270 (#13947)
Co-authored-by: Jay Maynard <jmaynard@conmicro.com>
2021-08-11 00:21:40 -07:00
James Young
71ce2b0d79 Poker87C and Poker87D Refactor (#13961) 2021-08-11 00:20:10 -07:00
James Young
3161f10b1f Update USB Device strings for VIA identification (#13962) 2021-08-11 00:19:55 -07:00
Kyle Xiao
af3627db25 [Userspace] Add custom tap dancing function (#13963) 2021-08-11 00:19:19 -07:00
Fernando Rodrigues
83a1c4763a [Keyboard] Added split plus layout to Cospad (#13938) 2021-08-10 19:11:19 -07:00
jpuerto96
04b9286605 [Keyboard] Gorthage Truck - Rotary Encoder Switch Position (#13942)
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-08-10 19:09:59 -07:00
Ananya Kirti
8d4fcd678a Hp69 - Update led logic (#13940)
Co-authored-by: zvecr <git@zvecr.com>
2021-08-11 10:30:56 +10:00
Eric S. Raymond
817fcfdc9a Fix shell port bug in computation of QMK_FIRMWARE_DIR (#13950)
Previous code would fail if cd echoes the tathet directory to stdout,
which is pretty common.  Redirecting its output to /dev/null
solves the problem.
2021-08-11 00:56:08 +01:00
Zach White
ed84a4e7e3 Improve the qmk lint readme check (#13941)
* improve lint readme check

* improve if
2021-08-10 07:48:22 -07:00
Zach White
9a0118c603 Architecture documentation for Configurator and API (#13935)
* Architecture documentation for the configurator and api

* Apply suggestions from code review

Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>

Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
2021-08-10 07:47:53 -07:00
Stefan Subich
aeff347a07 Update feature_wpm.md (#13936)
Fix example markdown code formatting
2021-08-10 10:14:14 +01:00
Ryan
d3932a104c Add padding to LUFA-MS .BIN files (#13922) 2021-08-10 18:03:04 +10:00
rate
076c8cc45f [Keyboard] Added pistachio_pro (#13466)
* Added pistachio_pro

* Apply suggestions from code review

* Apply suggestions from code review
2021-08-09 22:23:25 -07:00
Ryuki
8ef58e3291 adding my keymap "vayashiko" (#13049)
* adding my keymap

* changed some bugs

* removed include keymap.h
2021-08-09 21:07:14 -07:00
Brandon Lewis
760caaa9af Ristretto - Update bootloader (#13933)
* updated bootloader for 32u4 mcu

Should be atmel-dfu instead of caterina as the mcu is integrated instead of on a pro-micro/elite-c
2021-08-09 14:14:33 -07:00
Daniil Yastremskiy
26ea090190 Limit RGB max brightness on KPrepublic BM-series keyboards (#13132) 2021-08-09 11:32:35 -07:00
Pierre Chevalier
23becac3a6 Support all the 0.2 Ferris variants (#12653)
* Support all the 0.2 Ferris variants

For the Compact, the High and the Mini, create a new directory so each
keyboard may have the correct USB descriptor and a readme with more
specific information about it.

For the Bling, also add support for the underglow functionality.

Change the "MANUFACTURER" string to "Cuddly Keyboards Ltd.", the
name of the company I incorporated to sell keyboards, and change the
default descriptor from "Ferris the keeb" to "Ferris 0.2" which is more
descriptive.
I didn't update the 0.1 variants as I don't intend to sell these kits
with "Cuddly Keyboards". The firmware is mostly there to support
existing users.

Update the "hardware availability" to point to my new website:
cuddlykeyboards.com.

* Add RGB mode toggle to my keymap and to the default keymap

* Improve wording in the readme
2021-08-09 11:23:15 -07:00
Stick
5a59363e28 [User] changes to nstickney's keymaps (#11456)
0) Built a Bastyl, gave away the ErgoDoxEZ
1) UNICODEMAP
2) Iris left is now Elite-C
3) New QMK flashing instructions
2021-08-09 10:34:36 -07:00
Edvard Sire
8936d0ae4b [Keymap] new keymap for nui_mini (#13924) 2021-08-09 10:06:25 -07:00
Pascal Pfeil
9a1a35f681 [Keymap] Add kbd67 mkiirgb keymap (#13884)
Co-authored-by: Spaceman <rionlion100@gmail.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>
2021-08-09 10:04:40 -07:00
Michele Ferri
be72a64cf6 [Keyboard] Add TouhouPad (#13915)
* Touhoupad rev 2

* cleanup for PR

* fixes after review
2021-08-09 10:04:00 -07:00
Zach White
e6c171bdd6 Fix generate api (#13930)
* Add missing returncode to exit()

* fix the aozora/hotswap vendor id
2021-08-09 08:28:51 -07:00
Zach White
5eb0e406fd make json imports more robust (#13928) 2021-08-09 08:27:02 -07:00
Chris
79d5b27993 [Keymap] rootiest for planck/rev6/ (#13294)
* squashed commits to master

* Fix in case of missing user_song_list
Substitutes missing songs with safe versions
Also updated and added detail to keymap readme

* Adjust Readme to match qmk contrib conventions

* Update keyboards/planck/keymaps/rootiest/config.h

* Update keyboards/planck/keymaps/rootiest/keymap.c

* Update keyboards/planck/keymaps/rootiest/keymap.c

* Update keyboards/planck/keymaps/rootiest/keymap.c

* Update keyboards/planck/keymaps/rootiest/keymap.c

* Fixed license header to GPLv2+

* Fix Volume key delay
Use a static number instead of removed MEDIA_KEY_DELAY

* Use TAP_CODE_DELAY

* added license to config.h

* Clean up formatting
- Fixed markdown in readme
- Removed extra commented line from config.h

* Update keyboards/planck/keymaps/rootiest/config.h
2021-08-09 02:25:43 -07:00
jfescobar18
59b5c884ff [Keyboard] Undead 60M (#13735)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-08-08 23:17:46 -07:00
Phooood
7c2f48e55d [Keyboard] Add Aozora (hotswap) keyboard (#13919)
* Initial Commit

* added header to hotswap.c

* added keymap-specific reamdme.md

* minor adjustments

* Requested corrections to readme's
2021-08-08 20:31:33 -07:00
datafx
ac2090bf4e [Keyboard] Add kbdfans kbd67 mkii rgb v3 (#13714)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-08-07 21:45:43 -07:00
Spaceman
bfa7449041 [Keyboard] Add Pancake v2 (#13839)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-08-07 21:42:04 -07:00
Ananya Kirti
b046bffcb8 [Keyboard] Added CapsLED and ScrollLock LEDs (#13837)
Co-authored-by: Drashna Jaelre <drashna@live.com>
2021-08-07 21:41:15 -07:00
8bits4ever
bc2b73f997 [Keyboard] a1200 converter minor changes (#13848)
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-08-07 21:15:23 -07:00
jpuerto96
41d854048c [Keyboard] Gorthage Truck - New PCB (#13909)
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-08-07 21:12:55 -07:00
Pascal Pfeil
27d0844efb [Keyboard] Clean up lfkpad and add keymap (#13881)
Co-authored-by: Drashna Jaelre <drashna@live.com>
2021-08-07 20:37:13 -07:00
peott-fr
34689e348f [Keyboard] Adding my Nyquist keymap (#13858) 2021-08-07 20:24:24 -07:00
kb-elmo
07e2c11e55 [Keyboard] fixes for KBD67 rev2 (#13906) 2021-08-07 07:57:14 -07:00
kb-elmo
85c32da989 [Keyboard] Added 67mk_E PCB (#13869)
* added 67mk_E PCB

* add layouts
2021-08-06 23:52:39 -07:00
bomb
a9b0750f7b [Keyboard] Modify key drive pins for mojo68 (#13863) 2021-08-06 23:52:18 -07:00
Alex Ong
8a9688bc64 [Keyboard] Use new matrix_output_select_delay api (#13861)
* Use new matrix_output_select_delay api

* Updated delay to 15 after more spamming
2021-08-06 23:51:38 -07:00
Cian Johnston
9d88786b6f [Keyboard] add handwired/oem_ansi_fullsize (#13857)
* Add new keyboard oem_ansi_fullsize

* clang-fmt

* Update keyboards/handwired/oem_ansi_fullsize/rules.mk

Co-authored-by: Joel Challis <git@zvecr.com>

* Update keyboards/handwired/oem_ansi_fullsize/readme.md

Co-authored-by: Joel Challis <git@zvecr.com>

* update info.json using qmk c2json

* update info.json

* move diagram to readme

* add matrix cols/rows to info.json

* fixup! add matrix cols/rows to info.json

* rename layout, fix block comment

* s/ansi_fullsize/fullsize_ansi/g

Co-authored-by: Joel Challis <git@zvecr.com>
2021-08-06 23:51:03 -07:00
Jack Kenney
e4342f8630 [Keymap] JackKenney's keymap for GMMK Pro (#13853) 2021-08-06 23:49:25 -07:00
Drashna Jaelre
9c03d41f6a [Keyboard] Fix oled_task_user for chocolatebar (#13911) 2021-08-06 23:06:39 -07:00
James Young
95fed3bfcf clean up CRLF instances (#13910) 2021-08-07 15:59:03 +10:00
Moritz
a3cb3e139a [Keyboard] Add Fave87 (#13873)
Co-authored-by: Joel Challis <git@zvecr.com>
2021-08-06 22:48:17 -07:00
misonoworks
d917bfb277 [Keyboard] Add MisonoWorks Chocolate Bar keyboard (#13798)
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: autumnisacutie <63772942+autumnisacutie@users.noreply.github.com>
2021-08-06 21:48:19 -07:00
mechlovin
744019c032 [Keyboard] Add Hex4B PCB (#13435)
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: vuhopkep <boy9x0@gmail.com>
2021-08-06 17:02:46 -07:00
yfuku
6721825df5 [Keyboard] Add owl8 keyboard (#13380)
* add owl8

* use DIRECT_PINS

* fix encoder

* Changed to use action_exec.
2021-08-06 17:01:52 -07:00
Gigahawk
bdf86c4cbd Add replacement screw specifications to GMMK Pro readme (#13903) 2021-08-06 04:54:43 -07:00
Joel Challis
c588d232cb Avoid name conflicts with usb_hid Arduino code (#13870)
* Avoid name conflicts with usb_hid Arduino code

* Fix tests
2021-08-06 15:53:38 +10:00
James Young
b9a1b61f6a Flehrad Tradestation Refactor (#13897)
* add license headers

Apache 2.0 per the included `license` file.

* info.json: use human-friendly formatting

* refactor keymaps

- split `default` keymap into `default` and `tradestation` keymaps (one for each layout)
- remove boilerplate functions
- apply four-space indent

* partial clean up of rules.mk

- update section header comment blocks
2021-08-05 22:18:17 -07:00
James Young
28b59c30d2 MetaMechs Timber Wolf Configurator Fixes (#13895)
* info.json: use human-friendly formatting

* info.json: fix key sequences for ISO layouts

All the ISO layouts had the Enter key out-of-sequence, causing key-assignment mismatches in QMK Configurator.
2021-08-05 21:28:26 -07:00
James Young
f4c55db8dd cKeys Handwire 101 Refactor (#13879)
* update info.json

- use human-friendly formatting
- remove `key_count` key

* rename LAYOUT to LAYOUT_ortho_4x4

* refactor default keymap

- add license header
- qmk cformat pass
- keycode grid alignment

* remove empty config.h file from default keymap

* update Manufacturer and Product strings

* tidy up handwire_101.c

- add license header
- remove boilerplate functions

* tidy up handwire_101.h

- add license header
- remove instructive comment

* minor rules.mk tidy-up

- remove Bootloader selection sample comments

* rewrite SEND_STRING() statements per fauxpark

Co-authored-by: Ryan <fauxpark@gmail.com>

Co-authored-by: Ryan <fauxpark@gmail.com>
2021-08-04 22:32:27 +01:00
James Young
4445455c1f BM65ISO: refactor layout macro (#13860) 2021-08-04 22:24:54 +10:00
Reza Jelveh
8e8803459f Updated Ducky 2 one mini support (#11112)
* Initial Ducky One 2 Mini keyboard and keymap

* Keymap macro issue, together with general polish suggestions

* Separate default keymap into proper default, iso and ansi versions

* info.json updates (Configurator support). DEBOUNCE define adjust.

* Unused keymap defines removed.

* update requested ducky one mini2 board changes

* ducky: don't trigger app key with left shift

* ducky: make default mouse key behavior more linear

* ducky: add GRAVE_ESC_GUI_OVERRIDE to allow for win+esc to work

* ducky: playpause on fn space

* ducky: disable RGB_MATRIX until driver is merged

* ducky: clang-format matrix and one2mini.c

* ducky: update requested changes

Remove WFI_IDLE since it's already in the rules.mk CORTEX_ENABLE_WFI_IDLE=TRUE

* ducky: update requested changes

* ducky: move winkey grave esc to default keymap

* ducky: remove dipswitch from keymap and use DIP_SWITCH_MATRIX_GRID instead

* ducky: info.json lint

* ducky: enable DIP_SWITCH_ENABLE rule

* ducky: update readme

* ducky: fix backslash on default keymap

* ducky: remove unused USB_LED_CAPSLOCK_INDEX 28

* ducky: move mbi5042 led driver to ducky keyboard

* ducky: cosmetics

* ducky: requested changes

* ducky: refactor matrix.c again so we can better compare it to other boards

* ducky: remove bootmagic_lite as the boards bootloader trigger is actually handled in its own bootloader

* ducky: remove custom matrix

* ducky: update for chibios-contrib changes

* ducky: debug new USB driver

* ducky: debug usb issues

* ducky: update chibios version

* ducky: remove halconf.h

* ducky: update rules.mk

* ducky: update chconf.h

* Matching submodules.

* Restructure to explicitly define which board is in use, remove RGB driver pending followup PR.

* Revert "Matching submodules."

This reverts commit 2fbb34e0c6.

Co-authored-by: GitWellBack <48095880+GitWellBack@users.noreply.github.com>
Co-authored-by: Nick Brassel <nick@tzarc.org>
2021-08-04 20:35:17 +10:00
James Young
ae20574f84 barracuda: update info.json layout macro reference (#13874)
* barracuda: update info.json layout macro reference

- change LAYOUT to LAYOUT_ortho_3x11

* remove Community Layouts rule

ortho_3x11 isn't a valid Community Layout.
2021-08-04 03:09:25 +01:00
Drashna Jaelre
a0f2be18a4 Add bootloader section to keyboard template (#13774)
* Add bootloader section to keyboard template

* Apply suggestions from code review

Co-authored-by: Ryan <fauxpark@gmail.com>

Co-authored-by: Ryan <fauxpark@gmail.com>
2021-08-04 01:23:18 +01:00
Changsu Park
9c69db4700 Updated settings.json file to fit VSC's docs (#13829)
This change fixes the warning caused by deprecated way of configuring terminal profiles.

The warning caused by old settings.json is the following:
This is deprecated, the new recommended way to configure your default shell is by creating a terminal profile in `#terminal.integrated.profiles.windows#` and setting its profile name as the default in `#terminal.integrated.defaultProfile.windows#`. This will currently take priority over the new profiles settings but that will change in the future.

Refer to the link below for more information:
https://code.visualstudio.com/docs/editor/integrated-terminal#_configuration
2021-08-04 01:22:40 +01:00
James Young
8802d28aad boardsource/holiday/spooky: update info.json layout macro reference (#13875)
- change LAYOUT to LAYOUT_ortho_2x3
2021-08-04 00:29:41 +01:00
Ryan Baker
d1cbea685e rb86 (#13824)
* rb86

* adjudicate comments
2021-08-04 08:54:12 +10:00
Joakim Tufvegren
2b097d670a Fix overflows in WPM calculations (#13128)
* Fix overflow in WPM calculations.

First, the "fresh" WPM calculation could end up being up to 12000 (with
default `WPM_ESTIMATED_WORD_SIZE`) if keys were pressed more or less
simultaneously. This value has now been clamped down to 255, in effect
clamping WPM to its max value of 255.

Second, with `WPM_ALLOW_COUNT_REGRESSION` enabled, it was possible to
regress the WPM below 0 (i.e. to 255) by just repeatedly pressing
backspace.

* Fix WPM being limited to 235 due to float/int logic.
2021-08-04 07:40:08 +10:00
James Young
f2fc23d1b1 aves65: complete layout data (#13868)
add layout data for:
- LAYOUT_all
- LAYOUT_65_iso
- LAYOUT_65_iso_split_bs
- LAYOUT_65_iso_blocker_split_bs
- LAYOUT_65_ansi
- LAYOUT_65_ansi_split_bs
- LAYOUT_65_ansi_blocker
- LAYOUT_65_ansi_blocker_split_bs
2021-08-03 10:20:53 -07:00
James Young
e9a3e20813 4pplet/eagle_viper_rep/rev_a: fix missing key object (#13867)
Adds a key object for the KC_NUHS key to the info.json data.
2021-08-03 10:03:25 -07:00
Jonathan Rascher
853344235a [Keymap] Minor cleanup of bcat keymaps and userspace (#13224) 2021-08-03 09:39:43 -07:00
James Young
4d42fb2031 40percentclub/nori: fix matrix reference in LAYOUT_ortho_4x8 (#13866)
* 40percentclub/nori: fix matrix reference in LAYOUT_ortho_4x8

* remove ortho_4x8 from Community Layouts rule

ortho_4x8 isn't a valid option here.
2021-08-03 00:04:07 -07:00
James Young
2d78a43556 capsunlocked/cu7: fix missing key object (#13862)
Adds a key object for the encoder keypress.
2021-08-03 13:17:06 +10:00
plarso
fd9d531bd9 [Docs] Remove extra word it bootmagic page (#13855) 2021-08-02 18:01:38 -07:00
James Young
be9031d01d 0xCB Static: fix qmk info and Configurator issues (#13856) 2021-08-02 17:52:46 -07:00
JTM
c2f227d2a8 Function96 V2: Fixed info.json file (#13322)
Fixes the info.json data for the LAYOUT_default and LAYOUT_ansi_splitspace macros.
2021-08-02 01:24:25 -07:00
xyzz
720c676403 flash_stm32: don't unlock flash if already unlocked (#13841)
On stm32f4 after reboot from DFU it was observed that the flash is
already unlocked. In that case, attempting to unlock it again causes a
data abort.
2021-08-02 14:27:57 +10:00
James Young
4b630c46fe Duck Eagle/Viper V2 Refactor (#13828) 2021-07-31 13:12:49 -07:00
James Young
851d995a7d Merro60 Layout Macro Refactor (#13827) 2021-07-31 12:17:55 -07:00
James Young
1305b6d82e Momoka Ergo: layout macro/Configurator fix (#13825)
* momoka_ergo.h: use modified QMK 3-character notation

Renames the matrix position arguments to use QMK's K<row><column> notation, but using L or R for the left and right halves, respectively.

* physically arrange layout macro

Arrange the layout macro and keycodes to resemble the assembled keyboard.

* info.json: rebuild LAYOUT data

Fixes mispositioned keys in QMK Configurator.
2021-07-31 12:16:51 -07:00
slashbunny
3f5482bbb7 Update endgame keymap to work with suspend changes (#13805)
Updates the Massdrop CTRL keyboard engame keymap to work after the
changes to USB suspend in #12697

Fixes #13782
2021-07-31 16:28:09 +01:00
James Young
954806c80f DP60 layout macro renames (#13811)
* info.json: apply human-friendly formatting

* rename LAYOUT_60_wkl to LAYOUT_60_ansi_tsangan_split_rshift

* rename LAYOUT_60_wkl_split_bs to LAYOUT_60_tsangan_hhkb

* info.json: remove `key_count` keys
2021-07-31 14:25:47 +01:00
James Young
4604b58769 Charue Sunsetter: layout macro fixes (#13809)
* remove K214 from LAYOUT_1065_ansi macro

Position K214 is only used by the ISO layout (as KC_NUHS); it doesn't get used here. Removing it so the layout macro matches the info.json layout data.

Also updates info.json to use human-friendly formatting.

* add layout macros

Adds:

- LAYOUT_1065_ansi_split_bs macro
- LAYOUT_1065_iso macro
- LAYOUT_1065_iso_split_bs macro
- `default_iso` keymap

* add LAYOUT_all macro

Adds LAYOUT_all macro and a `default_all` keymap.

This PCB is unusual in that the ANSI Backslash and ANSI Enter do not share their matrix positions with the Non-US Backslash or ISO Enter keys at all. This layout macro supports both the ANSI and ISO positions in one macro/keymap.
2021-07-31 14:23:27 +01:00
James Young
56f84774d7 Rartland: add 65_ansi and 65_iso layouts (#13807)
* add 65_ansi and 65_iso layouts

... with Community Layout support

* add block comment of layouts to rartland.h
2021-07-31 14:22:12 +01:00
peott-fr
d191ccfdc5 [Keymap] Add peott-fr Kinesis keymap (#13812) 2021-07-31 06:14:56 -07:00
Jay Greco
56200de2eb [Keyboard] Reduce nibble oled_status keymap size (#13813) 2021-07-31 06:11:11 -07:00
Drashna Jaelre
e755c5fe1f [Keyboard] Fix RGBKB Pan Rev1 Encoder RGB handling (#13781) 2021-07-31 06:09:47 -07:00
MakotoKurauchi
fb6c66a14b change DIP_SWITCH_ENABLE to off (#13815) 2021-07-31 18:51:32 +09:00
James Young
ec2f6026b9 Neito: correct key sequence in info.json (#13808) 2021-07-31 02:47:00 -07:00
Nick Brassel
a4c050b5ae Fix up paths for bioi boards - parallel compilation failures due to file collisions. (#13806) 2021-07-31 10:34:14 +10:00
Nick Brassel
b459f314ec Explicitly state that VIA should not be enabled in the default keymap. (#13803) 2021-07-31 09:21:45 +10:00
Joel Challis
addb389a5e Move ergosaurus via keymap to correct location (#13802) 2021-07-31 00:15:11 +01:00
Ryan
7bfe53ee2f Fix onekey console keymap (#13797) 2021-07-30 22:00:14 +01:00
James Young
aece9ad5fa Xelus Dharma: add info.json file (#13796) 2021-07-30 11:44:50 -07:00
James Young
e180524c10 txuu: rename LAYOUT to LAYOUT_65_ansi_blocker_split_bs (#13794)
Renames the layout macro to be more conformant to the rest of QMK.
2021-07-30 11:17:48 -07:00
James Young
57ad8db60e Tiger910: fix Left Control key size in info.json (#13793) 2021-07-30 11:17:30 -07:00
James Young
4758ea2188 Stratos: fix layout macro reference in info.json (#13792)
- change LAYOUT_60_ansi_tsangan_hhkb to LAYOUT_60_tsangan_hhkb
2021-07-30 11:16:59 -07:00
James Young
069f479af4 Ristretto: fix Configurator layout data (#13791) 2021-07-30 11:16:37 -07:00
James Young
6af2d3a32c X-Bows Ranger: rename LAYOUT to LAYOUT_tkl_ansi (#13795) 2021-07-30 11:16:18 -07:00
Ryan
d1db008745 Onekey cleanup (#13786) 2021-07-30 18:10:05 +01:00
Matthew Dias
cfca970718 [Keyboard] Add portal 66 (#13767) 2021-07-30 10:01:43 -07:00
8bits4ever
1e2408af91 [Keyboard] Add Commodore Amiga 1200 Membrane Converter (#13705)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-07-30 09:53:55 -07:00
James Young
77735b0a56 Pearl Boards Pandora: correct layout macro reference in info.json (#13787) 2021-07-30 08:12:36 -07:00
James Young
6823e03b01 Ocean Sus Board: rename layout macro (#13785)
- rename LAYOUT_ortho_3x4 to LAYOUT_ortho_4x3
  - ... because ortho layouts in QMK are named by <rows>x<columns> instead of <columns>x<rows>
2021-07-30 08:11:37 -07:00
James Young
f2d34f38be Nack: rename layout macro to LAYOUT_ortho_4x13 (#13784) 2021-07-30 08:10:59 -07:00
Ryan
8b39a3c484 qmk docs: Add flag to open in browser (#13788)
* `qmk docs`: Add flag to open in browser

* Add docs
2021-07-30 14:47:34 +01:00
James Young
d93089d8ea MNK1800s: fix Configurator key sequence (#13783) 2021-07-30 17:17:11 +10:00
James Young
e1ce0d2836 Clawsome Luggage Rack: correct keymap directory name (#13780)
Rename `keyboards/clawsome/luggage_rack/keymap/` to `keyboards/clawsome/luggage_rack/keymaps/`.
2021-07-30 00:07:10 -07:00
officereso
6fd9b2feba [Docs] Added information on soldering diodes in parallel (#13117)
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-07-29 22:56:27 -07:00
Álvaro A. Volpato
a1f7d86ef5 [Keyboard] Initial Noxary 378 support (#13156)
Co-authored-by: Gondolindrim <alvaro.augusto.volpato@gmail.com>
2021-07-29 22:54:06 -07:00
Jonavin
03212ced24 [Keymap] jonavin gmmk pro keymap add RGB functionality (#13591)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Jonavin <=>
2021-07-29 22:38:38 -07:00
James Young
7e1d28006f CherryB Studio CB1800: fix key sequence in info.json (#13779)
This commit fixes the position in sequence of the arrow keys.
2021-07-29 22:37:41 -07:00
Jonavin
219ce2b58a [Keymap] jonavin quefrency keymap (#13751)
add winkeylock and rgb functions
Co-authored-by: Jonavin <=>
2021-07-29 22:36:21 -07:00
James Young
104cdef329 Cannonkeys Balance: Configurator fixes (#13778) 2021-07-29 22:26:47 -07:00
Trent Hoh
327e5a08d9 [Keyboard] Added YMD40v2 VIA (#13770)
VIA support for YMD40v2
2021-07-29 22:24:21 -07:00
fvolpe83
86c0a6d3d7 [Keymap] Update keymaps for fvolpe83 (#13739)
changed folder name to match github username, changed caps from LT(1,KC_CAPS) to MO(1) and updated readme
2021-07-29 22:16:51 -07:00
James Young
fab1af4154 AnomalyKB a65i Configurator fixes (#13775) 2021-07-29 22:11:57 -07:00
Ramon Imbao
987e8e3529 [Keyboard] Add Mona v1.1 (#13721)
Co-authored-by: Drashna Jaelre <drashna@live.com>
2021-07-29 22:08:05 -07:00
James Young
8ca6d835b9 Atomic Refactor (#13761)
* info.json: human-friendly formatting

- one key per line
- line breaks between physical rows
- four-space indent

* info.json: add data for LAYOUT_grid

* fix keymap paths

This commit corrects the paths for three keymaps that were in the wrong directory.

* refactor and bugfix abienz keymap

- remove extra commas
- use QMK-native aliases for KC_TRNS and KC_NO
- add include for Colemak keycode support
- use four-space indent

* refactor and bugfix michelle keymap

- remove inline comments for keymap layout
- remove extra commas
- use QMK-native aliases for KC_TRNS and KC_NO
- use four-space indent

* refactor and bugfix twolayer keymap

- remove extra commas
- refactor action_get_macro() keycode to QMK-native keycode
- use QMK-native aliases for KC_TRNS
- use four-space indent
- adjust grid alignment

* rename LAYOUT_grid to LAYOUT_ortho_5x15

* refactor config.h file

- use #pragma once include guard
- update MANUFACTURER and PRODUCT strings to be consistent with other OLKB boards
- remove Magic config (all settings are default)

* refactor atomic.c

- add license header
- use GPIO control functions

* refactor atomic.h

- add license header
- use #pragma once include guard
- remove redundant file includes

* refactor rules.mk

- remove Bootloader selection comments
- unify Build Option header comment to QMK template
- unify Build Option rules and inline comments

* alias LAYOUT_grid to LAYOUT_ortho_5x15
2021-07-29 12:14:26 -07:00
James Young
c0149dc376 Alu84 Refactor (#13760)
* info.json: human-friendly formatting

* use QMK 3-character notation for layout macro/data

* alu84.h: use #pragma once include guard

* clean up alu84.c

Remove unnecessary includes and functions.

* refactor config.h

- use #pragma once include guard
- enable Backlight Breathing
- align comments to QMK AVR template

* refactor default keymap

- add license header
- use layer_names enum
- refactor keymap to be more generic
- remove unnecessary and empty functions

* refactor turbomech keymap.c

- edit license header
- refactor keymap for readability (use QMK-native keycode aliases)
- remove unnecessary and empty functions

* refactor turbomech config.h

- use #pragma once include guard
- align to QMK template

* refactor turbomech rules.mk

Edit the file to make it conform to QMK template.

* align rules.mk to QMK template

* touch-up default keymap

* touch-up alu84.h

* rename LAYOUT to LAYOUT_75_ansi

Also enables Community Layout Support

* modernize readme.md

- update description
- convert keyboard data to list
- add flashing and bootloader instructions
- update Docs links

* alias LAYOUT to LAYOUT_75_ansi

* change readme image URL per fauxpark

* touch up turbomech keymap rules.mk per fauxpark

* rules.mk: convert tab to spaces
2021-07-29 11:09:16 -07:00
James Young
a78fdbb1f6 Draytronics Elise Configurator fixes (#13763) 2021-07-29 10:45:22 -07:00
TreasureTypes
5a0985aa4a [Keyboard] Add Treasure TYPE-9 Series II (#13725)
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>
2021-07-29 09:50:05 -07:00
Alabahuy
aa0b7079a4 [Keyboard] add sus board (#13701) 2021-07-29 09:12:29 -07:00
Takeshi Nishio
441fd2ca5b [Keyboard] Match Vendor ID to my other keyboard, "unison". (#13699)
Co-authored-by: Takeshi Nishio <kkeennnn@gmail.com>
2021-07-29 09:11:40 -07:00
Uy Bui
6bdecb16c0 [Keyboard] we27 update info.json (#13678) 2021-07-29 09:03:21 -07:00
bomb
768072e824 [Keyboard] Add Mojo68 for Melgeek (#13578)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-07-29 08:50:28 -07:00
AquaCylinder
ae268596ce [Keyboard] Add Emi20 (#13603)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-07-29 08:49:51 -07:00
DA
ad6acb3a03 [Keyboard] add cherryb studio cb1800 keyboard (#13639)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-07-29 08:48:39 -07:00
X-Bows Tech
8fa674727d [Keyboard] Add X-Bows Ranger Keyboard (#13660)
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-07-29 08:47:51 -07:00
Jonavin
8d611f6873 [Keymap] Jonavin keymap Mercutio add win key lockout function (#13670)
Co-authored-by: Jonavin <=>
2021-07-29 08:47:14 -07:00
N2-Sumikko
dc2dfe2a6c [Keyboard] Add halfcliff keyboard (#13515)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-07-29 08:42:28 -07:00
ESCA47
3a48cd64cb [Keyboard] Add GetawayVan (#13412)
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-07-29 08:28:33 -07:00
Jordan Blackbourn
f3d7901950 [Keyboard] Added Orthocode keyboard (#13487)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-07-29 08:23:27 -07:00
Joel Challis
e646211919 Fix unit tests after recent refactor (#13765) 2021-07-29 12:00:39 +10:00
James Young
ccdb432f71 Allison Numpad: Configurator fix for LAYOUT_numpad_6x4 (#13759)
* info.json: human-friendly formatting

- one key object per line; line breaks between physical rows
- four-space indent
- remove trailing whitespace

* info.json: correct key object order for LAYOUT_numpad_6x4
2021-07-28 16:34:17 -07:00
Ryan
491b83aa32 Update "make format" message (#13741)
* Update "make format" message

* Add examples for `qmk` command as well
2021-07-28 12:02:29 +01:00
Shane Celis
fcce9f2a4f fix: Fix typo in documentation for one shot keys. ON_TOGG -> OS_TOGG (#13754)
`ON_TOGG` doesn't exist in the codebase.
2021-07-28 12:00:55 +01:00
Jonavin
9088df04c3 [Keyboard] fix short circuit in led_update_kb for quefrency rev3 (#13752)
Co-authored-by: Jonavin <=>
2021-07-28 00:24:51 -07:00
ForsakenRei
ae2c2358ec [Docs] Add default case in Tap Dance Example 6 (#13727)
Added a `default` case in `switch(ql_tap_state.state)` at line 493 and 494.
Without it compile firmware with Example 6 code will encounter 2 errors:
`enumeration value 'TD_NONE' not handled in switch`
`enumeration value 'TD_UNKNOWN' not handled in switch`
2021-07-26 19:45:08 -07:00
James Young
a617c8b80a [Keyboard] Ares refactor (#13730) 2021-07-26 19:43:48 -07:00
datafx
b1c5a53a68 Add bootloader size (#13729)
* Add bootloader size

Bootloader size needs to be 6144 to allow QMK to jump to the correct location with bootmagic

* Include dz60rgb v2.1

Add boot loader size to this pcb also
2021-07-27 10:07:29 +10:00
James Young
e6e4ec6267 40percentclub/nein: update info.json layout macro reference (#13726)
- change LAYOUT to LAYOUT_ortho_3x3
2021-07-26 21:02:44 +01:00
Cyril
a73e0a7b13 Revert "Fixed the ortho60 and ortho48 matrix layout after testing (#12106)" (#13456)
This reverts commit e25f05224f.
2021-07-25 22:51:23 -07:00
bomb
2e5cecd704 [Keyboard] Change RGB light defaults for melgeek/mj6xy (#13657)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-07-25 21:22:13 -07:00
Drashna Jaelre
d45da3f0fb [Keyboard] Update ZSA Keyboard Readmes and keymaps (#13041)
* [Keyboard] Update ZSA Keyboard Readmes and keymaps

* Apply suggestions from code review

Co-authored-by: Ryan <fauxpark@gmail.com>

* Remove custom rgb code for RGB_M_P

* Fix inevitable typo

Co-authored-by: Ryan <fauxpark@gmail.com>

* Update keyboards/planck/ez/readme.md

Co-authored-by: Ryan <fauxpark@gmail.com>

Co-authored-by: Ryan <fauxpark@gmail.com>
2021-07-25 18:18:22 -07:00
Joel Challis
fc9fb2c775 Allow output of logging when running unit tests (#13556)
* Initial pass at enabling logging for unit tests

* Add to docs

* Bind debug for more test types

* Force everything

* Tidy up slightly
2021-07-25 17:18:09 +01:00
Drashna Jaelre
b69e7431aa [Keyboard] Fix keymaps for clueboard 66_hotswap (#13694)
* [Keyboard] Fix default keymap for clueboard proto

* Fix keymaps, because they're not actually revision compatible

* Add copyright headers
2021-07-25 12:07:46 +10:00
Joel Challis
b5bcd5b0a1 Refactor some platform dependent logic (#13675) 2021-07-24 19:56:45 +01:00
lokher
145d89ab91 [Keyboard] Add Keychron Q1 (#13397)
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>
2021-07-24 09:37:24 -07:00
James Won
44a0aa924c [Keymap] add kinesis/keymaps/jwon (#13618)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-07-24 08:40:05 -07:00
Xelus22
1b002b7dcc [Keyboard] Dharma (#13663)
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-07-24 08:39:26 -07:00
Shane Celis
d4bc77ac94 feature: Add swap hands support for sofle keyboard. (#13654) 2021-07-24 08:39:04 -07:00
Rafael Yumagulov
e08203f16a [Keyboard] Added Compound keyboard support (#12942)
* [Keyboard] Added Compound keyboard support

* Small fixes for Compound keyboard

* Fixed readme and header file for Compound keyboard

* Update keyboards/compound/rules.mk

Co-authored-by: Ryan <fauxpark@gmail.com>

* Changed info.json and readme.md for Compound Keyboard

info.json - removed key_count
readme.md - changed PCB picture url to low-resolution

Co-authored-by: Ryan <fauxpark@gmail.com>

Co-authored-by: Ryan <fauxpark@gmail.com>
2021-07-23 20:45:24 -07:00
Matthew Dias
4a47ee937d [Keyboard] Add model-v keyboard (#13643)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-07-23 08:10:01 -07:00
Matthew Dias
cda1792ece [Keyboard] Add Txuu keyboard (#13650)
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-07-22 21:45:35 -07:00
Jay Greco
a08c7087be [Keymap] Reduce NIBBLE oled_bongocat keymap size so it compiles (#13638) 2021-07-22 21:45:17 -07:00
Domantas
dfd795e48e Add backslash in lily58 domnantas keymap (#12713) 2021-07-23 14:24:16 +10:00
kb-elmo
4a8f540949 [Keyboard] Added another layer for VIA on the AEK II (#13100) 2021-07-22 18:51:29 -07:00
kb-elmo
270bf7a87a [Keyboard] Added Stratos keyboard (#13139) 2021-07-22 18:51:12 -07:00
KnoblesseOblige
79c8f035cc [Keyboard] Added Crin keyboard (#13630)
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-07-22 18:47:32 -07:00
Joel Challis
5d7f2823c9 Implement GPIO abstraction for atsam (#13567)
* Implement GPIO abstraction for atsam

* Convert Drop boards to normal matrix config

* Work round pin conflicts and matrix delay
2021-07-22 23:01:19 +01:00
Tran Kim Tung
95a7c22824 [Keyboard] adds new revision: dztech/dz60rgb/v2_1 (#13636) 2021-07-22 09:39:08 -07:00
Md. Mashur Shalehin Sakib
58abdfc834 [Keyboard] Fixing info.json for h0oni/hotduck (#13640) 2021-07-22 09:35:28 -07:00
Trent Hoh
78a3f43c08 [Keyboard] Ymd40v2new layouts and fixed per-switch backlight (#13622) 2021-07-22 01:11:11 -07:00
Drashna Jaelre
8158473464 [Keyboard] Fix clawsome/hatchback and reviung5 compile issues (#13607) 2021-07-22 00:53:18 -07:00
drhigsby
336c8d3efe [Keyboard] add ogurec (#13242)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-07-22 00:17:47 -07:00
farfalleflickan
a400681ccf [Keyboard] Updated keyboard & keymaps (#12667)
Co-authored-by: pastapojken <6597735+pastapojken@users.noreply.github.com>
2021-07-21 23:57:35 -07:00
joedinkle
e9c3f71e74 [Keyboard] add SPRH keyboard (#12999)
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>
2021-07-21 23:47:48 -07:00
Sắn
92cca84651 [Keyboard] Add keypad Satxri6key (#13423)
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-07-21 23:40:24 -07:00
jmaynard
8e905a7a5c [Keyboard] Initial Tron Guy Labs keyboard implementation. (#13438)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Jay Maynard <jmaynard@conmicro.com>
2021-07-21 23:39:45 -07:00
Brandon Lewis
8c17a822a8 [Keyboard] Add Ristretto Keyboard (#13479)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Brandon Lewis <blewis308@users.noreply.github.com>
2021-07-21 23:31:03 -07:00
Kyle McCreery
5766b9bfb7 [Keyboard] New Keyboard - OBE (#13545)
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>
2021-07-21 23:22:00 -07:00
Adam Abrams
fbe782534a [Keyboard] Add personal planck keymap (#13635) 2021-07-21 22:56:46 -07:00
Manassarn "Noom" Manoonchai
665af4fa8d [Keymap] narze/xd004 (#13634)
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-07-21 22:46:15 -07:00
Md. Mashur Shalehin Sakib
5b8d2b5cde [Keyboard] Add h0oni hotduck keyboard (#13609) 2021-07-21 22:39:36 -07:00
Ryan
b564ba13ee Fix API generation failure caused by GRS-70EC (#13631) 2021-07-21 19:30:29 +01:00
Ryan
c79bc7c909 Fix MATRIX_COLS for peranekofactory/tone (#13632) 2021-07-21 19:28:58 +01:00
Alabahuy
2b260bd846 fixed number layer on keymap (#13627) 2021-07-21 19:25:21 +01:00
gkeyboard
ca1aa56c7f [Keyboard] Fix iso layout compile error (#13628)
Fix iso layout compile erreo on qmk web.
2021-07-21 10:14:04 -07:00
Xelus22
afc629210c [Bug] VIA compile fixes (#13626) 2021-07-21 08:35:10 -07:00
Alabahuy
ec1a6f6b8b [Keyboard] add rartland with via support (#13585)
* add rartland and via support

* moved encoder adn oled to c file

* update c file
2021-07-20 22:28:05 -07:00
Andrew Kannan
ddc2766537 Fix vicious40 rules (#13623) 2021-07-21 15:05:10 +10:00
Weirdo
dbca44ae8d [Keyboard] Add Tiger910 (#12605)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-07-20 13:09:53 -07:00
Conor Burns
81cac8eec6 [Keyboard] 0xcb 1337 - Added keymap "conor" and fixed some minor stuff (#12744)
Co-authored-by: Drashna Jaelre <drashna@live.com>
2021-07-20 13:07:53 -07:00
kb-elmo
c1ba35363d [Keyboard] Added Kineticlabs Emu (#12968) 2021-07-20 10:48:17 -07:00
Paul Ewers
3591312fa3 [Keymap] Updates to personal Drop ALT keymap (#13058) 2021-07-20 10:46:52 -07:00
StefanGrindelwald
42ac7c0541 [Keyboard] Add Momoka ergo (#13127)
Co-authored-by: precondition <57645186+precondition@users.noreply.github.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-07-20 10:46:29 -07:00
gkeyboard
8c526703f8 [Keyboard] Update lm60n.h (#13249) 2021-07-20 10:43:44 -07:00
sekigon-gonnoc
c6698cfce3 [Keyboard] Add keyboard GRS-70EC (#11296) 2021-07-20 10:24:22 -07:00
aydenvis
8f6867ce95 [Docs] Added note about no split support (#12512)
Currently, this feature isn't supported on splits, spent about an hour troubleshooting my board and firmware before asking, and turns out it's not in place. Note added to save others from this in the future.
2021-07-20 10:11:49 -07:00
FateEverywhere
16e52980c4 [Keyboard] Hard Light - Add keyboard, basic keymap (#12654)
Co-authored-by: ridingqwerty <george.g.koenig@gmail.com>
Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-07-20 09:58:39 -07:00
imchipwood
ec78f8bca2 [Keymap] Adding user code & keymaps for dumbpad & hotdox (#12924)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-07-20 09:40:54 -07:00
AlisGraveNil
4f880801ec [Keyboard] luggage rack (#12959) 2021-07-20 09:34:56 -07:00
lfgberg
9d523499af [Keyboard] add anomalykb a65i (#12967)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-07-20 09:34:18 -07:00
Andrew Kannan
388a4ae817 [Keyboard] Add Vicious40 to QMK (#12981)
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-07-20 09:19:26 -07:00
Carl-Fredrik Arvidson
3486870ee4 Adds Swedish Mac ISO and ANSI keymaps (#13055)
* Adds Swedish Mac ISO and ANSI keymaps

* Replaces NBSP with space

* Adds missing keys

* Remove duplicates

* Remove duplicates

* Update quantum/keymap_extras/keymap_swedish_osx_iso.h

Co-authored-by: Ryan <fauxpark@gmail.com>

* Update quantum/keymap_extras/keymap_swedish_osx_iso.h

Co-authored-by: Ryan <fauxpark@gmail.com>

* Update quantum/keymap_extras/keymap_swedish_osx_iso.h

Co-authored-by: Ryan <fauxpark@gmail.com>

* Update quantum/keymap_extras/keymap_swedish_osx_iso.h

Co-authored-by: Ryan <fauxpark@gmail.com>

* Change case and remove whitespace

* Update quantum/keymap_extras/keymap_swedish_osx_ansi.h

Co-authored-by: Ryan <fauxpark@gmail.com>

* Update quantum/keymap_extras/keymap_swedish_osx_ansi.h

Co-authored-by: Ryan <fauxpark@gmail.com>

* Update quantum/keymap_extras/keymap_swedish_osx_ansi.h

Co-authored-by: Ryan <fauxpark@gmail.com>

* Update quantum/keymap_extras/keymap_swedish_osx_iso.h

Co-authored-by: Ryan <fauxpark@gmail.com>

* Update quantum/keymap_extras/keymap_swedish_osx_iso.h

Co-authored-by: Ryan <fauxpark@gmail.com>

* Update quantum/keymap_extras/keymap_swedish_osx_iso.h

Co-authored-by: Ryan <fauxpark@gmail.com>

* Update quantum/keymap_extras/keymap_swedish_osx_iso.h

Co-authored-by: Ryan <fauxpark@gmail.com>

* Update quantum/keymap_extras/keymap_swedish_osx_iso.h

Co-authored-by: Ryan <fauxpark@gmail.com>

* Update quantum/keymap_extras/keymap_swedish_osx_iso.h

Co-authored-by: Ryan <fauxpark@gmail.com>

* Update quantum/keymap_extras/keymap_swedish_osx_ansi.h

Co-authored-by: Ryan <fauxpark@gmail.com>

* Update quantum/keymap_extras/keymap_swedish_osx_ansi.h

Co-authored-by: Ryan <fauxpark@gmail.com>

* Fix uppercase

* Update quantum/keymap_extras/keymap_swedish_osx_ansi.h

Co-authored-by: Ryan <fauxpark@gmail.com>

* Update quantum/keymap_extras/keymap_swedish_osx_ansi.h

Co-authored-by: Ryan <fauxpark@gmail.com>

* Update quantum/keymap_extras/keymap_swedish_osx_ansi.h

Co-authored-by: Ryan <fauxpark@gmail.com>

* Add specific files for Swedish Pro

* Update quantum/keymap_extras/keymap_swedish_osx_iso.h

Co-authored-by: Ryan <fauxpark@gmail.com>

* Update quantum/keymap_extras/keymap_swedish_osx_iso.h

Co-authored-by: Ryan <fauxpark@gmail.com>

* Update quantum/keymap_extras/keymap_swedish_osx_ansi.h

Co-authored-by: Ryan <fauxpark@gmail.com>

* Update quantum/keymap_extras/keymap_swedish_osx_ansi.h

Co-authored-by: Ryan <fauxpark@gmail.com>

* Update quantum/keymap_extras/keymap_swedish_osx_ansi.h

Co-authored-by: Ryan <fauxpark@gmail.com>

* Update quantum/keymap_extras/keymap_swedish_osx_ansi.h

Remove whitespace

Co-authored-by: Ryan <fauxpark@gmail.com>

* Update quantum/keymap_extras/keymap_swedish_osx_ansi.h

Co-authored-by: Ryan <fauxpark@gmail.com>

* Update quantum/keymap_extras/keymap_swedish_pro_osx_ansi.h

Co-authored-by: Ryan <fauxpark@gmail.com>

* Update quantum/keymap_extras/keymap_swedish_osx_iso.h

Co-authored-by: Ryan <fauxpark@gmail.com>

* Update quantum/keymap_extras/keymap_swedish_osx_iso.h

Co-authored-by: Ryan <fauxpark@gmail.com>

Co-authored-by: Ryan <fauxpark@gmail.com>
2021-07-20 09:16:17 -07:00
Ryan
7ea1b97785 Fix CRLF in xbows/knight:via config.h (#13614) 2021-07-20 14:04:36 +01:00
projectcain
815c17b726 [Keyboard] Add vault45 (#13119)
* adding my keymap

* Update keyboards/projectcain/vault45/keymaps/default/config.h

Co-authored-by: Drashna Jaelre <drashna@live.com>

* Update keyboards/projectcain/vault45/keymaps/default/keymap.c

Co-authored-by: Drashna Jaelre <drashna@live.com>

* Update keyboards/projectcain/vault45/keymaps/default/keymap.c

Co-authored-by: Drashna Jaelre <drashna@live.com>

* Update keyboards/projectcain/vault45/vault45.c

Co-authored-by: Drashna Jaelre <drashna@live.com>

* Update keyboards/projectcain/vault45/keymaps/default/keymap.c

Co-authored-by: Drashna Jaelre <drashna@live.com>

* Update readme.md

* Update keyboards/projectcain/vault45/keymaps/default/config.h

Co-authored-by: Drashna Jaelre <drashna@live.com>

* Update keymap.c

* Update keyboards/projectcain/vault45/keymaps/default/config.h

Co-authored-by: Drashna Jaelre <drashna@live.com>

* Update keyboards/projectcain/vault45/readme.md

Co-authored-by: ridingqwerty <george.g.koenig@gmail.com>

* Update info.json

* Update keyboards/projectcain/vault45/vault45.c

Co-authored-by: ridingqwerty <george.g.koenig@gmail.com>

* Update keyboards/projectcain/vault45/readme.md

Co-authored-by: Ryan <fauxpark@gmail.com>

* Update keyboards/projectcain/vault45/readme.md

Co-authored-by: Ryan <fauxpark@gmail.com>

* Update keyboards/projectcain/vault45/readme.md

Co-authored-by: Ryan <fauxpark@gmail.com>

Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: ridingqwerty <george.g.koenig@gmail.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-07-19 22:28:32 -07:00
Ryan Boone
b887a1b995 [Keyboard] Add q4z keyboard (#13198)
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-07-19 22:27:18 -07:00
Uy Bui
1256915583 [Keyboard] Add we27 numpad (#13137)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-07-19 22:26:26 -07:00
Michael
35ee990bd0 [Keyboard] fix LED issue BOCC keyboard (#13175)
Co-authored-by: Michael Wamsley <wamsl@Michaels-MacBook-Pro.local>
2021-07-19 22:25:46 -07:00
yiancar
17933a884a [Keyboard] mnk1800s initial commit (#13444) 2021-07-19 22:24:40 -07:00
cole smith
6ab0593f44 [Keyboard] Boardsource technik (#13111)
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-07-19 21:04:43 -07:00
TerryMathews
9941cf0051 [Keyboard] PORTICO: add support for wt_rgb (#13241)
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-07-19 21:01:36 -07:00
ぺらねこ
8b0a996d5d [Keyboard] Add tone (#13337)
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Takeshi ISHII <2170248+mtei@users.noreply.github.com>
Co-authored-by: kakunpc <15257475+kakunpc@users.noreply.github.com>
2021-07-19 20:49:45 -07:00
Andrew Kannan
f439bfd543 [Keyboard] Aella Keyboard PCB (#13372)
Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-07-19 20:46:01 -07:00
Andrew Kannan
46b8230468 [Keyboard] Add CannonKeys Balance PCB to QMK (#13489)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-07-19 18:49:26 -07:00
npspears
8e30ec1eee [Keyboard] enable RGB underglow on heckerboards/axon40 (#13490)
This PCB uses RGB underglow LEDs. If the user doesn't want them, they can turn them off with a keycode.
2021-07-19 18:48:58 -07:00
Adrian L Lange
1105f2eb47 [Keymap] Update bface p3lim keymap (#13582) 2021-07-19 18:48:00 -07:00
X-Bows Tech
5ee5280fa1 [Keyboard] Update the XBows/Knight keyboard (#13541)
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-07-19 18:28:50 -07:00
Daegara
10905a6500 [Keyboard] CU65 layout update (#13589) 2021-07-19 17:52:19 -07:00
bomb
44a8ad265c [Keyboard] Repaired melgeek/mj63/ RGB lamp driver problem (#13579) 2021-07-19 17:52:00 -07:00
Giorgi Chavchanidze
8bc8eadaf9 [Keymap] Orthon keymap for idobo (#13584)
Co-authored-by: Giorgi Chavchanidze <giorgi@vivaldi.com>
2021-07-19 17:32:20 -07:00
Suschman
7e698c71cd Six Pack and ortho_ layout updates (#13587)
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Suschman <suschman@gmail.com>
2021-07-19 17:30:09 -07:00
James Young
046429fa87 Knobgoblin: rename ortho keymap to default (#13592)
Keyboard did not previously have a `default` keymap.
2021-07-19 17:26:34 -07:00
James Young
4b55b7f852 converter/periboard_512: add Configurator layout data (#13600) 2021-07-19 17:06:45 -07:00
James Young
58f9321a77 fluxlab zplit: keymap restructuring (#13599) 2021-07-19 17:05:47 -07:00
Xelus22
5b6780f999 [Keyboard][Bug] Constellation Rev2 (#13595) 2021-07-19 17:04:14 -07:00
James Young
07ae72ea6b LazyDesigners Bolt: move via keymap to keymaps directory (#13581) 2021-07-17 17:41:29 -07:00
James Young
876f861715 Discipline layout macro/Configurator fixes (#13574)
* use human-friendly formatting in info.json

* move layout macro aliases to info.json

* correct and complete layout data

Corrects the layout data for a few layouts, adds the missing data, and renames some of the layout macros.

- rename LAYOUT_wkl_ansi_2_right_mods to LAYOUT_65_ansi_wkl
- rename LAYOUT_wkl_ansi_3_right_mods to LAYOUT_65_ansi_lwkl
- rename LAYOUT_wkl_iso_2_right_mods to LAYOUT_65_iso_wkl
- rename LAYOUT_wkl_iso_3_right_mods to LAYOUT_65_iso_lwkl
2021-07-17 16:25:56 -07:00
James Young
26e64f4fd3 ACR60 Refactor (#13575)
* modernize acr60.h

- use #pragma once include guard
- add license header
- use four-space indent
- use QMK three-character notation for layout macro arguments

* human-friendly format info.json

* remove `key_count` keys from info.json

* rename LAYOUT_2_shifts to LAYOUT_all

* move LAYOUT_all to top

* use QMK three-character notation in info.json

* refactor default keymap

- add license header
- remove third layer (does nothing)
- replace Shift-Escape keycode with KC_GESC
- use LAYOUT_all macro instead of LAYOUT

* modernize readme.md

- update header
- convert metadata section to list
- add flashing and bootloader jump instructions
- update Docs links

* use #pragma once include guard in config.h

* update LED Indicator API

* add license headers
2021-07-17 16:17:48 -07:00
James Young
ca0e7e7bd9 Cutie Club Giant Macro Pad: add info.json (#13576) 2021-07-17 10:16:20 -07:00
James Young
b127180c0c Xelus Akis Configurator Fixes (#13577)
* correct layout macro references

The keyboard's header file and info.json referenced different layout macro names.

* correct layout data

Insert an object for the Non-US Backslash key, which was previously missing.
2021-07-17 01:43:02 -07:00
Takeshi ISHII
d26537acc1 remove RGBLIGHT_H_DUMMY_DEFINE macro from rgblight.h (#13569) 2021-07-17 12:13:16 +09:00
Dasky
932a67ced2 Limit RGB brightness for crkbd when not defined (#13568) 2021-07-16 12:16:06 -07:00
Ryan
6c550cc7f7 Improve driver installation docs (#13562) 2021-07-17 02:49:33 +10:00
lukeski14
89eeb4987c adding tw40 via support (#13032) 2021-07-17 02:42:50 +10:00
Oliver Granlund
455a988aa6 [Keyboard] Neito + my DZ60 keymap tweaks (#11773) 2021-07-16 09:39:35 -07:00
shela
6cc03dd30a Remove unwanted notes (#13563) 2021-07-16 09:37:49 -07:00
Joel Challis
366be0f7e9 Migrate arm_atsam print logic to use common framework (#13554) 2021-07-16 17:08:34 +01:00
Takeshi ISHII
5fda0e2c04 remove #include "rgblight.h" when defined(RGB_MATRIX_ENABLE) from quantum.h (#13555) 2021-07-16 12:54:56 +09:00
Andre Brait
c330fa725d Set some default configurations for GMMK Pro (#13219)
* Set some default configurations for GMMK Pro

* Remove FORCE_NKRO to avoid issues with KVMs
2021-07-16 09:06:23 +10:00
bomb
68b1ef2d1d [Keyboard] correct the info.json for qmk configurator and add two empty layers for via (#13552) 2021-07-15 09:54:58 -07:00
Zach White
9d0b7ab9b9 [keyboard] Clueboard 2x1800 2021 Support (#13220)
* 2x1800 2021

* add support for writing a whole frame at a time

* improvements

* wip

* fix scrolling

* small tweak

* add a buffer that's larger than the display

* add the start of a font

* working upper and lower case letters

* add qmk animation

* integrate the message sign into the qmk task system

* add encoder defaults

* add MAX7219_LED_CUSTOM to config.h

* tweaks

* remove unneeded keymaps

* add a keymap showing how to control the signboard

* cleanup

* cleanup

* add a way to disable the startup test

* make it easier to define options at the keymap level

* Fix define names

Co-authored-by: Greg Cochard <gcochard@users.noreply.github.com>

* Apply suggestions from gcochard

Co-authored-by: Greg Cochard <gcochard@users.noreply.github.com>

* feedback from noroads

* format info.json

Co-authored-by: Greg Cochard <gcochard@users.noreply.github.com>
2021-07-14 21:24:15 -07:00
mechlovin
18c6e1d46d [Keyboard] Add Serratus PCB (#13281)
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-07-14 13:55:52 -07:00
Koobaczech
867d60bd64 [Keyboard] Tidying up my projects and subprojects (#13289)
Co-authored-by: Erovia <Erovia@users.noreply.github.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Ethan Madden <maddene@madden.ninja>
2021-07-14 13:55:12 -07:00
Ryan
99f637e82c Fix some RGB Matrix-enabled keymaps referring to RGBLight mode (#13509) 2021-07-15 03:50:09 +10:00
Zach White
ffdfe3798b switch to qmk-dotty-dict (#13460) 2021-07-14 09:08:48 -07:00
mechlovin
1c9af238dc correct data info.json (#13544)
rouge87 and rogue87
2021-07-14 08:46:44 -07:00
bomb
9c4916e2e8 [Keyboard] Add MelGeek MJ6xy which is a 60% keyboard that support mul… (#13494)
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-07-14 08:39:54 -07:00
James Young
dd5ead676b Traveller handwired layout macro refactor (#13539) 2021-07-13 21:28:56 -07:00
James Young
70efc82c1c Lucid Phantom soldered: layout macro touch-up (#13540) 2021-07-13 21:27:11 -07:00
Albert Y
b29179de1a RGB Matrix support for Scylla (#13415)
Co-authored-by: filterpaper <filterpaper@localhost>
2021-07-13 21:26:00 -07:00
Joel Challis
ef8267d6a7 Refactor Drop boards to custom matrix lite (#13468) 2021-07-13 21:07:33 -07:00
Ian Klug
6cdba3a437 [Keyboard] Add ianklug grooveboard (#13536)
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-07-13 21:04:14 -07:00
Anton
2fd4595955 [Keyboard} Add ISO support for the GMMK Pro (#13532)
* Added iso layer support for the GMMK Pro iso version

* Adjusted the mapping

* aligning with best practises
* aligning with comments from PR

* Added iso layout to info.json
2021-07-13 16:50:17 -07:00
James Young
d4399172d3 Ortho 5x14 handwired info.json correction (#13538)
* ortho5x14 handwired: correct info.json data

Last key was incorrectly positioned.

* fix readme typo
2021-07-13 14:15:38 -07:00
James Young
a3d60464ef 4pplet AEKISO60 keymap/macro touch-up (#13528)
Moves the ISO Enter keycode to the home row for more consistency with the rest of QMK. Also grid-aligns the keycodes and adds a block comment for the layout macro.
2021-07-13 14:04:22 -07:00
James Young
555a449488 Ergoarrows info.json touch-up (#13537)
* human-friendly formatting

Add line breaks between rows and halves.

* fix rounding issues

Fixes issues with y-offset values due to rounding in KLE.

* remove layout dead space; re-mirror halves

Removes the empty white space from the layout, and aligns the keys on the right half so they are a mirror of the left half.
2021-07-13 13:44:01 -07:00
AnthonyL
3cd6cb65bc [Keyboard] Montex add VIA support and keymap. (#13488)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Anthony Lowery <anthony.lowery@unity3d.com>
2021-07-13 10:11:02 -07:00
Cosmin
64e6ba0211 [Keyboard] fixes and additions to the Marauder keyboard (#13462)
Co-authored-by: Drashna Jaelre <drashna@live.com>
2021-07-13 08:58:16 -07:00
James Young
bf70db479c AMJ60 Refactor (#13530)
* rename LAYOUT to LAYOUT_all

* refactor default keymap

- add license header
- use layer_names enum
- use LAYOUT_all macro
- update keymap to be more generic
- use QMK-native keycode aliases

* info.json: human-friendly formatting

* convert LAYOUT_iso into a proper LAYOUT_60_iso

* LAYOUT_all bugfix

In the physical sense, position k3d is to the left of k3c.

* rework LAYOUT_max into LAYOUT_60_ansi_split_bs_rshift

* remove LAYOUT_iso_splitrshift and iso_split_rshift keymap

* rework LAYOUT_hhkb into LAYOUT_60_hhkb

* amj60.h cleanup

- add license header
- use #pragma once include guard
- concatenate layout block comments
- remove unnecessary function headers

* add license header to amj60.c

* align config.h to QMK template

* align rules.mk to QMK template

* enable Community Layout support

* modernize readme.md

- add PCB image
- convert keyboard data to list
- add flashing and bootloader instructions
- update Docs links
2021-07-13 06:46:20 -07:00
Takeshi ISHII
b89abc402b [Keyboard] Update Symmetric70 keyboard prototype (#12707)
* update handwired/symmetric70_proto/matrix.c

* make keyboards/handwired/symmetric70_proto/promicro/

* add symmetric70_proto/debug_config.h, update symmetric70_proto/local_features.mk etc.

  set MATRIX_IO_DELAY macro
    make MTEST=mdelay0  symmetric70_proto/promicro:default:flash
    make MTEST=mdelay1  symmetric70_proto/promicro:default:flash
    make MTEST=mdelay10 symmetric70_proto/promicro:default:flash
    make MTEST=mdelay30 symmetric70_proto/promicro:default:flash
  set DEBUG_MATRIX_SCAN_RATE_ENABLE yes
    make MTEST=scan symmetric70_proto/promicro:default:flash
  set MATRIX_DEBUG_DELAY and MATRIX_IO_DELAY macro
    make MTEST=matrix_debug_delay,mdelay0 symmetric70_proto/promicro:default:flash
  set MATRIX_DEBUG_SCAN
    make MTEST=matrix_debug_scan symmetric70_proto/promicro:default:flash

* add symmetric70_proto/matrix_debug/readme.md

* update symmetric70_proto/matrix_debug/readme.md

* update handwired/symmetric70_proto/readme.md

* update handwired/symmetric70_proto/readme.md

* update handwired/symmetric70_proto/*/readme.md

* add handwired/symmetric70_proto/matrix_fast/

* update handwired/symmetric70_proto/matrix_fast/readme.md

* fix typo in handwired/symmetric70_proto/matrix_fast/readme.md

* update config.h under handwired/symmetric70_proto/promicro

* add Proton C support to handwired/symmetric70_proto

* add handwired/symmetric70_proto/proton_c/readme.md

* add promicro/*/readme.md proton_c/*/readme.md

* update handwired/symmetric70_proto/proton_c/proton_c.c

support MATRIX_IO_DELAY_DEFAULT for testing.

* Added another implementation of 'adaptive_delay'.

* update symmetric70_proto/local_features.mk

* update symmetric70_proto/matrix_fast/gpio_extr.h

* add matrix_output_unselect_delay_ports()

* add MTEST=adaptive_delay_fast option

* update symmetric70_proto/matrix_debug/readme.md

* update symmetric70_proto/matrix_fast/readme.md

* update symmetric70_proto/matrix_debug/readme.md

* Erase garbage

* fix symmetric70_proto/proton_c/proton_c.c

* improve adaptive_delay_fast in symmetric70_proto/matrix_debug/matrix.c

* update symmetric70_proto/matrix_debug/readme.md

* fix symmetric70_proto/matrix_debug/readme.md

* Update keyboards/handwired/symmetric70_proto/proton_c/rules.mk

Co-authored-by: Ryan <fauxpark@gmail.com>

* Update keyboards/handwired/symmetric70_proto/proton_c/rules.mk

Co-authored-by: Ryan <fauxpark@gmail.com>

* Update keyboards/handwired/symmetric70_proto/local_features.mk

Co-authored-by: Nick Brassel <nick@tzarc.org>

* Update keyboards/handwired/symmetric70_proto/local_features.mk

Co-authored-by: Nick Brassel <nick@tzarc.org>

* Update keyboards/handwired/symmetric70_proto/matrix_debug/matrix.c

Co-authored-by: Nick Brassel <nick@tzarc.org>

* Update keyboards/handwired/symmetric70_proto/matrix_debug/matrix.c

Co-authored-by: Nick Brassel <nick@tzarc.org>

* Update keyboards/handwired/symmetric70_proto/local_features.mk

Co-authored-by: Nick Brassel <nick@tzarc.org>

* Update keyboards/handwired/symmetric70_proto/matrix_debug/matrix.c

Co-authored-by: Nick Brassel <nick@tzarc.org>

* Update keyboards/handwired/symmetric70_proto/matrix_debug/readme.md

Co-authored-by: Nick Brassel <nick@tzarc.org>

* Update keyboards/handwired/symmetric70_proto/matrix_debug/readme.md

Co-authored-by: Nick Brassel <nick@tzarc.org>

* Update keyboards/handwired/symmetric70_proto/matrix_debug/readme.md

Co-authored-by: Nick Brassel <nick@tzarc.org>

* Update keyboards/handwired/symmetric70_proto/matrix_fast/matrix_config_expand.c

Co-authored-by: Nick Brassel <nick@tzarc.org>

Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Nick Brassel <nick@tzarc.org>
2021-07-13 18:14:27 +09:00
James Young
6b6ee5fa28 1UP Keyboards 1UP60HTE layout macro touch-up (#13529)
* rename LAYOUT_tsangan to LAYOUT_60_tsangan_hhkb

... and enable Community Layout support.

* use four-space indent and QMK-native keycode aliases

* rules.mk touch-up

- remove Bootloader selection header comments
- unify Build Options comment header to QMK template
- align inline comments

* readme.md touch-up

- convert metadata to list
- add Flashing command

* move layout macro alias to info.json

* apply friendly formatting to info.json

* restore badger keymap to previous (don't edit user keymap)
2021-07-13 00:18:07 -07:00
James Young
92a029d6f3 Ergonomic Vertical Keyboard (EVK) handwired info.json touch-up (#13527)
* scale layout data

Seems the KLE data that was imported to make the original file was scaled 1.25x. This commit removes the scaling.

* human-friendly formatting

Insert line breaks between physical layout rows.

* remove instances where width or height is set to 1

The width and height of a key is defaulted to 1 if not provided by the JSON data, so there's no reason to set it manually.
2021-07-12 23:44:56 -07:00
James Young
7d2f70f398 Checker Boards NOP60 touch-up (#13526)
* apply human-friendly formatting to info.json

* fix JSON tree errors in info.json

* rename layout macros

- rename LAYOUT_2x3u to LAYOUT_60_tsangan_hhkb_split_space
- rename LAYOUT_7u to LAYOUT_60_tsangan_hhkb

* rename 2x3u keymap to default
2021-07-12 23:32:54 -07:00
James Young
8f0bf52b25 ID67 codebase touch-up (#13521)
* correct layout data

Fix incorrect key sizes/positions.

* rename LAYOUT to LAYOUT_65_ansi_blocker

* tweak human-friendly formatting for info.json

Add new lines for new rows.

* adjust keycode alignment in via keymap

* clean up extra lines in readme file

* enable 65_ansi_blocker Community Layout support

* clean up rules.mk

Aligns the inline comments.
2021-07-12 10:14:18 -07:00
Albert Y
c024acd752 [Keyboard] RGB Matrix support for TBK Mini (#13506)
Co-authored-by: filterpaper <filterpaper@localhost>
2021-07-12 08:52:32 -07:00
Kwabena Aduse-Poku
6b8168c378 [Keyboard] Add Bloop65 (#13388)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-07-12 00:23:33 -07:00
jackytrabbit
20a28d6752 [Keyboard] Update lazydesigners/the60/rev2/rev2.h (#13505)
Update lazydesigners/the60/rev2/rev2.h
2021-07-11 09:42:38 -07:00
Rys Sommefeldt
b71ee47c44 [Keyboard] CapsUnlocked CU7 (#13429)
Co-authored-by: Drashna Jaelre <drashna@live.com>
2021-07-11 09:42:19 -07:00
Drashna Jaelre
4f3a4eca97 [Keymap] Fix Corne Via Layout properly (#13518) 2021-07-11 08:50:18 -07:00
James Young
0453b61e1a [Keyboard] Wuque Studio Ikki68 Aurora codebase touch-up (#13510) 2021-07-11 08:47:21 -07:00
Takeshi ISHII
877e81f963 Fixed the Helix keymap 'fraanrosi' compile issues (#13514)
According to `helix/rev2/keymaps/fraanrosi/readme.md`, this keymap should be compiled with the following command:

```
make helix/rev2/under:fraanrosi
```

Therefore, when compiling all helix keymaps with the following command, an error occurs when compiling `fraanrosi`.

```
make helix:all
```

Therefore, add `LED_UNDERGLOW_ENABLE = yes` to `keymaps/fraanrosi/rules.mk` to suppress the error.
2021-07-11 16:51:45 +09:00
Fredrik Salomonsson
0a8accae06 [Keymap] plattfot - Keymap updates for Kyria (#13449)
- Major change in the keymap to work with EurKey. Which relaxes some
  constraints it had before when it had to take in consideration two
  layouts.

  With this the parenthesis can be moved to a better location instead
  of being in the top right corner.

  This also allows esc, del and rctrl to be moved to the base layer.

  Only downside is that ctrl+lalt needed to be removed and instead
  AltGr takes it's place. Add rctrl on right thumb cluster to
  compensate for this which need some reorganization on the thumb
  cluster.

- Split the symbol and function keys layer into two layers, one for
  each hand. Make it easier to press symbols and function keys.

- Add some symbols specific for the EurKey layout.

- Change from running C-<tab> S-C-<tab> to page up/down for the right
  rotary. As holding ctrl and using page up/down works the same in
  firefox. Which allows the rotary to be useful for other things.

- Move scroll lock and insert to right rotary.

- Introducing close tap (CLO_TAP), which is a combination of the
  double tap feature and my macros. E.g. pressing CLO_TAP and ( will
  generate ()←. Which removes the need of the macros and makes it more
  useful than DBL_TAP as it now saves me some keypresses. CLO_TAP exist
  on both the left and right hand layers to make it easy to use.

- Use text for the secondary oled, firmware is too big after rebasing
  on upstream master.

- Update image in the readme to reflect my new layout.
2021-07-10 22:37:28 -07:00
GG
2c6cff4cb7 [Keyboard] add new firewave ikki68_aurora (#13364)
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-07-10 22:08:26 -07:00
James Young
988942ce40 Clawsome Hatchback & SUV: fix improperly named keymap directories (#13508) 2021-07-10 17:35:27 +10:00
Drashna Jaelre
09474cbf04 Fix VIA compilation issues for RGB Matrix (#13503) 2021-07-10 02:32:56 +01:00
Zach White
baa65d2177 enable manual trigger for api data (#13000) 2021-07-09 09:10:45 -07:00
James Young
572a35d9a2 Mechmini V1 Refactor (#13498) 2021-07-09 19:40:59 +10:00
James Young
1e51bb39a3 nknl7en: correct key object order (#13482) 2021-07-08 10:58:42 -07:00
Takeshi ISHII
f44b48669d Updated docs/ja/feature_ps2_mouse.md. (#13472)
Changed following the change in the definition of `PS2_MOUSE_SCROLL_BTN_MASK` in the original document.
2021-07-08 18:47:39 +10:00
Takeshi ISHII
e10e67c9b9 [Update] Change Original TAGs of Japanese translations (#13473)
* Updated docs/ja/proton_c_conversion.md original tag.

* Updated docs/ja/other_vscode.md original tag.

* Updated docs/ja/feature_swap_hands.md original tag.

* Updated docs/ja/faq_general.md original tag.

* Updated docs/ja/feature_userspace.md original tag.

* Updated git co docs/ja/config_options.md original tag.
2021-07-08 18:47:09 +10:00
Takeshi ISHII
eab623f1ad [Docs] update Japanese translation of internals_gpio_control.md (#13401)
* Add 'Atomic Operation' section into docs/ja/internals_gpio_control.md

* Update docs/ja/internals_gpio_control.md

* Update docs/ja/internals_gpio_control.md

* Update docs/ja/internals_gpio_control.md
2021-07-08 18:46:28 +10:00
James Young
72540f7d83 Xelus Ninjin: rename LAYOUT_all to LAYOUT_tkl_ansi_tsangan; add info.json (#13477) 2021-07-07 11:28:11 +10:00
James Young
692d0268ca Kopibeng XT65: Layout Macro Refactor (#13476) 2021-07-07 11:27:23 +10:00
mfkiiyd
b976fcbb44 [Keyboard] Add poker87c and poker87d (#12810)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Water <mfkiiyd@163.com>
2021-07-06 18:06:39 -07:00
Blake
a0a57dc613 [Keyboard] Add new Elise, 65% Keyboard ANSI / ISO (#12782)
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>
2021-07-06 18:05:53 -07:00
Simon
dba3f0d1eb [Keyboard] Add bm65iso (#13400)
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-07-06 18:04:32 -07:00
gtips
09c4d536c3 [Keyboard] Add keyboard reviung5 (#13375) 2021-07-06 15:20:20 -07:00
KDon
c9c2916829 [Keyboard] Add kabedon98e (#13314) 2021-07-06 14:47:24 -07:00
Drashna Jaelre
792c4e7893 [Keyboard] Set reasonable defaults for Corne keyboard (#13440)
* [Keyboard] Set reasonable defaults for Corne keyboard

* Add note about bootmagic

* Make bootmagic config super weak

* cleanup

* Apply suggestions from code review

* Update keyboards/crkbd/readme.md
2021-07-06 10:47:26 -07:00
Kuba Tyszko
acf7de7a52 /bin/bash to /usr/bin/env bash (#13422) 2021-07-06 07:56:13 -07:00
Ryan
9ce6808015 Update MSG_PYTHON_MISSING (#13427) 2021-07-06 15:34:04 +10:00
David Luo
03a9baa44f [Keyboard] fix encoder_update_user for nullbitsco/nibble (#13451) 2021-07-05 10:15:24 -07:00
Ryan
4c1c112a16 Traveller cleanup (#13441)
* Traveller cleanup

* Update keyboards/handwired/traveller/info.json

Co-authored-by: Joel Challis <git@zvecr.com>

Co-authored-by: Joel Challis <git@zvecr.com>
2021-07-05 11:45:31 +01:00
James Young
eb7178b542 LatinPadBLE: correct info.json data (#13452)
* correct info.json data

Removes an extra key object, and corrects the layout macro reference.

* refactor rules.mk file

- remove invalid `LAYOUTS` rule
- edits the rules.mk file to more closely resemble the file from QMK's AVR template.

* additional rules.mk cleanup per fauxpark

Apply suggestions from code review
2021-07-05 03:30:34 -07:00
James Young
5d52d01825 Jabberwocky: adjust key positioning in Configurator (#13447)
* adjust key positioning in Configurator

Some of the keys were visually overlapping when rendered. Adjusted the key positioning to remove the overlaps.

* update readme.md

- fix a broken URL
- rewrite the Bootloader access instructions
- remove trailing whitespace
2021-07-05 03:07:24 -07:00
James Young
673a5b0ea2 Molecule: Layout Macro Refactor (#13453) 2021-07-05 14:11:53 +10:00
wxyangf
fa309df895 [Docs] added list of MIDI keycodes (#13159) 2021-07-04 17:34:20 -07:00
James Young
b73f8de10b correct Configurator layout data (#13448)
The object for the rotary encoder was not previously included in the layout data.
2021-07-04 23:40:31 +01:00
James Young
af083b41cd Yampad: add info.json (#13445) 2021-07-04 08:34:50 -07:00
Yon Nor
4d4cac2d07 [Keyboard] Add CX60 (#13402)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-07-03 20:24:20 -07:00
James Young
6d8fac5e2d Specskeys Configurator Bugfix and Refactor (#13439) 2021-07-03 20:13:50 -07:00
AnthonyL
3e04e22edb [Keyboard] IDOBAO ID67 (#13378)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Anthony Lowery <anthony.lowery@unity3d.com>
2021-07-03 19:54:33 -07:00
cole smith
400844453a [Keyboard] ortho boards from the technik gb (#13382)
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-07-03 18:06:05 -07:00
Drashna Jaelre
2161496d62 [Keyboard] Add soldered variant of Titan 65 keyboard. (#13270) 2021-07-03 16:48:51 -07:00
James Young
79751f5b15 Pisces: correct layout macro reference in info.json (#13410) 2021-07-03 09:44:15 -07:00
Manna Harbour
65f8da3034 [Keymap] Update Miryoku (#13307)
Fix reddit link

Duplicate open parenthesis next to close parenthesis on NSSL

Add customisation instructions

Add lily58

Add gergo
Co-authored-by: Jonathan Dayton <jonathandayton23@gmail.com>

Clean up LAYOUT macro formatting

Add alternative vi-style navigation layout

Add kyria

Add minidox

Change order of keyboards

Add iris

Expand TOC

Re-order userspace subheadings

Add atreus

Add customisation section

Add split_3x5_3 and split_3x6_3 layouts

Add for_science

Fix wrong paths in keyboard config.h and keymap.c headings

Fix keyboard ordering

Fix blank lines around headings

Add compatibility with new org-mode version.

Remove keyboards/crkbd now covered by layouts/split_3x6_3

Add Halmak

Alphabetise alternative alpha arrangements

Move build options out of base layer alphas headings

Add list of keyboards supporting split_3x5_3 layout

Enable Auto Shift and Retro Shift

Add Retro Shift (Auto Shift for Tap Hold via Retro Tapping)

Change kyria thumb key mapping

Add planck_mit layout

Remove alternative bottom row support from ortho_4x12

Remove minidox
 - Covered by split_3x5_3 layout

Add moonlander

Remove KC_ macros

Add 60_ansi layout

Add ortho_5x15 layout
Closes manna-harbour/qmk_firmware#5
Co-authored-by: Rob <rob@debank.tv>

Fix typo (manna-harbour/qmk_firmware#7)
Author: sonnius <sonnius@users.noreply.github.com>

Add redox_w (manna-harbour/qmk_firmware#8)
Author: Brian Romanko <hello@bromanko.com>
Co-authored-by: Manna Harbour <51143715+manna-harbour@users.noreply.github.com>

Add AUTO_SHIFT_NO_SETUP to reduce firmware size

Update image paths

Add instructions to checkout development branch

Add kyria extended thumbs option, change default, add KLE

Change clipboard keys
 - Change order to be mirror of windows bindings
 - Change default to use CUA bindings for Cut, Copy, and Paste, and Fun Cluster
bindings for Undo and Redo
 - Add alternative bindings
   - Fun Cluster (original miryoku bindings)
   - Mac
   - Windows
 - Change prefix for local macros from X_ to U_

Disable Retro Shift, enable Auto Shift for non-alphas

Revert "Add Retro Shift (Auto Shift for Tap Hold via Retro Tapping)"

Add Experimental Features section

Update miryoku image link

Update cover image link

Add dactyl_manuform/4x5

Add cutomisation examples

Add https to remote example

Fix dactyl_manuform/4x5 subset mapping

Add extended thumbs to ortho_4x12

Update Colemak Mod-DH naming
Closes manna-harbour/qmk_firmware#13

Add dactyl_manuform/5x6
Resolves manna-harbour/qmk_firmware#14
Co-authored-by: Sebastian Morales <sebastian.moralesd@gmail.com>

Add note on FORCE_LAYOUT
 - Needed to use EXTENDED_THUMBS on planck

Add parent directories to keyboard headings and re-order

Add keyboardio/atreus
Resolves manna-harbour/qmk_firmware#15

Add torn
Resolves manna-harbour/qmk_firmware#16
Author: Brian Romanko <hello@bromanko.com>
Co-authored-by: Manna Harbour <51143715+manna-harbour@users.noreply.github.com>

Change map to zip
 - Adds support for python3, still compatible with python2.
Resolves manna-harbour/qmk_firmware#10
Resolves manna-harbour/qmk_firmware#19
Co-authored-by: Ori <ori@oribarbut.com>

Add python-version

Add sofle

Add ergotravel

Add ortho_5x12

Add ortho_4x10

Add :main no header argument to C code blocks
resolves manna-harbour/qmk_firmware#11
resolves manna-harbour/qmk_firmware#12
Co-authored-by: RubioJr9 <u0893472@utah.edu>

Add flipped layers and inverted-T nav alternative layouts
 - Separate tap_table into alphas_table and thumbs_table
 - Add mode argument to table-layout-half
 - Remove layer_name
 - Rename layers
 - Add mods and clipboard to MBO and mirror
 - Add MIRYOKU_LAYERS=FLIP
 - Add MIRYOKU_NAV=INVERTEDT

Add layer diagrams

Update contact section

Update links for Bilateral Combinations and Retro Shift

Add description and no reverse angle option to 60_ansi layout

Update list of keyboards supporting community layouts
 - and example build command lines

Change moonlander thumb keys

Update list of keyboards supporting split_3x5_3

Add license to tangled C source files
2021-07-03 09:09:02 -07:00
yfuku
3b1506b741 [Keyboard] Add wings42 keyboard (#12734)
Co-authored-by: Drashna Jaelre <drashna@live.com>
2021-07-03 09:04:30 -07:00
Faehriss
bec74aec1b [Keyboard] Added LAYOUT_60_iso_split_rshift to ok60 (#12902)
added lines to support split right shift ISO in QMK configurator.
2021-07-03 08:18:21 -07:00
Jonavin
002d90b357 [Keymap] Jonavin merc additional encoder functionality (#13039)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Jonavin <=>
2021-07-03 08:13:41 -07:00
Xelus22
4b6af0a507 [Bug] Pachi RGB - fix rgb placement (#13428) 2021-07-03 08:02:54 -07:00
Jonavin
d068b7c097 [Keymap] gmmk pro keymap with numpad, enhanced encoder functionality and Win key lock (#13406)
Co-authored-by: Jonavin <=>
2021-07-03 01:36:38 -07:00
Jonavin
5878e86c8a [Keymap] Jonavin quefrency keymap add encoder functionality + 2tap Shift CAPSLOCK (#13376)
Co-authored-by: Jonavin <=>
2021-07-03 01:16:16 -07:00
Albert Y
fdf71f1aa7 [Docs] RGB Matrix Caps Lock and Layer indicator example (#13367)
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: filterpaper <filterpaper@localhost>
2021-07-03 01:07:01 -07:00
stanrc85
4b285d3f50 [Keymap] Add stanrc85 community layout (#13338) 2021-07-03 01:06:21 -07:00
Nick Abe
2ccca64514 [Keymap] 2Moons-JP Keymap Update (#13279)
Co-authored-by: Drashna Jaelre <drashna@live.com>
2021-07-03 01:00:34 -07:00
rate
0339467814 [Keyboard] Added pistachio rev2 (#13248)
Co-authored-by: Drashna Jaelre <drashna@live.com>
2021-07-03 00:59:52 -07:00
Nic Lake
7f41c5147b [Keymap] niclake - Keymap updates - Boardwalk updates & DZ60 create (#13245) 2021-07-03 00:59:30 -07:00
Rob Owens
c55bb3d478 [Keyboard] Add support for Idobao Montex (#13214)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-07-03 00:58:13 -07:00
X-Bows Tech
2af5d493e3 [Keyboard] Add X-Bows Knight_Plus Keyboard (#13221)
Co-authored-by: Drashna Jaelre <drashna@live.com>
2021-07-03 00:57:27 -07:00
Manassarn "Noom" Manoonchai
45dec4911c [Keymap] Add narze lily58 keymap & update my other keymaps (#13110)
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-07-03 00:50:32 -07:00
Ryan
06e0643541 Add "Ctrl+C to cancel" to "waiting for bootloader" messages (#13424) 2021-07-03 16:34:22 +10:00
Qiaowei Tang (Joel)
2ce8d26418 [Keymap] Think6.5v2 keymap with working caps-lock indicator (#12709)
Co-authored-by: Drashna Jaelre <drashna@live.com>
2021-07-02 23:31:32 -07:00
David Rambo
170de06475 [Keymap] Update personal keymaps, add Corne keymap, and update non-kc LAYOUT for Iris (#12273)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-07-02 22:30:32 -07:00
Dino Fizzotti
f51d929bd9 [Keyboard] Add FnRow v1 keyboard by dinofizz (#11817)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Dino Fizzotti <dinofizz@pop-os.localdomain>
2021-07-02 20:56:23 -07:00
Conor Burns
8bba77db0d added 0xCB Static (#13047)
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>
2021-07-02 19:38:53 +01:00
James Young
11a406f046 correct info.json data (#13409) 2021-07-02 14:12:05 +01:00
James Young
73dedb96f2 add maintainer value to info.json (#13411)
Configurator isn't using the data in this file, and I think this may be why...
2021-07-02 14:09:24 +01:00
Joel Challis
9f49ec51a1 Fix up recent checkerboards additions (#13414) 2021-07-02 14:00:55 +01:00
Xelus22
a8f6a36e1e [Bug] fix Dystopia.h comma (#13413) 2021-07-02 16:21:27 +10:00
Ryan
5046883531 Cleanup gitignore (#13390) 2021-07-02 16:08:34 +10:00
npspears
6db4b49fec add support for Axon40 and G_IDB60 (#13075)
* add support for Axon40

* add support for G_IDB60

* added bootloader reset instructions

* added bootloader reset instructions
2021-07-02 10:45:31 +10:00
Danny
db7fd6c3a1 Add missing Quefrency layouts for QMK Configurator (#13384)
* Reformat info.json using Prettier

* Add missing layouts needed for QMK Configurators
2021-07-01 12:39:16 -07:00
AfterThought
79a46708f8 [Keyboard] Adding Via support to the GON NerD60 (#13395) 2021-07-01 12:17:28 -07:00
Jakob Hærvig
bef73f44aa [Keymap] Add haervig userspace and keymaps (#13362) 2021-07-01 10:12:19 -07:00
Caleb Lightfoot
c275828ac2 Changed Yeehaw Default Keymap (#13341) 2021-07-01 20:47:43 +10:00
umi
57d9f01125 [Docs] update Japanese translation of other_eclipse.md (#12776)
* update other_eclipse.md translation

* update based on comment

* update based on comment
2021-07-01 18:22:48 +09:00
umi
a1582c4411 update Japanese translation of config_options.md (#12695)
* update config_options.md translation

* update config_options.md translation

* update based on comment

* update based on comment
2021-07-01 18:22:10 +09:00
s-show
397d388862 Translated 'feature_advanced_keycodes.md'. (#12454)
* Translated 'feature_advanced_keycodes.md'.

* Update docs/ja/feature_advanced_keycodes.md

Co-authored-by: shela <shelaf@users.noreply.github.com>

* Update docs/ja/feature_advanced_keycodes.md

Co-authored-by: shela <shelaf@users.noreply.github.com>

* Update docs/ja/feature_advanced_keycodes.md

Co-authored-by: shela <shelaf@users.noreply.github.com>

* Update docs/ja/feature_advanced_keycodes.md

Co-authored-by: shela <shelaf@users.noreply.github.com>

* Update docs/ja/feature_advanced_keycodes.md

Co-authored-by: shela <shelaf@users.noreply.github.com>

* Update docs/ja/feature_advanced_keycodes.md

Co-authored-by: shela <shelaf@users.noreply.github.com>

* Update docs/ja/feature_advanced_keycodes.md

Co-authored-by: shela <shelaf@users.noreply.github.com>

* Update docs/ja/feature_advanced_keycodes.md

Co-authored-by: shela <shelaf@users.noreply.github.com>

* Update docs/ja/feature_advanced_keycodes.md

Co-authored-by: shela <shelaf@users.noreply.github.com>

* Update docs/ja/feature_advanced_keycodes.md

Co-authored-by: shela <shelaf@users.noreply.github.com>

* Update docs/ja/feature_advanced_keycodes.md

Co-authored-by: shela <shelaf@users.noreply.github.com>

* Update docs/ja/feature_advanced_keycodes.md

Co-authored-by: shela <shelaf@users.noreply.github.com>

* Update docs/ja/feature_advanced_keycodes.md

Co-authored-by: shela <shelaf@users.noreply.github.com>

* Update docs/ja/feature_advanced_keycodes.md

Co-authored-by: shela <shelaf@users.noreply.github.com>

* Update docs/ja/feature_advanced_keycodes.md

Co-authored-by: shela <shelaf@users.noreply.github.com>

* Update docs/ja/feature_advanced_keycodes.md

Co-authored-by: shela <shelaf@users.noreply.github.com>

* Update docs/ja/feature_advanced_keycodes.md

Co-authored-by: shela <shelaf@users.noreply.github.com>

* Update docs/ja/feature_advanced_keycodes.md

Co-authored-by: shela <shelaf@users.noreply.github.com>

* Update docs/ja/feature_advanced_keycodes.md

Co-authored-by: shela <shelaf@users.noreply.github.com>

* Update docs/ja/feature_advanced_keycodes.md

Co-authored-by: shela <shelaf@users.noreply.github.com>

* update based on comment.

* update based on comment.

Co-authored-by: Takeshi ISHII <2170248+mtei@users.noreply.github.com>

* update based on comment.

Co-authored-by: Takeshi ISHII <2170248+mtei@users.noreply.github.com>

* update based on comment.

Co-authored-by: Takeshi ISHII <2170248+mtei@users.noreply.github.com>

Co-authored-by: shela <shelaf@users.noreply.github.com>
Co-authored-by: Takeshi ISHII <2170248+mtei@users.noreply.github.com>
2021-07-01 18:21:37 +09:00
s-show
882b90b729 [Docs] Japanese translation of docs/keycodes_basic.md (#11044)
* 'keycodes_basic.md' copied.

* Translation completed.

* update to "breakpoint_2021_05_29".

* Update docs/ja/keycodes_basic.md

Co-authored-by: shela <shelaf@users.noreply.github.com>

* Update docs/ja/keycodes_basic.md

Co-authored-by: shela <shelaf@users.noreply.github.com>

* Update docs/ja/keycodes_basic.md

Co-authored-by: shela <shelaf@users.noreply.github.com>

* Update docs/ja/keycodes_basic.md

Co-authored-by: shela <shelaf@users.noreply.github.com>

* Update docs/ja/keycodes_basic.md

Co-authored-by: shela <shelaf@users.noreply.github.com>

* update based on comment.

* update based on comment.

Co-authored-by: shela <shelaf@users.noreply.github.com>
2021-07-01 18:21:03 +09:00
James Young
e322462cd4 Illusion Rosa: correct layout macro names (#13387) 2021-07-01 01:24:06 -07:00
James Young
a001df5e80 FJLabs Midway60: physically arrange layout macro and fix info.json data (#13386) 2021-07-01 01:23:33 -07:00
James Young
1e809e28b7 Sanctified Dystopia: physically arrange layout macro (#13385)
Arranges the layout macro and keycodes to resemble the assembled keyboard.
2021-07-01 01:23:00 -07:00
Stefano Pace
c1813717a7 Updates for keymap: ut472/stefanopace (#13370) 2021-07-01 01:21:42 -07:00
Michael Stapelberg
2b8ad391ae [Keyboard] update debounce time on kint boards (#13351)
related to https://github.com/kinx-project/kint/issues/39
related to https://github.com/qmk/qmk_firmware/pull/12626
2021-07-01 01:07:37 -07:00
stanrc85
fb405c27ad [Keymap] RGB Timeout added to userspace (#13339) 2021-07-01 01:06:06 -07:00
kb-elmo
13533508e2 [Keyboard][Bug] Fix LED indicators on Skeletn87 (#13335) 2021-07-01 00:53:35 -07:00
Harshit Goel
4168e10c49 [Keyboard] Pteron36, open source 3x5_3 supporting layout (#13313) 2021-07-01 00:44:38 -07:00
Jesper Nellemann Jakobsen
54f429edd8 [Keymap] Create bingocaller keymap for DZ60RGB-ANSI (#13311)
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-07-01 00:42:10 -07:00
Shandon Anderson
d8c491954e [Keyboard] Added flygone60 rev3 (#13280)
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Sergey Vlasov <sigprof@gmail.com>
2021-07-01 00:29:30 -07:00
melonbred
cd68fd7e8d [Keyboard] mb44 - Update info.json and encoder (#13244) 2021-07-01 00:12:53 -07:00
Ryan
dc3896e31c Cleanup junk chars, part 4 (#13345) 2021-07-01 16:41:51 +10:00
Takeshi ISHII
8c982dba31 [Update] Change Original TAGs of Japanese translations (#13396)
* Updated docs/ja/how_a_matrix_works.md original tag.

* Updated docs/ja/api_overview.md original tag.

* Updated docs/ja/contributing.md original tag

* Updated docs/ja/coding_conventions_c.md original tag

* Updated docs/ja/reference_configurator_support.md original tag

* Updated docs/ja/reference_glossary.md original tag

* Updated docs/ja/api_docs.md original tag

* Updated docs/ja/feature_stenography.md original tag

* Updated docs/ja/documentation_templates.md original tag

* Updated docs/ja/faq_keymap.md original tag

* Updated docs/ja/understanding_qmk.md original tag
2021-07-01 14:04:38 +09:00
James Young
27d1e2909f Ergocheap handwired Layout Macro refactor (#13348)
* physically arrange layout macro

Arranges the layout macro and keycodes to resemble the assembled keyboard.

* update info.json data
2021-06-29 16:30:48 -07:00
jackytrabbit
2a07a87a7c Update lazydesigners/the40/the40.h (#13354)
Fix error in the40.h
2021-06-30 08:37:08 +10:00
nopunin10did
93e3e777d6 Jabberwocky quick fixes (#13369)
* cleaning up

* deleting to undelete

* Stub out defaults

* Jabberwocky firmware WIP

* Stubbing out keymap spacing

* Default keymap and layout updates

* start stubbing out JSON for configurator

* more WIP

* Update jabberwocky.h

* Add Readme

* Apply suggestions from code review

Co-authored-by: Drashna Jaelre <drashna@live.com>

* Fix layout capitalization

* Updates to personal and default keymaps

* Add instructions for jumping the bootloader

* Update keyboards/nopunin10did/jabberwocky/rules.mk

Co-authored-by: Ryan <fauxpark@gmail.com>

* Add easier ctrl-alt-del to my keymap

* Undo changes from other master

* Add back DYNAMIC_KEYMAP_LAYER_COUNT constant

* Fix readme markup to use list items

* Give my layout VIA compatibility

Co-authored-by: Rossman360 <rmontsinger@gmail.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-06-29 18:19:02 +01:00
Danny
5538bffb8e [Keyboard] Add Quefrency Rev. 4 (#13368) 2021-06-28 20:38:59 -07:00
Xelus22
de8939aa5e [Keyboard] fix encoder void to bool (#13334) 2021-06-28 20:30:39 -07:00
James Young
2b2e8bfdb7 Swiftrax Nodu handwired: layout macro sequence fix (#13329) 2021-06-28 20:24:26 -07:00
Xelus22
e475c5bf38 [Bug] Missing empty line at the end of file (#13374) 2021-06-29 11:54:32 +10:00
James Young
f7faa7bfd0 FJLabs BKS65 Solder Layout Macro Refactor (#13347)
* grid align layout macro and keymaps

* physically arrange layout macro, phase 1

* physically arrange layout macro, phase 2

* replace KC_PAUSE with KC_PAUS

Makes the grid alignment nice. :)

* rename LAYOUT_65_ansi to LAYOUT_all

The included layout macro isn't actually correct for QMK's 65% ANSI community layout.

* add an actual LAYOUT_65_ansi

This is a semi-educated guess as to this macro; it may be wrong.
2021-06-28 10:30:52 -07:00
Ryan
53ace430fe Doctor: print CLI version (#13356) 2021-06-27 13:21:53 +10:00
Ryan
cbe761ea16 Exent cleanup (#13353) 2021-06-27 05:07:44 +10:00
Joel Challis
c232882fda Allow configuration of USB_VBUS_PIN on chibios (#13342) 2021-06-26 11:48:48 +01:00
Zach White
848da57d6e do not automatically format json (#13320) 2021-06-25 22:47:48 -07:00
yiancar
ad3169f500 [Keyboard] Add NK1 (#13212)
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: yiancar <yiancar@gmail.com>
2021-06-25 21:42:09 -07:00
James Young
b1ea4842e3 FFKeebs Siris Configurator Layout Correction (#13328)
* physically arrange layout macro

Arranges the layout macro and keycodes to resemble the assembled keyboard.

* correct info.json data

Corrects the key sequence and positioning in info.json.
2021-06-25 21:27:37 -07:00
Gvalch-ca
234c129f1e [Keyboard] Add Gvalchca GA15.0 (#13114)
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-06-25 21:12:36 -07:00
Xelus22
8783d0c73d [Keyboard] Enable RGB Matrix VIA side for Pachi RGB (#13308) 2021-06-25 21:06:36 -07:00
Drashna Jaelre
79cc6ce2d0 [Keyboard] Bugfixes and Readme additions for PloopyCo devices (#13043) 2021-06-25 20:57:48 -07:00
James Young
6ef0419bb0 SENDYYeah Bevi: correct Configurator layout data (#13327) 2021-06-25 20:56:46 -07:00
James Young
7770a491f6 Nix Studio Oxalys80 Configurator Layout Data Correction (#13326)
* apply human-friendly formatting to info.json

* correct LAYOUT_all data

Corrects the layout data for the LAYOUT_all macro.
2021-06-25 20:30:48 -07:00
James Young
03791ed92a Draytronics Daisy Configurator Refactor (#13325)
* correct layout data

* use LAYOUT as layout macro name

The defined LAYOUT_daisy is functional, but Configurator expects LAYOUT through the info.json file. As the board only supports one layout according to the open-source PCB files, use LAYOUT as the defined macro per QMK guidelines.

* add layout macro alias
2021-06-25 20:24:42 -07:00
James Young
39b1dc7672 GON Nerd60 Refactor (#13343) 2021-06-26 11:53:16 +10:00
Ryan
93bd34c6d3 Cleanup junk chars, part 3 (#13332) 2021-06-26 02:38:21 +01:00
Ryan
92a9fba353 Cleanup junk chars, part 2 (#13284) 2021-06-25 13:51:44 +10:00
Zach White
7c2bd4dd88 add doctor to safe_commands (#13324) 2021-06-24 20:31:46 -07:00
Nathan_Blais
61ec0023c4 Bop added via & unicode support (#13122)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-06-25 09:15:04 +10:00
shela
ca2259d986 Update Japanese document (#10673) 2021-06-24 23:59:30 +09:00
shela
a53128e958 [Docs] Update Japanese faq documents (#12842)
* Update Japanese faq documents.

* Update Japanese summary.

* Update docs/ja/faq_debug.md

Co-authored-by: s-show <s1shimz@gmail.com>

* Update docs/ja/faq_misc.md

Co-authored-by: s-show <s1shimz@gmail.com>

* Apply suggestions from code review

Co-authored-by: s-show <s1shimz@gmail.com>
2021-06-24 21:54:54 +09:00
shela
a726ada59b Update Japanese newbs_getting_started.md (#12841) 2021-06-24 21:53:47 +09:00
James Young
36d8d7df5a SAM SG81M Layout Macro Rework (#13291)
* grid-align layout macro and keymaps

* physically align layout macro and keycodes

Arrange the layout macro and keycodes to resemble the assembled keyboard.

* update info.json data

Updates the info.json data to be correct to the new layout macro.
2021-06-23 21:33:47 -07:00
Zach White
42f4528a45 expand the size of the textpad to allow for taller keyboards (#13319) 2021-06-23 20:35:36 -07:00
Will Wolff-Myren
2d60444df1 [Keymap] gmmk/pro: willwm (#12952)
* Create willwm keymap:
Modified GMMK Pro Default + VIA + Space-Cadet Unicode

* Temporarily remove unicode map calls; try using UNICODE_ENABLE instead

* RGBLIGHT_ENABLE = yes

* ...on second thought, don't enable RGBLIGHT =P

* Move Del to PrtSc, add Home, move PrtSc to Fn+Home

* willwm: Add keymap.json and readme.md

* willwm: Add layer0/layer1 images

* willwm: Update readme.md with info from PR #12952

* willwm: Update to better match template
(https://docs.qmk.fm/#/documentation_templates)
2021-06-24 12:54:44 +10:00
Ramon Imbao
02fcb1069a Add the SquishyTKL and SquishyFRL (#12764)
* Add SquishyTKL

* Add SquishyTKL-FRL

* Adjust readme.md and info.json

* Add JIS support for SquishyTKL

* Fix JIS layout macro

* Fix via layout and keymap

* Migrate SquishyTKL to STM32duino bootloader

* Make chibios conf files generic

* Change TKL via keymap to match number of layers

* Apply chibios changes to FRL as well

* Adjust README regarding flashing with dfu-util

* Add license and header guard
2021-06-24 12:53:38 +10:00
obosob
3cc037d8d8 Add "steal this keyboard" keybaord (#12898) 2021-06-24 12:51:15 +10:00
kb-elmo
543dca0d89 Added Skeletn87 PCBs (#12922)
* add Skeletn87

* update skeletn87 files

* update skeletn87 soldered

* update readme image

* update readme (again)
2021-06-24 12:48:43 +10:00
18438880
fc06c143b1 Latin6rgb use IS31FL3731 IC (#11819)
* Create config.h

* Add files via upload

* Create keymap.c

* Create keymap.c

* Create rules.mk

* Update readme.md

* Update keyboards/latin6rgb/rules.mk

Co-authored-by: Drashna Jaelre <drashna@live.com>

* Update keyboards/latin6rgb/rules.mk

Co-authored-by: Drashna Jaelre <drashna@live.com>

* Update keymap.c

* Update keymap.c

* Update config.h

* Update config.h

Co-authored-by: Drashna Jaelre <drashna@live.com>
2021-06-24 12:46:03 +10:00
s-show
344b1b4395 Add ID to "## Advanced Macros". (#12830) 2021-06-24 12:32:51 +10:00
James Larkby-Lahet
b354ce94fe enable mouse keys in handwired/dactyl keymaps that use them (#12586) 2021-06-24 12:28:33 +10:00
James Young
fb78447ad6 Monstargear XO87 Solderable Configurator Refactor (#13317) 2021-06-24 12:27:21 +10:00
sendmmsg
d45a24a954 bug if macro definition and not integer is used to identify layers (#12648) 2021-06-24 12:27:10 +10:00
James Young
480b7e595e Studio Kestra Nue: fix info.json layout macro reference (#13318)
Corrected the info.json file to reference LAYOUT_all instead of LAYOUT.
2021-06-24 12:26:55 +10:00
gtips
8030f73f44 [Keymap]Add Keymap reviung34rgb (#12656)
* [Keyboard] Add keyboard Reviung41

* Modified files

* deleted keyboards/reviung41/keymaps/default/config.h

* modified keyboards/rebiung41/keymaps/default/keymap.c

* modified keyboards/reviung41/readme.md

* modified keyboards/reviung41/readme.md

* modified keyboards/reviung41/readme.md

* Update readme.md

Change the image photo of readme.md.

* [Keyboard] Add reviung61

* Update readme.md

* fix keyboards/reviung61/ and add keymap default_rgb

* fix keyboards/reviung61/info.json

* fix keyboards/reviung61/info.json

* remove keyboards/reviung61/keymaps/default/config.h

* [keyboard] Fixed readme.md for reviung39 and 61.

* add keymap keyboards/reviung34/keymaps/default_rgb/ ,default_rgb2u
2021-06-24 12:26:31 +10:00
Suryan Isaac
563de365a7 Added a custom keymap for XD60 (#12736)
* Added custom Keymap

* Added Images to README

* Added Layer 1 Keys for RGB control

* Added GPL2+ License to keymap.c

* Removed extra json files and added a few lines to README
2021-06-24 12:24:56 +10:00
Antoine R. Dumont
f5cecffab2 keymap/ardumont: Fix substitute keycode reset step (#12675)
It so happens that when releasing the control key prior to the main key (C-h, C-i, C-n,
...), the substituted keycode was continuously sent in a loop after that (even when
releasing said key). The workaround so far was to type any other key to stop the loop.

This commit fixes such behavior by resetting the substitution keycode sent when the ctrl
released situation conditional is detected (and that the substitution keycode was on).
2021-06-24 12:24:31 +10:00
Jose Luis Adelantado Torres
5e86a11a8d [keymap] Added new oled_status keymap to nullbitsco/nibble keyboard (#12824)
* Added new oled_status keymap to nullbitsco/nibble keyboard

* rm: Removed font from src imports
2021-06-24 12:24:11 +10:00
Robert Verst
3099630a11 [Keymap] Feature/extend keymap (#12778)
* Add F13-F24

* Add nvim macros

* Add debug switch

* Switch mode every time, add debug print
2021-06-24 12:23:43 +10:00
T.Shinohara
dee50c9cc8 [Keymap] fix key code. numpad to numkey (#12808)
* add keyboard new macro pad "Kuro"

* change main readme.md

* remove not used code from default/keymap.c

* Remove unnecessary code

* Supports info.json

* removed back slash and not used functions.

* update at product link. add japanese messages.

* Merge All

* [Shiro]Add MacKeymap

* Change key code. Numpad→Numkey
2021-06-24 12:23:00 +10:00
Jay Greco
0ec6d6daf7 Update oled_bongocat to match VIA keymap (#12875)
* Update to match VIA keymap

* Update with feedback from PR
2021-06-24 12:22:42 +10:00
Mike Tsao
909d9c228f Switch default layout to standard TKL; add custom (#12818) 2021-06-24 12:22:07 +10:00
Tyler Thrailkill
4a15eb593d snowe keymap/userspace and Ocean Dream animation (#12477)
* Add snowe keymap/userspace & Ocean Dream animation

* Add snowe userspace with keymap wrappers and two animations
* Add crkbd keymap
* Add Ocean Dream animation, a cool full screen animation with:
* * twinkling stars
* * meteor showers
* * ocean waves
* * island with palm tree
* * moon with phases

* Disable Luna so travis build succeeds.

* Add more copyrights

* Add pragma once to keycode_aliases.h

Co-authored-by: Drashna Jaelre <drashna@live.com>

Co-authored-by: Drashna Jaelre <drashna@live.com>
2021-06-24 12:21:40 +10:00
David Hoelscher
6e1ed1c9d3 Optional OLED splash screen and fixed OLED i2c execution time saving (#12294)
* Made OLED splash screen optional to reduce memory and fixed OLED i2c execution time saving

* moved OLED address updates into their respective conditional checks
2021-06-23 19:52:06 +10:00
Albert Y
a913db63aa Fix zero condition of reactive runners that will suspend RGB animation (#12710)
* Avoid zero or overflow from user's rgb_matrix_config.speed

* Avoid zero tick for reactive splash.

* Avoid zero time for animation runner.

Co-authored-by: filterpaper <filterpaper@localhost>
2021-06-23 19:45:05 +10:00
Xelus22
ced7e9a0ce [Keyboard][Bug] Makrosu VIA compile fix encoder and formatting (#13306)
* fix encoder and formatting

* remove redundant breaks

* Update keyboards/makrosu/keymaps/default/keymap.c

Co-authored-by: Drashna Jaelre <drashna@live.com>

* Update keyboards/makrosu/keymaps/via/keymap.c

Co-authored-by: Drashna Jaelre <drashna@live.com>

Co-authored-by: Drashna Jaelre <drashna@live.com>
2021-06-22 20:30:42 -07:00
xyzz
268d0efa7e [Docs] pr_checklist: fix capitalization of Vial (#13301) 2021-06-22 17:45:13 -07:00
Muhammad Rivaldi
4ef2b0f818 adding my custom keypad to qmk repository (#12150)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Nick Brassel <nick@tzarc.org>
2021-06-23 09:34:17 +10:00
James Young
0c5c39c18a Technika: add sample info.json data (#13292)
Adds a placeholder file with sample data, as the layout hasn't been published yet.
2021-06-23 09:32:37 +10:00
Albert Y
92dd1b977b Additional documentation for GUI mod combo (#13266)
Co-authored-by: filterpaper <filterpaper@localhost>
2021-06-22 12:41:57 +10:00
4pplet
d7f352de98 Adding "Eagle Viper Rep", open sourced Eagle/Viper V2/V3 PCB (#13020)
* adding revision A

* Update keyboards/4pplet/eagle_viper_rep/rev_a/rev_a.c

Co-authored-by: Drashna Jaelre <drashna@live.com>

* Update keyboards/4pplet/eagle_viper_rep/rev_a/rev_a.c

Co-authored-by: Drashna Jaelre <drashna@live.com>

* Update keyboards/4pplet/eagle_viper_rep/rev_a/rev_a.c

Co-authored-by: Drashna Jaelre <drashna@live.com>

* Update keyboards/4pplet/eagle_viper_rep/rev_a/rev_a.h

Co-authored-by: Drashna Jaelre <drashna@live.com>

* Update keyboards/4pplet/eagle_viper_rep/rev_a/rev_a.c

Co-authored-by: Drashna Jaelre <drashna@live.com>

* Update readme.md

Adding instruction on how to enter bootloader

* adding instruction on how to enter bootloader (DFU)

adding instruction on how to enter bootloader (DFU)

* updated description

* Update keyboards/4pplet/eagle_viper_rep/rev_a/halconf.h

Co-authored-by: Nick Brassel <nick@tzarc.org>

* Update keyboards/4pplet/eagle_viper_rep/rev_a/rev_a.c

Co-authored-by: Nick Brassel <nick@tzarc.org>

* Update keyboards/4pplet/eagle_viper_rep/rev_a/config.h

Co-authored-by: Nick Brassel <nick@tzarc.org>

* Update keyboards/4pplet/eagle_viper_rep/rev_a/chconf.h

Co-authored-by: Nick Brassel <nick@tzarc.org>

* Update keyboards/4pplet/eagle_viper_rep/rev_a/chconf.h

Co-authored-by: Nick Brassel <nick@tzarc.org>

* Update keyboards/4pplet/eagle_viper_rep/keymaps/default/keymap.c

Co-authored-by: Nick Brassel <nick@tzarc.org>

* Restoring palSetLineMode for working underglow

I was experiencing the same issue as this: https://github.com/qmk/qmk_firmware/issues/12655#issuecomment-844104659

sigprof helped me resolve this issue.

* Update rev_a.c

removing palSetLineMode again, works great after rebase. Thanks!

Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Nick Brassel <nick@tzarc.org>
2021-06-22 08:09:16 +10:00
James Young
19990a21a9 Geminate60 Codebase Touch-up (#13275)
* grid-align keycodes in keymaps

* rename LAYOUT to LAYOUT_all

* update LAYOUT_all macro

- use 3-character K<row><column> notation
- fix malformed electrical mapping

* update info.json

- correct maintainer
- update label fields
- remove meta key

* update readme

- update board description
- update keyboard maintainer
2021-06-21 13:47:47 -07:00
James Young
3f292ec723 Swiftrax Nodu handwired: Layout Macro rename and Community Layout support (#13276)
* rename LAYOUT to LAYOUT_60_ansi_split_bs_rshift

* enable Community Layout support
2021-06-21 13:32:51 -07:00
ploopyco
eba3d68394 Fixes for Ploopy devices (#13144)
Co-authored-by: Drashna Jael're <drashna@live.com>
2021-06-21 20:59:56 +01:00
James Young
224dcac08f ID80: fix LAYOUT_iso data (#13274) 2021-06-21 09:25:02 -07:00
James Young
36f3dba195 mech.studio Dawn: correct key sizes and positioning (#13277) 2021-06-21 09:23:04 -07:00
Nathan
c0dd142d9f [Keyboard] le_chiffre.c conditional led_config (#13285)
disabling RGB_MATRIX_ENABLE causes led_config to fail during compile. Setting this conditional allows you to turn off RGB
2021-06-21 09:04:18 -07:00
Ryan
59c572eaf0 Cleanup junk characters, part 1 (#13282) 2021-06-21 11:29:15 +01:00
shela
8db1be6420 [Docs] Update Japanese getting started documents. (#12806)
* Update Japanese getting started documents.

* Update faq_build.md

* fix typo
2021-06-21 03:36:51 +09:00
Ryan
90e57b7b0a OLED font easter egg (#13269) 2021-06-20 09:38:21 -07:00
Erovia
29df3ce83b Fix/keyboard/dz65rgbv3 (#13268)
With the 'lufa-ms' bootloader LTO is needed so the keyboard can be built
with Configurator.
2021-06-20 16:30:23 +01:00
Sergey Vlasov
7ab4902543 Update Python dependencies for Nix (#12855)
Co-authored-by: Steve Purcell <steve@sanityinc.com>
2021-06-20 14:30:16 +01:00
James Young
50a312b635 rect44: add LAYOUT_all data (#13260) 2021-06-20 09:00:10 +01:00
stanrc85
873658a76d Adding my Bear65 keymap (#12962) 2021-06-20 08:49:49 +01:00
Xelus22
745f5f6532 [Keyboard] Add Constellation Rev2 (#13103) 2021-06-20 08:36:54 +01:00
Xelus22
eb2886369d [Bug] Pachi keymap compile fix (#13261) 2021-06-20 00:16:50 -07:00
Xelus22
438eee96e8 [Bug] Pachi RGB: fix RGB modifiers (#13262) 2021-06-20 00:14:44 -07:00
James Young
0624698d33 MisonoWorks Karina Layout Macro Rework (#13259) 2021-06-20 00:13:34 -07:00
Drashna Jaelre
88e53ad9ca Fix issue with crkbd json mapping (#13255) 2021-06-19 20:08:37 -07:00
peepeetee
dc39d90270 [Keyboard] Add LED matrix and 2 layouts to hub20 (#12505)
Co-authored-by: Drashna Jaelre <drashna@live.com>
2021-06-19 19:21:24 -07:00
nopjmp
050457818c [Keymap] Fix Preonic rev3 default keymap (#12698)
The rev3 boards use RGBLIGHT_ENABLE now instead of BACKLIGHT_ENABLE.

This resolves the issue of flashing and losing functionality with the default keymap.
2021-06-19 19:20:50 -07:00
alittlepeace
1f4e20cfda [Keyboard] YMDK Wings: enable Backlight (#12714) 2021-06-19 19:18:40 -07:00
Nick Abe
c835d2e71d [Keyboard] Add PLX Keyboard (#12954)
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-06-19 19:14:40 -07:00
Albert Y
7e832e46de Add Mac centric Shift and Alt + GUI Macros (#13107)
Co-authored-by: filterpaper <filterpaper@localhost>
2021-06-19 19:14:19 -07:00
stanrc85
d456963177 [Keymap] Add stanrc85 Abasic keymap (#13180) 2021-06-19 19:12:39 -07:00
Ryan
4dddcb4f03 Telophase cleanup (#13225) 2021-06-20 12:03:11 +10:00
James Young
11f66c317a pistachio_mp: correct key object order in info.json (#13250) 2021-06-20 07:34:48 +10:00
Xelus22
6dfe915e26 [Keyboard] Pachi restructure and keyboard addition (#13080) 2021-06-19 16:18:29 +01:00
Xelus22
4379afca28 [Keyboard Update] Trinity XT TKL fix license and add forgotten indicators (#13202) 2021-06-19 13:50:54 +01:00
James Young
939ce6a486 bm60rgb: fix layout macro references (#13246)
... and enable Community Layout support
2021-06-19 11:49:27 +01:00
Jumail Mundekkat
dfcefc2d5d [Keyboard] Add Switchplate 910 keyboard (#13235)
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-06-18 18:52:29 -07:00
Mats Nilsson
8de028f188 [Keymap] Add my keymaps for the Keebio Iris and Planck (#13005) 2021-06-18 17:55:56 -07:00
moyi4681
8694e2d3f0 [Keyboard] add dztech/dz65rgb/v3 keyboard (#13017)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-06-18 17:54:29 -07:00
rate
7fefe128cc [Keymap] adding keymap for pistachio (#12996)
Co-authored-by: Drashna Jaelre <drashna@live.com>
2021-06-18 17:54:03 -07:00
Kyle McCreery
feaf972eb7 [Keyboard] Murphpad Changes and Updates (#12995)
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>
2021-06-18 17:48:41 -07:00
umi
6e132884b3 [Docs] update Japanese translation of tap_hold.md (#12820)
* update tap_hold.md translation

* restore unnecessary change line
2021-06-18 15:13:04 +09:00
umi
18554d1134 [Docs] update Japanese translation of hardware_keyboard_guidelines.md (#12769)
* update hardware_keyboard_guidelines.md translation

* update based on comment
2021-06-18 15:07:56 +09:00
umi
9e9e9b3898 [Docs] update Japanese translation of feature_haptic_feedback.md (#12737)
* update feature_haptic_feedback.md translation

* change url of driver pdf location

* change buzz word

* update based on comment
2021-06-18 15:05:36 +09:00
Drashna Jaelre
8e607851fb [Keyboard] Fix revision issues with Kyria (#13208)
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-06-17 21:11:33 -07:00
jurassic73
f81cd4696e [Keyboard] Fix comment in split89's config.h (#13231)
Added missing closing comment bit */

This seems to cause the QMK configurator to break when clicking the compile button:

Compiling: keyboards/handwired/split89/split89.c                                                   In file included from :
ent]
 /* COL2ROW, ROW2COL */

cc1: all warnings being treated as errors
 
 |
 |
 |
make: *** ine/keyboards/handwired/split89/split89.o] Error 1
2021-06-17 21:11:15 -07:00
Nick Brassel
e7ddbc394b Update merge sequence to reflect no-ff, no-squash. (#13038) 2021-06-18 00:05:27 +01:00
jurassic73
89c01970e3 [Keyboard] Add Split 89 (#13213)
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-06-17 10:04:37 -07:00
Ryan
2f08a34394 OLED driver tweaks (#13215) 2021-06-17 17:14:23 +10:00
talsu
a9c6adb083 [Keyboard] Add KMAC PAD (#13104)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-06-16 22:45:27 -07:00
TerryMathews
f9d88da86f [Keyboard] Minivan : add missing enable to support RGB LEDs (#13157)
Config.h has support for RGB LEDs but enable line was missing in rules.mk
2021-06-16 22:39:18 -07:00
Drashna Jaelre
2538d341d8 Document user song list file (#13101) 2021-06-15 22:31:06 -07:00
Jonathan Rascher
83ee79565c Fix overrun in oled_write_raw when not at (0, 0) (#13204) 2021-06-15 22:30:37 -07:00
melonbred
5c3991cb90 [Keyboard] add mb44 keyboard (#12798)
Co-authored-by: ridingqwerty <george.g.koenig@gmail.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-06-15 22:24:16 -07:00
Albert Y
abee0610ee [Keyboard] Allow user override of RGB_DISABLE_WHEN_USB_SUSPENDED for BM40 keyboard (#12700)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: filterpaper <filterpaper@localhost>
2021-06-15 22:23:20 -07:00
Philip (Han) Suh
9aea0fd52b [Keyboard] Fix layout in noon.h (#13087)
Forgot to include a KC_NO in a column, causing issues for customers
2021-06-15 22:21:30 -07:00
Leon Anavi
42d8ee16e1 [Keymap] ANAVI Macro Pad 2 add binary keymap (#13090)
This binary keymap for ANAVI Macro Pad 2 helps with 0 and 1:

left key: 0
right key: 1

Combo press both keys to control the backlit.

Suggested-by: Chris <christopher.walker@crowdsupply.com>
Signed-off-by: Leon Anavi <leon@anavi.org>
2021-06-15 22:20:57 -07:00
Aeonstrife
403849bff0 [Keyboard] Potato65 Hotswap Fixed mistake in key matrix (#13095)
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>
2021-06-15 22:19:11 -07:00
Rickard von Essen
ba35c11807 Debian requires package libusb-dev to build bootloaderHID (#13105) 2021-06-15 22:14:53 -07:00
Brian Low
875bb48a20 Top level heading for common config (LED Matrix) (#13153) 2021-06-15 22:07:24 -07:00
Brian Low
968e4f96a4 Top level heading for common config (RGB Matrix) (#13120)
* Top level heading for common config

Prior to this, the some of the common config looks like a detail of the APA102 driver

* Change heading to Common Config (RGB Matrix)
2021-06-15 22:07:03 -07:00
R
311cf865dc [Keymap] Keebio Iris rev4 - keymap with dual encoder support (#13063)
Co-authored-by: Drashna Jaelre <drashna@live.com>
2021-06-15 21:54:36 -07:00
kb-elmo
4720aa4a34 Change Lufa-MS size (#13183)
Co-authored-by: Drashna Jaelre <drashna@live.com>
2021-06-15 21:28:17 -07:00
Purdea Andrei
ed0451bc28 Make atmel-dfu and chibios-dfu flashing behave more like caterina flashing. (#12552)
This commit makes atmel-dfu and chibios-dfu bootloaders retry to detect the bootloader
every 0,5 seconds (now configurable via the BOOTLOADER_RETRY_TIME makefile variable),
and a period is printed after every try. This is a much more pleasant behaviour than
the 5s retry timeout.
2021-06-16 14:20:44 +10:00
AlisGraveNil
22cd151fc3 [Keyboard] suv (#12957) 2021-06-15 21:20:15 -07:00
AlisGraveNil
96c8afea2d [Keyboard] hatchback (#12958) 2021-06-15 21:20:03 -07:00
John Graham
3966599940 [Keyboard] Add via support for the Leopold FC980C (#12860) 2021-06-15 21:18:20 -07:00
Leon Anavi
09e22b9cfc [Keymap] ANAVI Macro Pad 2 add Skype keymap (#12664)
This keymap for ANAVI Macro Pad 2 contains a couple of Skype
shortcuts for MS Windows and GNU/Linux distributions:

- Ctrl+M: Mute/unmute microphone
- Ctrl+Shift+K: Start/stop camera

Signed-off-by: Leon Anavi <leon@anavi.org>
2021-06-15 20:53:49 -07:00
Fidel Coria
9cf4148aa9 [Keymap] add new keymap for pteron (#12474)
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-06-15 20:39:17 -07:00
Thomas Museus Dabay
c00a9937f2 [Docs] Update one_shot_keys.md (#12291) 2021-06-15 20:35:31 -07:00
Andy Freeland
d0a3506d0f [Keyboard] Add 'LAYOUT_65_ansi_split_bs_2_right_mods' support to KBDfans KBD67 rev2 (#12053) 2021-06-15 20:34:00 -07:00
Brandon Claveria
3d546c0853 add tender/macrowo_pad (#12786)
* add tender/macrowo_pad

* add another layer for via keymap

Co-authored-by: Swiftrax <swiftrax@gmail.com>
2021-06-16 07:43:18 +10:00
Dustin Bosveld
a9525d88a3 [Keymap] Update readme for ploopy nano keymap (#12733)
The readme from the Ploopy Mini was accidentally put as the Ploopy
Nano readme. The Ploopy Nano does not ship with VIA by default.
2021-06-14 20:06:55 -07:00
Zach White
0713797c58 Ensure that safe_commands always run (#13199)
* ensure that safe_commands always run

* import the config subcommand in bin/qmk
2021-06-14 16:51:58 -07:00
shela
ae45faca26 [Docs] Update Japanese newbs_learn_more_resources.md (#12839)
* Update Japanese newbs_learn_more_resources.md document.

* Slightly modded
2021-06-14 15:31:50 +09:00
Markus Knutsson
449b4b8d86 [Docs] Update feature_split_keyboard.md (#13205) 2021-06-13 20:20:19 -07:00
Zach White
3d62e1dfbf vscode: specify yapf as the formatting provider (#13206) 2021-06-13 17:52:31 -07:00
umi
a08486597d [Docs] update Japanese translation of feature_pointing_device.md (#12753)
* update feature_pointing_device.md translation

* update based on comment
2021-06-13 04:15:08 +09:00
shela
f48bd8cde3 [Docs] Update Japanese newbs_flashing.md (#12837)
* Update Japanese newbs_flashing.md document.

* Slightly modded

* Apply suggestions from code review
2021-06-13 04:11:56 +09:00
shela
c16b7d63e7 Update Japanese newbs.md document. (#12835) 2021-06-13 04:10:23 +09:00
Takeshi ISHII
db36e2be9f [Docs] Japanese translation of docs/data_driven_config.md (#12066)
* add docs/ja/data_driven_config.md

* Update docs/ja/data_driven_config.md

Co-authored-by: s-show <s1shimz@gmail.com>

* Update docs/ja/data_driven_config.md

Co-authored-by: s-show <s1shimz@gmail.com>

* Update docs/ja/data_driven_config.md

Co-authored-by: s-show <s1shimz@gmail.com>

* Update docs/ja/data_driven_config.md

Co-authored-by: s-show <s1shimz@gmail.com>

* Update docs/ja/data_driven_config.md

Co-authored-by: shela <shelaf@users.noreply.github.com>

* Update docs/ja/data_driven_config.md

Co-authored-by: shela <shelaf@users.noreply.github.com>

* Update docs/ja/data_driven_config.md

Co-authored-by: shela <shelaf@users.noreply.github.com>

* Update docs/ja/data_driven_config.md

Co-authored-by: shela <shelaf@users.noreply.github.com>

* Update docs/ja/data_driven_config.md

* Update docs/ja/data_driven_config.md

Co-authored-by: shela <shelaf@users.noreply.github.com>

* Update docs/ja/data_driven_config.md

Co-authored-by: shela <shelaf@users.noreply.github.com>

* Update docs/ja/data_driven_config.md

Co-authored-by: shela <shelaf@users.noreply.github.com>

* Update docs/ja/data_driven_config.md

Co-authored-by: shela <shelaf@users.noreply.github.com>

Co-authored-by: s-show <s1shimz@gmail.com>
Co-authored-by: shela <shelaf@users.noreply.github.com>
2021-06-13 04:08:32 +09:00
kb-elmo
0ef145db15 Add Matrix 8XV1.2 OG rev1 PCB (#11614)
* add v1 12og pcb

* update

* matrix changes for testing

* Update matrix.c

* finalized files

* rename board versions

* update readmes

* typo in readme

* fix board filenames

* Update keyboards/matrix/m12og/rev1/rev1.c

Co-authored-by: Drashna Jaelre <drashna@live.com>

* change function

* update halconf and chconf

* merge master

* Update readme.md

* Update readme.md

* Update readme.md

Co-authored-by: Drashna Jaelre <drashna@live.com>
2021-06-11 20:35:13 +10:00
Drashna Jaelre
2e90ef0536 [Keyboard] Add Loop, Nano and Work boards from Work Louder (#12756) 2021-06-10 14:50:24 -07:00
Nick Brassel
d684b8cafe Slightly more prominent LUFA Mass-storage bootloader warning. (#13163) 2021-06-10 16:05:29 +10:00
jackytrabbit
39c8ed32b4 Add support for LAZYDESIGNERS/THE60/rev2 (#13015)
Co-authored-by: Erovia <Erovia@users.noreply.github.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>
2021-06-09 19:47:37 +02:00
Xelus22
5073dc33e9 update via keymap (#13145) 2021-06-09 19:14:44 +10:00
Nick Brassel
21aa7890cb Allow limiting the multibuild based on keymap name. (#13066) 2021-06-09 17:25:21 +10:00
Joel Challis
4dda716712 Migrate preonic/rev3 to pwm ws2812 driver (#13142) 2021-06-09 00:18:56 -07:00
Drashna Jaelre
9975e17712 Fix Bug with (RGB|LED)_DISABLE_WHEN_USB_SUSPENDED define (#13060) 2021-06-09 05:06:55 +10:00
Ryan
9dcd03b6ca Set BOOTLOADER = stm32-dfu for all applicable STM32 boards (#12956)
* Set bootloader to stm32-dfu for STM32F303

* Set bootloader to stm32-dfu for STM32F0x2

* Set bootloader to stm32-dfu for STM32F4x1

* Set bootloader to stm32duino for sowbug

* Delete redundant bootloader_defs headers

* Add some missing MCU name comments

* Move APM32 dfu-suffix overrides underneath bootloader

* Remove redundant STM32_BOOTLOADER_ADDRESS defines/rules
2021-06-08 19:48:46 +10:00
Joel Challis
e0acd3e53d Update requirements.txt (#13135) 2021-06-08 00:37:58 +01:00
Zach White
c277ae4768 Move hid and pyusb to requirements.txt (#13134)
* Add his and pyusb to

* Update requirements-dev.txt
2021-06-07 16:30:55 -07:00
shela
b52b8f1d23 Update Japanese newbs_building_firmware_configurator.md document. (#12836) 2021-06-08 02:43:21 +09:00
umi
b7ef959400 update ref_functions.md translation (#12784) 2021-06-08 02:41:33 +09:00
umi
17e6e04600 update one_shot_keys.md translation (#12771) 2021-06-08 02:39:57 +09:00
umi
a0ed583b75 update hardware_avr.md translation (#12760) 2021-06-08 02:38:38 +09:00
umi
093a89c534 update feature_rawhid.md translation (#12759) 2021-06-08 02:36:42 +09:00
umi
c1bd8eed76 [Docs] update Japanese translation of custom_quantum_functions.md (#12715)
* update custom_quantum_functions.md translation

* update custom_quantum_functions.md translation

* explicitly describe pronoun

* update based on comment

* update based on comment
2021-06-08 02:34:39 +09:00
Ryan
9dffd35762 Add default ortho_1x1 layout (#13118) 2021-06-07 20:46:22 +10:00
wxyangf
b10728edc1 [Docs] added basic midi documention of common features (#13113)
Co-authored-by: precondition <57645186+precondition@users.noreply.github.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Joel Challis <git@zvecr.com>
2021-06-06 23:53:20 -07:00
Matthew Dias
94e80912a4 [Keyboard] Add program yoink via keymap (#12645)
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-06-06 22:10:37 -07:00
bbrfkr
7b666245d6 [Keyboard] add molecule (#12601)
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>
2021-06-06 22:08:20 -07:00
HalfHeuslerAlloy
23631de191 Fixed ISO keyboard layout for the Mysterium rev1.1 board (#12531) 2021-06-06 21:54:54 -07:00
Miguel Filipe
0374e4c733 [Keymap] add id80/ansi/keymaps/msf (#11957) 2021-06-06 20:37:59 -07:00
Nathan_Blais
add10524d6 Corrected Number-pad numbers (#13057) 2021-06-07 06:13:33 +10:00
TerryMathews
7aab06ffdf JETVAN: Add initial support (#12790)
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-06-06 08:26:36 +10:00
shela
ab6128e86d Update Japanese document (#10670)
Co-authored-by: Takeshi ISHII <2170248+mtei@users.noreply.github.com>
2021-06-06 03:36:48 +09:00
umi
8128c5f822 update feature_layers.md translation (#12752) 2021-06-06 03:16:39 +09:00
Drashna Jaelre
770a3349be Fix includes for pmw3360 driver (#13108) 2021-06-05 08:08:35 -07:00
James Young
c7c9f3e3cf kbdfans/kbd67/rev2: add LAYOUT_65_ansi_split_space layout data (#13102) 2021-06-03 20:02:35 -07:00
stanrc85
e660dcff09 Fix caps lock indicator on Bear65 PCB (#12966) 2021-06-03 17:30:32 -07:00
Jonathan Rascher
6eb18a6ccb [Keymap] Update bcat's split_3x6_3 for Crkbd legacy removal (#13097) 2021-06-03 11:39:48 -07:00
Ryan
af91221ddb qmk multibuild: Fix bug with Path objects (#13093) 2021-06-03 16:53:03 +01:00
Ryan
261d94ce34 Tidy up spi_master includes (#13053) 2021-06-03 16:26:41 +10:00
James Young
a0cc2dc6d0 Update noroadsleft userspace and keymaps (2021-06-02) (#13086) 2021-06-02 23:06:30 -07:00
3636 changed files with 149849 additions and 20013 deletions

View File

@@ -7,6 +7,7 @@ on:
paths:
- 'keyboards/**'
- 'layouts/community/**'
workflow_dispatch:
jobs:
api_data:

View File

@@ -7,6 +7,7 @@ on:
paths:
- 'keyboards/**'
- 'layouts/community/**'
workflow_dispatch:
jobs:
api_data:

93
.gitignore vendored
View File

@@ -1,36 +1,33 @@
.history/
.dep
*.o
*.bin
*.eep
# Junk files
*.bak
*.swp
*~
.DS_Store
# Build artifacts
.clang_complete
.build/
*.elf
*.hex
*.uf2
*.qmk
!util/bootloader.hex
!quantum/tools/eeprom_reset.hex
*.log
*.lss
*.lst
*.map
*.o
*.stackdump
*.sym
*.swp
tags
*~
# QMK-specific
api_data/v1
build/
.build/
*.bak
.vagrant/
quantum/version.h
.idea/
CMakeLists.txt
cmake-build-debug
.clang_complete
doxygen/
.DS_Store
/util/wsl_downloaded
/util/win_downloaded
quantum/version.h
!quantum/tools/eeprom_reset.hex
*.bin
*.eep
*.hex
*.qmk
*.uf2
# Old-style QMK Makefiles
/keyboards/*/Makefile
/keyboards/*/*/Makefile
/keyboards/*/*/*/Makefile
@@ -43,39 +40,49 @@ doxygen/
/keyboards/*/*/*/*/*/keymaps/Makefile
# Eclipse/PyCharm/Other IDE Settings
.cproject
.project
.settings/
.idea
*.iml
.browse.VC.db*
*.stackdump
.cproject
.idea
.idea/
.project
.settings/
.vagrant/
# ?
.dep
.history/
build/
cmake-build-debug
CMakeLists.txt
# Let these ones be user specific, since we have so many different configurations
*.code-workspace
.vscode/c_cpp_properties.json
.vscode/launch.json
.vscode/tasks.json
.vscode/last.sql
.vscode/temp.sql
.vscode/ipch/
.stfolder
.tags
.vscode/c_cpp_properties.json
.vscode/ipch/
.vscode/last.sql
.vscode/launch.json
.vscode/tasks.json
.vscode/temp.sql
tags
# ignore image files
*.png
# Ignore image files
*.gif
*.jpg
*.png
# things travis sees
secrets.tar
id_rsa_*
# Things Travis sees
/.vs
id_rsa_*
secrets.tar
# python things
# Python things
__pycache__
.python-version
# prerequisites for updating ChibiOS
# Prerequisites for updating ChibiOS
/util/fmpp*
# Allow to exist but don't include it in the repo

View File

@@ -1,38 +0,0 @@
os: linux
dist: trusty
group: edge
language: c
branches:
except:
- /^.*-automated-build$/
- /^[0-9]+\.[0-9]+\.[0-9]+/
env:
global:
- secure: vBTSL34BDPxDilKUuTXqU4CJ26Pv5hogD2nghatkxSQkI1/jbdnLj/DQdPUrMJFDIY6TK3AltsBx72MaMsLQ1JO/Ou24IeHINHXzUC1FlS9yQa48cpxnhX5kzXNyGs3oa0qaFbvnr7RgYRWtmD52n4bIZuSuW+xpBv05x2OCizdT2ZonH33nATaHGFasxROm4qYZ241VfzcUv766V6RVHgL4x9V08warugs+RENVkfzxxwhk3NmkrISabze0gSVJLHBPHxroZC6EUcf/ocobcuDrCwFqtEt90i7pNIAFUE7gZsN2uE75LmpzAWin21G7lLPcPL2k4FJVd8an1HiP2WmscJU6U89fOfMb2viObnKcCzebozBCmKGtHEuXZo9FcReOx49AnQSpmESJGs+q2dL/FApkTjQiyT4J6O5dJpoww0/r57Wx0cmmqjETKBb5rSgXM51Etk3wO09mvcPHsEwrT7qH8r9XWdyCDoEn7FCLX3/LYnf/D4SmZ633YPl5gv3v9XEwxR5+04akjgnvWDSNIaDbWBdxHNb7l4pMc+WR1bwCyMyA7KXj0RrftEGOrm9ZRLe6BkbT4cycA+j77nbPOMcyZChliV9pPQos+4TOJoTzcK2L8yWVoY409aDNVuAjdP6Yum0R2maBGl/etLmIMpJC35C5/lZ+dUNjJAM=
- MAKEFLAGS="-j3 --output-sync"
services:
- docker
addons:
apt:
sources:
- ubuntu-toolchain-r-test
- llvm-toolchain-trusty-7
packages:
- diffutils
- clang-format-7
- libstdc++-7-dev
script:
- git fetch --depth=50 origin $TRAVIS_BRANCH:$TRAVIS_BRANCH
- git rev-parse --short HEAD
- git diff --name-only HEAD $TRAVIS_BRANCH
- bash util/travis_test.sh
- bash util/travis_build.sh
after_script:
bash util/travis_compiled_push.sh
notifications:
webhooks:
urls:
- https://webhooks.gitter.im/e/afce403d65f143dfac09
on_success: always # options: [always|never|change] default: always
on_failure: always # options: [always|never|change] default: always
on_start: never # options: [always|never|change] default: always

View File

@@ -22,5 +22,9 @@
"[markdown]": {
"editor.trimAutoWhitespace": false,
"files.trimTrailingWhitespace": false
},
"python.formatting.provider": "yapf",
"[json]": {
"editor.formatOnSave": false
}
}

View File

@@ -252,11 +252,20 @@ define PARSE_RULE
else
$$(info make: *** No rule to make target '$1'. Stop.)
$$(info |)
$$(info | QMK's make format recently changed to use folder locations and colons:)
$$(info | make project_folder:keymap[:target])
$$(info | Examples:)
$$(info | make dz60:default)
$$(info | make planck/rev6:default:flash)
$$(info | QMK's make format is:)
$$(info | make keyboard_folder:keymap_folder[:target])
$$(info |)
$$(info | Where `keyboard_folder` is the path to the keyboard relative to)
$$(info | `qmk_firmware/keyboards/`, and `keymap_folder` is the name of the)
$$(info | keymap folder under that board's `keymaps/` directory.)
$$(info |)
$$(info | Examples:)
$$(info | keyboards/dz60, keyboards/dz60/keymaps/default)
$$(info | -> make dz60:default)
$$(info | -> qmk compile -kb dz60 -km default)
$$(info | keyboards/planck/rev6, keyboards/planck/keymaps/default)
$$(info | -> make planck/rev6:default:flash)
$$(info | -> qmk flash -kb planck/rev6 -km default)
$$(info |)
endif
endef

View File

@@ -35,6 +35,7 @@ def main():
print('Warning: The bin/qmk script is being deprecated. Please install the QMK CLI: python3 -m pip install qmk', file=sys.stderr)
# Import the subcommands
import milc.subcommand.config # noqa
import qmk.cli # noqa
# Execute

View File

@@ -90,12 +90,16 @@ ifeq ($(strip $(BOOTLOADER)), USBasp)
endif
ifeq ($(strip $(BOOTLOADER)), lufa-ms)
OPT_DEFS += -DBOOTLOADER_MS
BOOTLOADER_SIZE = 6144
BOOTLOADER_SIZE ?= 8192
FIRMWARE_FORMAT = bin
$(info LUFA MASS STORAGE Bootloader selected)
$(info DO NOT USE THIS BOOTLOADER IN NEW PROJECTS!)
$(info It is extremely prone to bricking, and is only included to support existing boards.)
$(info )
cpfirmware: lufa_warning
.INTERMEDIATE: lufa_warning
lufa_warning: $(FIRMWARE_FORMAT)
$(info @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@)
$(info LUFA MASS STORAGE Bootloader selected)
$(info DO NOT USE THIS BOOTLOADER IN NEW PROJECTS!)
$(info It is extremely prone to bricking, and is only included to support existing boards.)
$(info @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@)
endif
ifdef BOOTLOADER_SIZE
OPT_DEFS += -DBOOTLOADER_SIZE=$(strip $(BOOTLOADER_SIZE))

View File

@@ -24,7 +24,6 @@ GTEST_INTERNAL_INC :=\
$(GTEST_OUTPUT)_SRC :=\
googletest/src/gtest-all.cc\
googletest/src/gtest_main.cc\
googlemock/src/gmock-all.cc
$(GTEST_OUTPUT)_DEFS :=
@@ -35,7 +34,8 @@ CREATE_MAP := no
VPATH +=\
$(LIB_PATH)/googletest\
$(LIB_PATH)/googlemock
$(LIB_PATH)/googlemock\
$(LIB_PATH)/printf
all: elf
@@ -43,6 +43,10 @@ VPATH += $(COMMON_VPATH)
PLATFORM:=TEST
PLATFORM_KEY:=test
ifeq ($(strip $(DEBUG)), 1)
CONSOLE_ENABLE = yes
endif
ifneq ($(filter $(FULL_TESTS),$(TEST)),)
include tests/$(TEST)/rules.mk
endif
@@ -55,6 +59,11 @@ ifneq ($(filter $(FULL_TESTS),$(TEST)),)
include build_full_test.mk
endif
$(TEST)_SRC += \
tests/test_common/main.c \
$(LIB_PATH)/printf/printf.c \
$(COMMON_DIR)/printf.c
$(TEST_OBJ)/$(TEST)_SRC := $($(TEST)_SRC)
$(TEST_OBJ)/$(TEST)_INC := $($(TEST)_INC) $(VPATH) $(GTEST_INC)
$(TEST_OBJ)/$(TEST)_DEFS := $($(TEST)_DEFS)

View File

@@ -59,8 +59,11 @@
'cmm_studio/saka68': {
target: 'cmm_studio/saka68/solder'
},
'crkbd/rev1': {
target: 'crkbd/rev1/legacy'
'crkbd/rev1/legacy': {
target: 'crkbd/rev1'
},
'crkbd/rev1/common': {
target: 'crkbd/rev1'
},
'doro67/multi': {
layouts: {

View File

@@ -82,6 +82,22 @@ Example code before change:
void encoder_update_kb(uint8_t index, bool clockwise) {
encoder_update_user(index, clockwise);
}
void encoder_update_user(uint8_t index, bool clockwise) {
if (index == 0) { /* First encoder */
if (clockwise) {
tap_code(KC_PGDN);
} else {
tap_code(KC_PGUP);
}
} else if (index == 1) { /* Second encoder */
if (clockwise) {
tap_code(KC_DOWN);
} else {
tap_code(KC_UP);
}
}
}
```
Example code after change:
@@ -90,6 +106,25 @@ Example code after change:
bool encoder_update_kb(uint8_t index, bool clockwise) {
return encoder_update_user(index, clockwise);
}
bool encoder_update_user(uint8_t index, bool clockwise) {
if (index == 0) { /* First encoder */
if (clockwise) {
tap_code(KC_PGDN);
} else {
tap_code(KC_PGUP);
}
} else if (index == 1) { /* Second encoder */
if (clockwise) {
tap_code(KC_DOWN);
} else {
tap_code(KC_UP);
}
}
return true;
// If you return true, this will allow the keyboard level code to run, as well.
//Returning false will override the keyboard level code. Depending on how the keyboard level function is set up.
}
```
## Core Changes :id=core-changes

View File

@@ -19,6 +19,7 @@
* [Overview](newbs_building_firmware_configurator.md)
* [Step by Step](configurator_step_by_step.md)
* [Troubleshooting](configurator_troubleshooting.md)
* [Architecture](configurator_architecture.md)
* QMK API
* [Overview](api_overview.md)
* [API Documentation](api_docs.md)
@@ -108,6 +109,7 @@
* [Haptic Feedback](feature_haptic_feedback.md)
* [Joystick](feature_joystick.md)
* [LED Indicators](feature_led_indicators.md)
* [MIDI](feature_midi.md)
* [Proton C Conversion](proton_c_conversion.md)
* [PS/2 Mouse](feature_ps2_mouse.md)
* [Split Keyboard](feature_split_keyboard.md)

View File

@@ -56,7 +56,7 @@ This happens immediately after the previous `develop` branch is merged.
* [ ] `git commit -m 'Branch point for <DATE> Breaking Change'`
* [ ] `git tag breakpoint_<YYYY>_<MM>_<DD>`
* [ ] `git tag <next_version>` # Prevent the breakpoint tag from confusing version incrementing
* [ ] `git push origin develop`
* [ ] `git push upstream develop`
* [ ] `git push --tags`
## 4 Weeks Before Merge
@@ -86,13 +86,16 @@ This happens immediately after the previous `develop` branch is merged.
* `qmk_firmware` git commands
* [ ] `git checkout develop`
* [ ] `git pull --ff-only`
* [ ] `git rebase origin/master`
* [ ] Edit `readme.md`
* [ ] Remove the notes about `develop`
* [ ] Roll up the ChangeLog into one file.
* [ ] `git commit -m 'Merge point for <DATE> Breaking Change'`
* [ ] `git push origin develop`
* [ ] `git push upstream develop`
* GitHub Actions
* [ ] Create a PR for `develop`
* [ ] Make sure travis comes back clean
* [ ] Merge `develop` PR
* [ ] **Turn off 'Automatically delete head branches' for the repository** -- confirm with @qmk/directors that it is done before continuing
* `qmk_firmware` git commands
* [ ] `git checkout master`
* [ ] `git pull --ff-only`
* [ ] `git merge --no-ff develop`
* [ ] `git push upstream master`

View File

@@ -349,11 +349,12 @@ qmk cformat -b branch_name
## `qmk docs`
This command starts a local HTTP server which you can use for browsing or improving the docs. Default port is 8936.
Use the `-b`/`--browser` flag to automatically open the local webserver in your default browser.
**Usage**:
```
qmk docs [-p PORT]
qmk docs [-b] [-p PORT]
```
## `qmk generate-docs`

View File

@@ -0,0 +1,61 @@
# QMK Configurator Architecture
This page describes the web architecture behind QMK Configurator at a high level. If you are interested in the architecture of the QMK Configurator code itself you should start at the [qmk_configurator](https://github.com/qmk/qmk_configurator) repository.
# Overview
![QMK Configurator Architecture Diagram](configurator_diagram.svg)
# Detailed Description
QMK Configurator is a [Single Page Application](https://en.wikipedia.org/wiki/Single-page_application) that allows users to create custom keymaps for their QMK-compatible keyboard. They can export JSON representation of their keymaps and compile firmware binaries that can be flashed to their keyboard using a tool like [QMK Toolbox](https://github.com/qmk/qmk_toolbox).
Configurator gets metadata about keyboards from the Keyboard Metadata store and submits compile requests to the QMK API. The results of those compile requests will be made available on [Digital Ocean Spaces](https://www.digitalocean.com/products/spaces/), an S3-compatible data store.
## Configurator Frontend
Address: <https://config.qmk.fm>
The [Configurator Frontend](https://config.qmk.fm) is compiled into a set of static files that are served by Github Pages. This action happens every time a commit is pushed to the [qmk_configurator `master`](https://github.com/qmk/qmk_configurator) branch. You can view the status of these jobs on the [qmk_configurator actions tab](https://github.com/qmk/qmk_configurator/actions/workflows/build.yml).
## Keyboard Metadata
Address: <https://keyboards.qmk.fm>
The Keyboard Metadata is generated every time a keyboard in [qmk_firmware](https://github.com/qmk/qmk_firmware) changes. The resulting JSON files are uploaded to Spaces and used by Configurator to generate UI for each keyboard. You can view the status of this job on the [qmk_firmware actions tab](https://github.com/qmk/qmk_firmware/actions/workflows/api.yml). If you are a QMK Collaborator you can manually run this job using the `workflow_dispatch` event trigger.
## QMK API
Address: <http://api.qmk.fm>
The QMK API accepts `keymap.json` files for compilation. These are the same files you can use directly with `qmk compile` and `qmk flash`. When a `keymap.json` is submitted the browser will poll the status of the job periodically (every 2 seconds or longer, preferably) until the job has completed. The final status JSON will contain pointers to source and binary downloads for the keymap.
QMK API always presents the source and binary downloads side-by-side to comply with the GPL.
There are 3 non-error status responses from the API-
1. Compile Job Queued
2. Compile Job Running
3. Compile Job Finished
### Compile Job Queued
This status indicates that the job has not yet been picked up by a [QMK Compiler](#qmk-compiler) node. Configurator shows this status as "Waiting for an oven".
### Compile Job Running
This status indicates that the job has started compiling. Configurator shows this status as "Baking".
### Compile Job Finished
This status indicates that the job has completed. There will be keys in the status JSON for source and binary downloads.
## Redis/RQ
QMK API uses RQ to distribute jobs to the available [QMK Compiler](#qmk-compiler) nodes. When a `keymap.json` is received it's put into the RQ queue, where a `qmk_compiler` node will pick it up from.
## QMK Compiler
[QMK Compiler](https://github.com/qmk/qmk_compiler) is what actually performs the compilation of the `keymap.json`. It does so by checking out the requested `qmk_firmware` branch, running `qmk compile keymap.json`, and then uploading the resulting source and binary to Digital Ocean Spaces.
When users download their source/binary, API will redirect them to the authenticated Spaces download URL.

View File

@@ -0,0 +1 @@
<mxfile host="Electron" modified="2021-08-09T19:46:29.036Z" agent="5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/14.6.13 Chrome/89.0.4389.128 Electron/12.0.7 Safari/537.36" etag="PQ2r34UrZa0TfW4Fw0EV" version="14.6.13" type="device"><diagram id="NEtccoSKIy4HskWlhJpu" name="Page-1">5VvbcqM4EP2a1O4+hOLqy2Ni5zKX1CTxzszOU0oG2dZEIBZEYu/XbwuEDQg7csZ2vFlXjQca0RLdR+eohXPiDML5VYLi2Q0LMD2xzWB+4gxPbNvqezb8JywLaTFtr7BMExJI28owIv/gsqG0ZiTAaa0hZ4xyEteNPosi7POaDSUJe643mzBa7zVGU6wYRj6iqvU7CfissPY8c2W/xmQ6K3u2THklRGVjaUhnKGDPFZNzceIMEsZ4cRTOB5iK6JVxKe67XHN1ObAER1znhgfT76Zzxxp3Z49j5+7zjw/z+NSS+XlCNJNPLEfLF2UIcAARkacs4TM2ZRGiFyvrecKyKMCiHxPOVm0+MxaD0QLjT8z5QqYXZZyBacZDKq/iKDgTyYLTiEW4sFwSSqXLAKWz3L9orD64jEXKssTHG57WlQBCyRTzTVGRDsWTV3qQcb3CLMQ8WUCDBFPEyVMdK0hCbrpst8oKHMjEbJEk9+UckTDHcTWm0jQk4RR6pWQM3z4l8QNKuDhkYZxxnKRw/J0ljymHJ2HRg2X35vDPiKPp2kA/4YTj+cbIyKunjmv0zMpHeljSQXH6XJla0jSrzKrStvPIei9Hdgm9HNoZpyTCgyXZmPWYI0qmERz7EDGcgIGiMaa3LCUittULIoQEaOZzo8GYcc7CSoMz6ZKLqXQOJBKLgYXzqSBc4xmPKcy11JgSPsvG0GLCIn6JQkJFiK8xfcLCjbwgJyDM+uJ8wChL8ud0ivSILnjCHnHblQlMyIp9kn/ADkMJCK55G14OL4YXmybrFhhyOzXQtKEGdMVwVeBUzDvHTjmKjdS54jWfojQlfpP3YCR/CRwZXnn6o3ptOJcgK84W8gwma8JVz7lZ0qZVI9Ff401PkzddTdqsJM5rme6lTZtdZQ+3jMCTLXFjlRkqyaZJI8Vzy7uqytl01Gk4chqOisAojnJYLR/7F5BWTpkV0gZUTDjgbnOUxTEorqCosxO7QyGG5+MEjqbiaDBLoPsTGzo2L0mCJ2yuNhri9FHQi21+iehCAfHzjHA8ilEOkWegnTqGm0QVkiDIVwU5950j/3Garw9Kdsjd7YYZlmurkhlUYrDNFoB19qUnltPCCUW40xhFZcBnnIvl65noTChxNCFT4+/w0ZiEZXOwV+9Qk9bmd0SiKYTeNm+F9AM2RKTX3tno4iN6QiM/IbFYHXz7eqHeOJI8AeM2YbTQDL4fiuFnCeIs0RvmNUt54eWqUK1iwOnaZ28Asr7cfC0894E/q2PYehDs7w2CGqtFdbndqklVRaoI1BpN2tEaXVdryql2JGKzTKiEgvdasXHchqNDi01XAz/vpiK0tOHW0YTbYUpC6/1ULj9TuH0XlWZ93riOuhjotsz/rmf09pWkjpKkuvI/4sWYoSRIG+K/ks9PsgV4ucEcBYgjXV2ekCR8hoiq7a+uoeGZX+RN3PQ1BsdiwXB2+wG+h629rFR7SKDaRPSLj4VIm7n2ptsuG2voPKRIu7Zt9N9apHtbiXRr7VirASVHVgtAc4cFoDZNekclypZnWK5p9Tp9y+v1up1y73nRQMbWBWHdz3LP90ASbav14HuW6L4m9spsHotE95Us3d18Kkm2mS5KSZziik76lGXBy+XNLpTTq8O5Y6rKadkts3Rv27JlZ2uFE8VkrWTeX4z+nGS0DLSeWILDTYp3jyJ/Bqsf2xRrFXP4Bb6+3fy2tegdUuc6pqenct29pVFjkfryDulhtzDLWXskCnbarCtd75WadaoUlpqqBelBi0qzWDRINwzZanTkOObmkTVv8Pq1G+CgGMNuRVSl53csonZXV0R7RyWitrobIasPMMoCRGF4WY807b+PnD+OS3idXh347fuHrdrbt8qWu4+5WpzU1RcE81QocLTwHcMPIiMoUsJEPtI8+obPWqRZRlNK7+kLoqskejut3UWCeg1msh3L6PYrn54qsf2WbO3thYOjrpTeTGK1Oea4ikSQ/EaSX7t1qwiZfeC9W6ft9dO71TSn/D3YS3hz7KPSNEct3+/vlDyVciS2/FLOEnwYSWpskXS7ai3YOSjB2WqwcEDEm+9cjEwRuqaGfGTineJdhrOW3c/2AjApnO6/BNxBkpqVXrfz1pWes91Lx73KkPZ+UTkP31qHyiw26zFt2fEacGiWiPtWHXWNXvwuIIwpETNmDbPhuZhhAcvG+RWrJj3Wm2x99Vt+QXLYrS9XXdAVu4YDCCehIpztbHefRVH+a07dX22sc/efoLy+/daU5+pswh+I8vRXQt3joDyZVbeW015ztaxLgHU3/eZbnT3Tn6uuULYGwoF/z+lo7wYdF16AHes00GuuO/V3Qxui2bP0ULP1bqjTYK5yS2Gvm5vu/6sQ1IVzKa67KwTXEJK3GVu6KLWd14H0ZRjB6eovj4rmqz/gci7+BQ==</diagram></mxfile>

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 39 KiB

View File

@@ -148,7 +148,7 @@ Feature and Bug Fix PR's affect all keyboards. We are also in the process of res
Here are some things to keep in mind when working on your feature or bug fix.
* **Disabled by default** - memory is a pretty limited on most chips QMK supports, and it's important that current keymaps aren't broken, so please allow your feature to be turned **on**, rather than being turned off. If you think it should be on by default, or reduces the size of the code, please talk with us about it.
* **Compile locally before submitting** - hopefully this one is obvious, but things need to compile! Our Travis system will catch any issues, but it's generally faster for you to compile a few keyboards locally instead of waiting for the results to come back.
* **Compile locally before submitting** - hopefully this one is obvious, but things need to compile! You should always make sure your changes compile before opening a pull request.
* **Consider revisions and different chip-bases** - there are several keyboards that have revisions that allow for slightly different configurations, and even different chip-bases. Try to make a feature supported in ARM and AVR, or automatically disabled on platforms it doesn't work on.
* **Explain your feature** - Document it in `docs/`, either as a new file or as part of an existing file. If you don't document it other people won't be able to benefit from your hard work.

View File

@@ -1,7 +1,6 @@
# Quantum Mechanical Keyboard Firmware
[![Aktuelle Version](https://img.shields.io/github/tag/qmk/qmk_firmware.svg)](https://github.com/qmk/qmk_firmware/tags)
[![Build Status](https://travis-ci.org/qmk/qmk_firmware.svg?branch=master)](https://travis-ci.org/qmk/qmk_firmware)
[![Discord](https://img.shields.io/discord/440868230475677696.svg)](https://discord.gg/Uq7gcHh)
[![Docs Status](https://img.shields.io/badge/docs-ready-orange.svg)](https://docs.qmk.fm)
[![GitHub contributors](https://img.shields.io/github/contributors/qmk/qmk_firmware.svg)](https://github.com/qmk/qmk_firmware/pulse/monthly)

View File

@@ -30,18 +30,38 @@ If you find that you can no longer type with the keyboard, you may have accident
![A healthy keyboard as seen by Zadig](https://i.imgur.com/Hx0E5kC.png)
Open the Device Manager and look for a device that looks like your keyboard.
Open the Device Manager, select **View → Devices by container**, and look for an entry with your keyboard's name.
![The board with the wrong driver installed, in Device Manager](https://i.imgur.com/L3wvX8f.png)
![The board with the wrong driver installed, in Device Manager](https://i.imgur.com/o7WLvBl.png)
Right-click it and hit **Uninstall device**. Make sure to tick **Delete the driver software for this device** first.
Right-click each entry and hit **Uninstall device**. Make sure to tick **Delete the driver software for this device** first if it appears.
![The Device Uninstall dialog, with the "delete driver" checkbox ticked](https://i.imgur.com/aEs2RuA.png)
Click **Action → Scan for hardware changes**. At this point, you should be able to type again. Double check in Zadig that the keyboard device(s) are using the `HidUsb` driver. If so, you're all done, and your board should be functional again! Otherwise, repeat the process until Zadig reports the correct driver.
Click **Action → Scan for hardware changes**. At this point, you should be able to type again. Double check in Zadig that the keyboard device(s) are using the `HidUsb` driver. If so, you're all done, and your board should be functional again! Otherwise, repeat this process until Zadig reports the correct driver.
?> A full reboot of your computer may sometimes be necessary at this point, to get Windows to pick up the new driver.
## Uninstallation
Uninstallation of bootloader devices is a little more involved than installation.
Open the Device Manager, select **View → Devices by container**, and look for the bootloader device. Match up the USB VID and PID in Zadig with one from [the table below](#list-of-known-bootloaders).
Find the `Inf name` value in the Details tab of the device properties. This should generally be something like `oemXX.inf`:
![Device properties showing the Inf name value](https://i.imgur.com/Bu4mk9m.png)
Then, open a new Command Prompt window as an Administrator (type in `cmd` into the Start menu and press Ctrl+Shift+Enter). Run `pnputil /enum-drivers` to verify the `Inf name` matches the `Published Name` field of one of the entries:
![pnputil output with matching driver highlighted](https://i.imgur.com/3RrSjzW.png)
Run `pnputil /delete-driver oemXX.inf /uninstall`. This will delete the driver and remove it from any devices using it. Note that this will not uninstall the device itself.
As with the previous section, this process may need to be repeated multiple times, as multiple drivers can be applicable to the same device.
!> **WARNING:** Be *extremely careful* when doing this! You could potentially uninstall the driver for some other critical device. If you are unsure, double check the output of `/enum-drivers`, and omit the `/uninstall` flag when running `/delete-driver`.
## List of Known Bootloaders
This is a list of known bootloader devices and their USB vendor and product IDs, as well as the correct driver to assign for flashing with QMK. Note that the usbser and HidUsb drivers are built in to Windows, and cannot be assigned with Zadig - if your device has an incorrect driver, you must use the Device Manager to uninstall it as described in the previous section.

View File

@@ -1,7 +1,6 @@
# Firmware Quantum Mechanical Keyboard
[![Versión actual](https://img.shields.io/github/tag/qmk/qmk_firmware.svg)](https://github.com/qmk/qmk_firmware/tags)
[![Estado de Build](https://travis-ci.org/qmk/qmk_firmware.svg?branch=master)](https://travis-ci.org/qmk/qmk_firmware)
[![Discord](https://img.shields.io/discord/440868230475677696.svg)](https://discord.gg/Uq7gcHh)
[![Estado de la documentación](https://img.shields.io/badge/docs-ready-orange.svg)](https://docs.qmk.fm)
[![Contribuyentes en GitHub](https://img.shields.io/github/contributors/qmk/qmk_firmware.svg)](https://github.com/qmk/qmk_firmware/pulse/monthly)

View File

@@ -28,7 +28,7 @@ For compatible platforms, [QMK Toolbox](https://github.com/qmk/qmk_toolbox) can
Prefer a terminal based solution? [hid_listen](https://www.pjrc.com/teensy/hid_listen.html), provided by PJRC, can also be used to display debug messages. Prebuilt binaries for Windows,Linux,and MacOS are available.
## Sending Your Own Debug Messages
## Sending Your Own Debug Messages :id=debug-api
Sometimes it's useful to print debug messages from within your [custom code](custom_quantum_functions.md). Doing so is pretty simple. Start by including `print.h` at the top of your file:

View File

@@ -2,24 +2,27 @@
These allow you to combine a modifier with a keycode. When pressed, the keydown event for the modifier, then `kc` will be sent. On release, the keyup event for `kc`, then the modifier will be sent.
|Key |Aliases |Description |
|----------|-------------------------------|------------------------------------------------------|
|`LCTL(kc)`|`C(kc)` |Hold Left Control and press `kc` |
|`LSFT(kc)`|`S(kc)` |Hold Left Shift and press `kc` |
|`LALT(kc)`|`A(kc)`, `LOPT(kc)` |Hold Left Alt and press `kc` |
|`LGUI(kc)`|`G(kc)`, `LCMD(kc)`, `LWIN(kc)`|Hold Left GUI and press `kc` |
|`RCTL(kc)`| |Hold Right Control and press `kc` |
|`RSFT(kc)`| |Hold Right Shift and press `kc` |
|`RALT(kc)`|`ROPT(kc)`, `ALGR(kc)` |Hold Right Alt and press `kc` |
|`RGUI(kc)`|`RCMD(kc)`, `LWIN(kc)` |Hold Right GUI and press `kc` |
|`SGUI(kc)`|`SCMD(kc)`, `SWIN(kc)` |Hold Left Shift and GUI and press `kc` |
|`LCA(kc)` | |Hold Left Control and Alt and press `kc` |
|`LSA(kc)` | |Hold Left Shift and Left Alt and press `kc` |
|`RSA(kc)` |`SAGR(kc)` |Hold Right Shift and Right Alt (AltGr) and press `kc` |
|`RCS(kc)` | |Hold Right Control and Right Shift and press `kc` |
|`LCAG(kc)`| |Hold Left Control, Alt and GUI and press `kc` |
|`MEH(kc)` | |Hold Left Control, Shift and Alt and press `kc` |
|`HYPR(kc)`| |Hold Left Control, Shift, Alt and GUI and press `kc` |
|Key |Aliases |Description |
|----------|----------------------------------|------------------------------------------------------|
|`LCTL(kc)`|`C(kc)` |Hold Left Control and press `kc` |
|`LSFT(kc)`|`S(kc)` |Hold Left Shift and press `kc` |
|`LALT(kc)`|`A(kc)`, `LOPT(kc)` |Hold Left Alt and press `kc` |
|`LGUI(kc)`|`G(kc)`, `LCMD(kc)`, `LWIN(kc)` |Hold Left GUI and press `kc` |
|`RCTL(kc)`| |Hold Right Control and press `kc` |
|`RSFT(kc)`| |Hold Right Shift and press `kc` |
|`RALT(kc)`|`ROPT(kc)`, `ALGR(kc)` |Hold Right Alt and press `kc` |
|`RGUI(kc)`|`RCMD(kc)`, `LWIN(kc)` |Hold Right GUI and press `kc` |
|`LSG(kc)` |`SGUI(kc)`, `SCMD(kc)`, `SWIN(kc)`|Hold Left Shift and GUI and press `kc` |
|`LAG(kc)` | |Hold Left Alt and Left GUI and press `kc` |
|`RSG(kc)` | |Hold Right Shift and Right GUI and press `kc` |
|`RAG(kc)` | |Hold Right Alt and Right GUI and press `kc` |
|`LCA(kc)` | |Hold Left Control and Alt and press `kc` |
|`LSA(kc)` | |Hold Left Shift and Left Alt and press `kc` |
|`RSA(kc)` |`SAGR(kc)` |Hold Right Shift and Right Alt (AltGr) and press `kc` |
|`RCS(kc)` | |Hold Right Control and Right Shift and press `kc` |
|`LCAG(kc)`| |Hold Left Control, Alt and GUI and press `kc` |
|`MEH(kc)` | |Hold Left Control, Shift and Alt and press `kc` |
|`HYPR(kc)`| |Hold Left Control, Shift, Alt and GUI and press `kc` |
You can also chain them, for example `LCTL(LALT(KC_DEL))` or `C(A(KC_DEL))` makes a key that sends Control+Alt+Delete with a single keypress.

View File

@@ -131,12 +131,14 @@ You can override the default songs by doing something like this in your `config.
```c
#ifdef AUDIO_ENABLE
#define STARTUP_SONG SONG(STARTUP_SOUND)
# define STARTUP_SONG SONG(STARTUP_SOUND)
#endif
```
A full list of sounds can be found in [quantum/audio/song_list.h](https://github.com/qmk/qmk_firmware/blob/master/quantum/audio/song_list.h) - feel free to add your own to this list! All available notes can be seen in [quantum/audio/musical_notes.h](https://github.com/qmk/qmk_firmware/blob/master/quantum/audio/musical_notes.h).
Additionally, if you with to maintain your own list of songs (such as ones that may be copyrighted) and not have them added to the repo, you can create a `user_song_list.h` file and place it in your keymap (or userspace) folder. This file will be automatically included, it just needs to exist.
To play a custom sound at a particular time, you can define a song like this (near the top of the file):
```c
@@ -301,8 +303,7 @@ You can configure the default, min and max frequencies, the stepping and built i
## MIDI Functionality
This is still a WIP, but check out `quantum/process_keycode/process_midi.c` to see what's happening. Enable from the Makefile.
See [MIDI](feature_midi.md)
## Audio Keycodes
@@ -319,114 +320,3 @@ This is still a WIP, but check out `quantum/process_keycode/process_midi.c` to s
|`MU_OFF` | |Turns off Music Mode |
|`MU_TOG` | |Toggles Music Mode |
|`MU_MOD` | |Cycles through the music modes |
<!-- FIXME: this formatting needs work
## Audio
```c
#ifdef AUDIO_ENABLE
AU_ON,
AU_OFF,
AU_TOG,
// Music mode on/off/toggle
MU_ON,
MU_OFF,
MU_TOG,
// Music voice iterate
MUV_IN,
MUV_DE,
#endif
```
### Midi
#if !MIDI_ENABLE_STRICT || (defined(MIDI_ENABLE) && defined(MIDI_BASIC))
MI_ON, // send midi notes when music mode is enabled
MI_OFF, // don't send midi notes when music mode is enabled
#endif
MIDI_TONE_MIN,
MIDI_TONE_MAX
MI_C = MIDI_TONE_MIN,
MI_Cs,
MI_Db = MI_Cs,
MI_D,
MI_Ds,
MI_Eb = MI_Ds,
MI_E,
MI_F,
MI_Fs,
MI_Gb = MI_Fs,
MI_G,
MI_Gs,
MI_Ab = MI_Gs,
MI_A,
MI_As,
MI_Bb = MI_As,
MI_B,
MIDI_TONE_KEYCODE_OCTAVES > 1
where x = 1-5:
MI_C_x,
MI_Cs_x,
MI_Db_x = MI_Cs_x,
MI_D_x,
MI_Ds_x,
MI_Eb_x = MI_Ds_x,
MI_E_x,
MI_F_x,
MI_Fs_x,
MI_Gb_x = MI_Fs_x,
MI_G_x,
MI_Gs_x,
MI_Ab_x = MI_Gs_x,
MI_A_x,
MI_As_x,
MI_Bb_x = MI_As_x,
MI_B_x,
MI_OCT_Nx 1-2
MI_OCT_x 0-7
MIDI_OCTAVE_MIN = MI_OCT_N2,
MIDI_OCTAVE_MAX = MI_OCT_7,
MI_OCTD, // octave down
MI_OCTU, // octave up
MI_TRNS_Nx 1-6
MI_TRNS_x 0-6
MIDI_TRANSPOSE_MIN = MI_TRNS_N6,
MIDI_TRANSPOSE_MAX = MI_TRNS_6,
MI_TRNSD, // transpose down
MI_TRNSU, // transpose up
MI_VEL_x 1-10
MIDI_VELOCITY_MIN = MI_VEL_1,
MIDI_VELOCITY_MAX = MI_VEL_9,
MI_VELD, // velocity down
MI_VELU, // velocity up
MI_CHx 1-16
MIDI_CHANNEL_MIN = MI_CH1
MIDI_CHANNEL_MAX = MI_CH16,
MI_CHD, // previous channel
MI_CHU, // next channel
MI_ALLOFF, // all notes off
MI_SUS, // sustain
MI_PORT, // portamento
MI_SOST, // sostenuto
MI_SOFT, // soft pedal
MI_LEG, // legato
MI_MOD, // modulation
MI_MODSD, // decrease modulation speed
MI_MODSU, // increase modulation speed
#endif // MIDI_ADVANCED
-->

View File

@@ -146,7 +146,7 @@ And to trigger the bootloader, you hold this key down when plugging the keyboard
## Split Keyboards
When handedness is predetermined via an option like `SPLIT_HAND_PIN`, you might need to configure a different key between halves. This To do so, add these entries to your `config.h` file:
When handedness is predetermined via an option like `SPLIT_HAND_PIN`, you might need to configure a different key between halves. To do so, add these entries to your `config.h` file:
```c
#define BOOTMAGIC_LITE_ROW_RIGHT 4

View File

@@ -1,5 +1,7 @@
# LED Indicators
?> Currently, this feature is not supported for split keyboards
QMK provides methods to read 5 of the LEDs defined in the HID spec:
* Num Lock

View File

@@ -67,6 +67,8 @@ Where `Cx_y` is the location of the LED in the matrix defined by [the datasheet]
---
## Common Configuration :id=common-configuration
From this point forward the configuration is the same for all the drivers. The `led_config_t` struct provides a key electrical matrix to led index lookup table, what the physical position of each LED is on the board, and what type of key or usage the LED if the LED represents. Here is a brief example:
```c

260
docs/feature_midi.md Normal file
View File

@@ -0,0 +1,260 @@
# MIDI
## Usage
First, enable MIDI by adding the following to your `rules.mk`:
```makefile
MIDI_ENABLE = yes
```
There are two MIDI systems in QMK: basic and advanced. With basic MIDI you will only be able to send Note On and Note Off messages using the note keycodes, meaning that keycodes like `MI_OCTU` and `MI_OCTD` will not work. Advanced MIDI allows you to do things like octave shifts, channel changes, velocity changes, modulation, and more.
### Basic MIDI
To enable basic MIDI, add the following to your `config.h`:
```c
#define MIDI_BASIC
```
### Advanced MIDI
To enable advanced MIDI, add the following to your `config.h`:
```c
#define MIDI_ADVANCED
```
#### Sending Control Change (CC) Messages
If you're aiming to emulate the features of something like a Launchpad or other MIDI controller you'll need to access the internal MIDI device directly.
Because there are so many possible CC messages, not all of them are implemented as keycodes. Additionally, you might need to provide more than just two values that you would get from a keycode (pressed and released) - for example, the analog values from a fader or a potentiometer. So, you will need to implement [custom keycodes](feature_macros.md) if you want to use them in your keymap directly using `process_record_user()`.
For reference of all the possible control code numbers see [MIDI Specification](#midi-specification)
#### Example code for using Generic On Off Switches as per MIDI Specification.
```c
#include QMK_KEYBOARD_H
extern MidiDevice midi_device;
// MIDI CC codes for generic on/off switches (80, 81, 82, 83)
// Off: 0-63
// On: 64-127
#define MIDI_CC_OFF 0
#define MIDI_CC_ON 127
enum custom_keycodes {
MIDI_CC80 = SAFE_RANGE,
};
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
switch (keycode) {
case MIDI_CC80:
if (record->event.pressed) {
midi_send_cc(&midi_device, midi_config.channel, 80, ON);
} else {
midi_send_cc(&midi_device, midi_config.channel, 80, OFF);
}
return true;
}
return true;
};
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
LAYOUT(
// ...
MIDI_CC80,
// ...
)
};
```
### Keycodes
|Keycode |Aliases |Description |
|------------|---------|---------------------------------|
|`MI_ON` | |Turn MIDI on |
|`MI_OFF` | |Turn MIDI off |
|`MI_TOG` | |Toggle MIDI enabled |
|`MI_C` | |C octave 0 |
|`MI_Cs` |`MI_Db` |C♯/D♭ octave 0 |
|`MI_D` | |D octave 0 |
|`MI_Ds` |`MI_Eb` |D♯/E♭ octave 0 |
|`MI_E` | |E octave 0 |
|`MI_F` | |F octave 0 |
|`MI_Fs` |`MI_Gb` |F♯/G♭ octave 0 |
|`MI_G` | |G octave 0 |
|`MI_Gs` |`MI_Gs` |G♯/A♭ octave 0 |
|`MI_A` | |A octave 0 |
|`MI_As` |`MI_Bb` |A♯/B♭ octave 0 |
|`MI_B` | |B octave 0 |
|`MI_C_1` | |C octave 1 |
|`MI_Cs_1` |`MI_Db_1`|C♯/D♭ octave 1 |
|`MI_D_1` | |D octave 1 |
|`MI_Ds_1` |`MI_Eb_1`|D♯/E♭ octave 1 |
|`MI_E_1` | |E octave 1 |
|`MI_F_1` | |F octave 1 |
|`MI_Fs_1` |`MI_Gb_1`|F♯/G♭ octave 1 |
|`MI_G_1` | |G octave 1 |
|`MI_Gs_1` |`MI_Ab_1`|G♯/A♭ octave 1 |
|`MI_A_1` | |A octave 1 |
|`MI_As_1` |`MI_Bb_1`|A♯/B♭ octave 1 |
|`MI_B_1` | |B octave 1 |
|`MI_C_2` | |C octave 2 |
|`MI_Cs_2` |`MI_Db_2`|C♯/D♭ octave 2 |
|`MI_D_2` | |D octave 2 |
|`MI_Ds_2` |`MI_Eb_2`|D♯/E♭ octave 2 |
|`MI_E_2` | |E octave 2 |
|`MI_F_2` | |F octave 2 |
|`MI_Fs_2` |`MI_Gb_2`|F♯/G♭ octave 2 |
|`MI_G_2` | |G octave 2 |
|`MI_Gs_2` |`MI_Ab_2`|G♯/A♭ octave 2 |
|`MI_A_2` | |A octave 2 |
|`MI_As_2` |`MI_Bb_2`|A♯/B♭ octave 2 |
|`MI_B_2` | |B octave 2 |
|`MI_C_3` | |C octave 3 |
|`MI_Cs_3` |`MI_Db_3`|C♯/D♭ octave 3 |
|`MI_D_3` | |D octave 3 |
|`MI_Ds_3` |`MI_Eb_3`|D♯/E♭ octave 3 |
|`MI_E_3` | |E octave 3 |
|`MI_F_3` | |F octave 3 |
|`MI_Fs_3` |`MI_Gb_3`|F♯/G♭ octave 3 |
|`MI_G_3` | |G octave 3 |
|`MI_Gs_3` |`MI_Ab_3`|G♯/A♭ octave 3 |
|`MI_A_3` | |A octave 3 |
|`MI_As_3` |`MI_Bb_3`|A♯/B♭ octave 3 |
|`MI_B_3` | |B octave 3 |
|`MI_C_4` | |C octave 4 |
|`MI_Cs_4` |`MI_Db_4`|C♯/D♭ octave 4 |
|`MI_D_4` | |D octave 4 |
|`MI_Ds_4` |`MI_Eb_4`|D♯/E♭ octave 4 |
|`MI_E_4` | |E octave 4 |
|`MI_F_4` | |F octave 4 |
|`MI_Fs_4` |`MI_Gb_4`|F♯/G♭ octave 4 |
|`MI_G_4` | |G octave 4 |
|`MI_Gs_4` |`MI_Ab_4`|G♯/A♭ octave 4 |
|`MI_A_4` | |A octave 4 |
|`MI_As_4` |`MI_Bb_4`|A♯/B♭ octave 4 |
|`MI_B_4` | |B octave 4 |
|`MI_C_5` | |C octave 5 |
|`MI_Cs_5` |`MI_Db_5`|C♯/D♭ octave 5 |
|`MI_D_5` | |D octave 5 |
|`MI_Ds_5` |`MI_Eb_5`|D♯/E♭ octave 5 |
|`MI_E_5` | |E octave 5 |
|`MI_F_5` | |F octave 5 |
|`MI_Fs_5` |`MI_Gb_5`|F♯/G♭ octave 5 |
|`MI_G_5` | |G octave 5 |
|`MI_Gs_5` |`MI_Ab_5`|G♯/A♭ octave 5 |
|`MI_A_5` | |A octave 5 |
|`MI_As_5` |`MI_Bb_5`|A♯/B♭ octave 5 |
|`MI_B_5` | |B octave 5 |
|`MI_OCT_N2` | |Set octave to -2 |
|`MI_OCT_N1` | |Set octave to -1 |
|`MI_OCT_0` | |Set octave to 0 |
|`MI_OCT_1` | |Set octave to 1 |
|`MI_OCT_2` | |Set octave to 2 |
|`MI_OCT_3` | |Set octave to 3 |
|`MI_OCT_4` | |Set octave to 4 |
|`MI_OCT_5` | |Set octave to 5 |
|`MI_OCT_6` | |Set octave to 6 |
|`MI_OCT_7` | |Set octave to 7 |
|`MI_OCTD` | |Move down an octave |
|`MI_OCTU` | |Move up an octave |
|`MI_TRNS_N6`| |Set transposition to -6 semitones|
|`MI_TRNS_N5`| |Set transposition to -5 semitones|
|`MI_TRNS_N4`| |Set transposition to -4 semitones|
|`MI_TRNS_N3`| |Set transposition to -3 semitones|
|`MI_TRNS_N2`| |Set transposition to -2 semitones|
|`MI_TRNS_N1`| |Set transposition to -1 semitone |
|`MI_TRNS_0` | |No transposition |
|`MI_TRNS_1` | |Set transposition to +1 semitone |
|`MI_TRNS_2` | |Set transposition to +2 semitones|
|`MI_TRNS_3` | |Set transposition to +3 semitones|
|`MI_TRNS_4` | |Set transposition to +4 semitones|
|`MI_TRNS_5` | |Set transposition to +5 semitones|
|`MI_TRNS_6` | |Set transposition to +6 semitones|
|`MI_TRNSD` | |Decrease transposition |
|`MI_TRNSU` | |Increase transposition |
|`MI_VEL_0` | |Set velocity to 0 |
|`MI_VEL_1` | |Set velocity to 12 |
|`MI_VEL_2` | |Set velocity to 25 |
|`MI_VEL_3` | |Set velocity to 38 |
|`MI_VEL_4` | |Set velocity to 51 |
|`MI_VEL_5` | |Set velocity to 64 |
|`MI_VEL_6` | |Set velocity to 76 |
|`MI_VEL_7` | |Set velocity to 89 |
|`MI_VEL_8` | |Set velocity to 102 |
|`MI_VEL_9` | |Set velocity to 114 |
|`MI_VEL_10` | |Set velocity to 127 |
|`MI_VELD` | |Decrease velocity |
|`MI_VELU` | |Increase velocity |
|`MI_CH1` | |Set channel to 1 |
|`MI_CH2` | |Set channel to 2 |
|`MI_CH3` | |Set channel to 3 |
|`MI_CH4` | |Set channel to 4 |
|`MI_CH5` | |Set channel to 5 |
|`MI_CH6` | |Set channel to 6 |
|`MI_CH7` | |Set channel to 7 |
|`MI_CH8` | |Set channel to 8 |
|`MI_CH9` | |Set channel to 9 |
|`MI_CH10` | |Set channel to 10 |
|`MI_CH11` | |Set channel to 11 |
|`MI_CH12` | |Set channel to 12 |
|`MI_CH13` | |Set channel to 13 |
|`MI_CH14` | |Set channel to 14 |
|`MI_CH15` | |Set channel to 15 |
|`MI_CH16` | |Set channel to 16 |
|`MI_CHD` | |Decrease channel |
|`MI_CHU` | |Increase channel |
|`MI_ALLOFF` | |Stop all notes |
|`MI_SUS` | |Sustain |
|`MI_PORT` | |Portmento |
|`MI_SOST` | |Sostenuto |
|`MI_SOFT` | |Soft Pedal |
|`MI_LEG` | |Legato |
|`MI_MOD` | |Modulation |
|`MI_MODSD` | |Decrease modulation speed |
|`MI_MODSU` | |Increase modulation speed |
|`MI_BENDD` | |Bend pitch down |
|`MI_BENDU` | |Bend pitch up |
### Configuration
Certain values are stored in the `midi_config` struct. This configuration is not persisted to EEPROM. By default, these values are:
|Configuration |Value|Comments |
|-------------------|-----|-------------------------|
|Octave |`4` |Corresponds to `MI_OCT_2`|
|Transposition |`0` | |
|Velocity |`127`| |
|Channel |`0` | |
|Modulation Interval|`8` | |
For the above, the `MI_C` keycode will produce a C3 (note number 48), and so on.
### References
#### MIDI Specification
* [MIDI.org](https://www.midi.org/specifications-old/item/table-1-summary-of-midi-message)
* [CMU MIDI Programmer's Reference](https://www.cs.cmu.edu/~music/cmsip/readings/MIDI%20tutorial%20for%20programmers.html)
#### QMK C Files
* `quantum/process_keycode/process_midi.c`
* `quantum/quantum_keycodes.h`
* `tmk_core/protocol/midi.h`
* `tmk_core/protocol/midi.c`
* `tmk_core/protocol/qmk_midi.c`
* `tmk_core/protocol/midi_device.h`
<!--
#### QMK Internals (Autogenerated)
* [Internals/MIDI Device Setup Process](internals_midi_device_setup_process.md)
* [Internals/MIDI Device](internals_midi_device.md)
* [Internals/MIDI Util](internals_midi_util.md)
-->

View File

@@ -263,11 +263,25 @@ void oled_write(const char *data, bool invert);
void oled_write_ln(const char *data, bool invert);
// Pans the buffer to the right (or left by passing true) by moving contents of the buffer
// Useful for moving the screen in preparation for new drawing
// Useful for moving the screen in preparation for new drawing
// oled_scroll_left or oled_scroll_right should be preferred for all cases of moving a static
// image such as a logo or to avoid burn-in as it's much, much less cpu intensive
void oled_pan(bool left);
// Returns a pointer to the requested start index in the buffer plus remaining
// buffer length as struct
oled_buffer_reader_t oled_read_raw(uint16_t start_index);
// Writes a string to the buffer at current cursor position
void oled_write_raw(const char *data, uint16_t size);
// Writes a single byte into the buffer at the specified index
void oled_write_raw_byte(const char data, uint16_t index);
// Sets a specific pixel on or off
// Coordinates start at top-left and go right and down for positive x and y
void oled_write_pixel(uint8_t x, uint8_t y, bool on);
// Writes a PROGMEM string to the buffer at current cursor position
// Advances the cursor while writing, inverts the pixels if true
// Remapped to call 'void oled_write(const char *data, bool invert);' on ARM
@@ -279,23 +293,9 @@ void oled_write_P(const char *data, bool invert);
// Remapped to call 'void oled_write_ln(const char *data, bool invert);' on ARM
void oled_write_ln_P(const char *data, bool invert);
// Returns a pointer to the requested start index in the buffer plus remaining
// buffer length as struct
oled_buffer_reader_t oled_read_raw(uint16_t start_index);
// Writes a string to the buffer at current cursor position
void oled_write_raw(const char *data, uint16_t size);
// Writes a single byte into the buffer at the specified index
void oled_write_raw_byte(const char data, uint16_t index);
// Writes a PROGMEM string to the buffer at current cursor position
void oled_write_raw_P(const char *data, uint16_t size);
// Sets a specific pixel on or off
// Coordinates start at top-left and go right and down for positive x and y
void oled_write_pixel(uint8_t x, uint8_t y, bool on);
// Can be used to manually turn on the screen if it is off
// Returns true if the screen was on or turns on
bool oled_on(void);

View File

@@ -229,6 +229,8 @@ Configure the hardware via your `config.h`:
---
## Common Configuration :id=common-configuration
From this point forward the configuration is the same for all the drivers. The `led_config_t` struct provides a key electrical matrix to led index lookup table, what the physical position of each LED is on the board, and what type of key or usage the LED if the LED represents. Here is a brief example:
```c
@@ -622,6 +624,39 @@ void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) {
}
```
### Indicator Examples :id=indicator-examples
Caps Lock indicator on alphanumeric flagged keys:
```c
void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) {
if (host_keyboard_led_state().caps_lock) {
for (uint8_t i = led_min; i <= led_max; i++) {
if (g_led_config.flags[i] & LED_FLAG_KEYLIGHT) {
rgb_matrix_set_color(i, RGB_RED);
}
}
}
}
```
Layer indicator on all flagged keys:
```c
void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) {
for (uint8_t i = led_min; i <= led_max; i++) {
switch(get_highest_layer(layer_state|default_layer_state)) {
case RAISE:
rgb_matrix_set_color(i, RGB_BLUE);
break;
case LOWER:
rgb_matrix_set_color(i, RGB_YELLOW);
break;
default:
break;
}
}
}
```
### Suspended state :id=suspended-state
To use the suspend feature, make sure that `#define RGB_DISABLE_WHEN_USB_SUSPENDED true` is added to the `config.h` file.

View File

@@ -60,6 +60,7 @@ The 3 wires of the TRS/TRRS cable need to connect GND, VCC, and D0/D1/D2/D3 (aka
The 4 wires of the TRRS cable need to connect GND, VCC, and SCL and SDA (aka PD0/pin 3 and PD1/pin 2, respectively) between the two Pro Micros.
The pull-up resistors may be placed on either half. If you wish to use the halves independently, it is also possible to use 4 resistors and have the pull-ups in both halves.
Note that the total resistance for the connected system should be within spec at 2.2k-10kOhm, with an 'ideal' at 4.7kOhm, regardless of the placement and number.
<img alt="sk-i2c-connection-mono" src="https://user-images.githubusercontent.com/2170248/92297182-92b98580-ef77-11ea-9d7d-d6033914af43.JPG" width="50%"/>

View File

@@ -490,6 +490,8 @@ void ql_finished(qk_tap_dance_state_t *state, void *user_data) {
layer_on(_MY_LAYER);
}
break;
default:
break;
}
}

View File

@@ -45,6 +45,7 @@ bool wpm_keycode_user(uint16_t keycode) {
Additionally, if `WPM_ALLOW_COUNT_REGRESSION` is defined, there is the `uint8_t wpm_regress_count(uint16_t keycode)` function that allows you to decrease the WPM. This is useful if you want to be able to penalize certain keycodes (or even combinations).
```c
__attribute__((weak)) uint8_t wpm_regress_count(uint16_t keycode) {
bool weak_modded = (keycode >= QK_LCTL && keycode < QK_LSFT) || (keycode >= QK_RCTL && keycode < QK_RSFT);
@@ -60,3 +61,4 @@ __attribute__((weak)) uint8_t wpm_regress_count(uint16_t keycode) {
return 1;
}
}
```

View File

@@ -1,15 +1,14 @@
# Quantum Mechanical Keyboard Firmware
[![Version courante](https://img.shields.io/github/tag/qmk/qmk_firmware.svg)](https://github.com/qmk/qmk_firmware/tags)
[![Statut du build](https://travis-ci.org/qmk/qmk_firmware.svg?branch=master)](https://travis-ci.org/qmk/qmk_firmware)
[![Discord](https://img.shields.io/discord/440868230475677696.svg)](https://discord.gg/Uq7gcHh)
[![Statut de la doc](https://img.shields.io/badge/docs-ready-orange.svg)](https://docs.qmk.fm)
[![Contributeurs GitHub](https://img.shields.io/github/contributors/qmk/qmk_firmware.svg)](https://github.com/qmk/qmk_firmware/pulse/monthly)
[![Forks GitHub](https://img.shields.io/github/forks/qmk/qmk_firmware.svg?style=social&label=Fork)](https://github.com/qmk/qmk_firmware/)
## Qu'est-ce que QMK Firmware?
## Qu'est-ce que QMK Firmware?
QMK (*Quantum Mechanical Keyboard*) est une communauté open source qui maintient le firmware QMK, la QMK Toolbox (*Boite à outil*), qmk.fm et leurs documentations. QMKFirmware est un firmware dédié aux claviers qui est basé sur [tmk\_keyboard](https://github.com/tmk/tmk_keyboard). Il offre des fonctionnalités très utiles pour les contrôleurs Atmel AVR, et, plus spécifiquement pour [les produits d'OLKB](https://olkb.com), le clavier [ErgoDox EZ](https://www.ergodox-ez.com), et pour les [produits Clueboard](https://clueboard.co/). Il prend désormais aussi en charge les processeurs ARM qui utilisent ChibiOS. Vous pouvez l'utiliser pour contrôler un clavier personnalisé soudé à la main ou alors sur un clavier avec un PCB personnalisé.
QMK (*Quantum Mechanical Keyboard*) est une communauté open source qui maintient le firmware QMK, la QMK Toolbox (*Boite à outil*), qmk.fm et leurs documentations. QMK Firmware est un firmware dédié aux claviers qui est basé sur [tmk\_keyboard](https://github.com/tmk/tmk_keyboard). Il offre des fonctionnalités très utiles pour les contrôleurs Atmel AVR, et, plus spécifiquement pour [les produits d'OLKB](https://olkb.com), le clavier [ErgoDox EZ](https://www.ergodox-ez.com), et pour les [produits Clueboard](https://clueboard.co/). Il prend désormais aussi en charge les processeurs ARM qui utilisent ChibiOS. Vous pouvez l'utiliser pour contrôler un clavier personnalisé soudé à la main ou alors sur un clavier avec un PCB personnalisé.
## Comment l'obtenir
@@ -23,7 +22,7 @@ Avant d'être prêt à compiler vous allez devoir [installer un environnement](f
make planck/rev4:default
Cette commande compilera la révision `rev4` du clavier `planck` avec la disposition `default`. Notez que tous les claviers n'ont pas forcément de révisions (aussi appelées sous-projects ou dossiers, ou en anglais «subprojects» ou «folder»). Cette option peut donc être omise:
Cette commande compilera la révision `rev4` du clavier `planck` avec la disposition `default`. Notez que tous les claviers n'ont pas forcément de révisions (aussi appelées sous-projects ou dossiers, ou en anglais «subprojects» ou «folder»). Cette option peut donc être omise:
make preonic:default

View File

@@ -103,5 +103,4 @@ Ceci est fait immédiatement après la fusion de la branche `future` précédent
* [ ] `git push origin future`
* Actions sur GitHub
* [ ] Crée un PR pour `future`
* [ ] S'assurer que Travis ne relève aucun problème
* [ ] Fusion le PR `future`

View File

@@ -134,7 +134,7 @@ Les PR de nouvelles fonctionnalités de de correction de bug affectent tous les
Voici quelques choses à garder en tête lorsque vous travaillez sur une fonctionnalité ou un bug fix.
* **Désactivé par défaut** - la mémoire est plutôt limitée sur la plupart des puces que QMK supporte, et il est important que les keymaps courantes ne soient pas cassées. S'il vous plaît faites que vos features doivent être **activées** plutôt que désactivées. Si vous pensez qu'elle devrait être activée par défaut, ou que cela réduit la taille du code, parlez-nous-en.
* **Compilez localement avant de soumettre** - Cela devrait aller sans dire, mais votre code doit compiler! Notre système Travis devrait relever les problèmes, mais il est généralement plus rapide de compiler quelques claviers en local plutôt que d'attendre le retour des résultats
* **Compilez localement avant de soumettre** - Cela devrait aller sans dire, mais votre code doit compiler! Vous devriez toujours faire gaffe à ce que vos changements compilent avant d'ouvrir une pull request.
* **Faites attention aux révisions et différentes bases de puces** - beaucoup de claviers ont des révisions qui permettent des changements de configuration mineurs, voir des bases de chip différentes. Essayez de faire que votre fonctionnalité soit supportée à la fois sur ARM et AVR, ou désactivez-là automatiquement sur les plateformes non supportées.
* **Expliquez votre fonctionnalité** - Documentez-là dans `docs/`, soit dans un nouveau fichier, ou dans une partie d'un fichier existant. Si vous ne la documentez pas, personne ne pourra bénéficier de votre dur labeur.

View File

@@ -9,7 +9,7 @@ Nous vous recommandons d'utiliser l'utilitaire [Zadig](https://zadig.akeo.ie/).
## Installation
Passez votre clavier en mode bootloader, soit en appuyant sur le keycode `RESET` (qui peut se trouver dans un calque différent) ou en appuyant sur le bouton reset qui se trouve en général sous la board. Si votre clavier n'a aucune de ces options, essayez de le brancher en maintenant Escape ou Espace+`B` appuyés (voir la documentation de [Bootmagic](feature_bootmagic.md) pour plus de détails). Certaines boards utilisent [Command](feature_command.md) à la place de Bootmagic. Dans ce cas, vous pouvez entrer en mode bootloader en appuyant, à n'importe quel moment lorsque le clavier est branché, sur les combinaisons de touches Shift Gauche+Shift Droit+`B` ou Shift Gauche+Shift Droit+Escape.
Certains claviers ont des instructions spécifiques pour passer en mode bootloader. Par exemple, la touche [Bootmagic Lite]](feature_bootmagic.md#bootmagic-lite) (défaut:Échap) peut être sur une touche différente telle que Contrôle Gauche. La combinaison pour la Command (défaut:Shift Gauche+Shift Droit) peut être différente, par exemple Contrôle Gauche+Contrôle Droit. Référez-vous au fichier README de votre clavier.
Certains claviers ont des instructions spécifiques pour passer en mode bootloader. Par exemple, la touche [Bootmagic Lite]](feature_bootmagic.md#bootmagic-lite) (défaut: Échap) peut être sur une touche différente telle que Contrôle Gauche. La combinaison pour la Command (défaut: Shift Gauche+Shift Droit) peut être différente, par exemple Contrôle Gauche+Contrôle Droit. Référez-vous au fichier README de votre clavier.
Pour mettre un clavier en mode bootloader avec USBaspLoader, appuyez sur le bouton `RESET` tout en maintenant le bouton `BOOT`. Vous pouvez aussi maintenir le bouton `BOOT` en branchant le câble USB.
@@ -43,4 +43,4 @@ Cliquez dessus avec le bouton droit et sélectionner **Désinstaller le périph
![Le dialogue Suppression de périphérique, avec la boîte "suppression de pilote" cochée](https://i.imgur.com/aEs2RuA.png)
Appuyez sur **Action → Analyser les changements de hardware**. A ce stade, vous devriez pouvoir saisir à nouveau. Vérifiez dans Zadig que les périphériques utilisent bien le pilote `HidUsb`. Si c'est le cas, vous avez corrigé le problème, votre clavier devrait fonctionner à nouveau!
Appuyez sur **Action → Analyser les changements de hardware**. A ce stade, vous devriez pouvoir saisir à nouveau. Vérifiez dans Zadig que les périphériques utilisent bien le pilote `HidUsb`. Si c'est le cas, vous avez corrigé le problème, votre clavier devrait fonctionner à nouveau!

View File

@@ -20,7 +20,7 @@ Veuillez noter que lancer `make` avec `sudo` est généralement une **mauvaise**
### Règles `udev` pour Linux
Sous Linux, vous aurez besoin des permissions appropriées pour accéder au MCU (le micro-contrôleur). Vous avez le choix d'utiliser `sudo` en flashant le firmware, ou placer ces fichiers dans `/etc/udev/rules.d`. Une fois ajouté, lancez les commandes suivantes:
Sous Linux, vous aurez besoin des permissions appropriées pour accéder au MCU (le micro-contrôleur). Vous avez le choix d'utiliser `sudo` en flashant le firmware, ou placer ces fichiers dans `/etc/udev/rules.d`. Une fois ajouté, lancez les commandes suivantes:
```console
sudo udevadm control --reload-rules

View File

@@ -6,13 +6,13 @@ Cette page détaille diverses questions fréquemment posées par les utilisateur
## `hid_listen` ne reconnaît pas de périphérique
Lorsque la console de débugage sur votre périphérique n'est pas prêt, vous obtiendrez un message similaire:
Lorsque la console de débugage sur votre périphérique n'est pas prêt, vous obtiendrez un message similaire:
```
Waiting for device:.........
```
Une fois le périphérique connecté, *hid_listen* le trouve et vous obtiendrez ce message:
Une fois le périphérique connecté, *hid_listen* le trouve et vous obtiendrez ce message:
```
Waiting for new device:.........................
@@ -61,7 +61,7 @@ Vous ne voulez probablement pas "briquer" votre clavier, rendre impossible d'éc
- Si votre map de clavier n'inclut pas de RESET, pour entrer en mode DFU, vous devrez appuyer sur le bouton reset du PCB. Cela implique que vous devrez certainement dévisser certaines pièces de votre clavier pour y accéder.
- Modifier les fichiers tmk_core / common peut rendre le clavier inutilisable
- Si un fichier .hex trop large est la cause du problème: `make dfu` supprime le bloc puis teste la taille (il ne fait pas les choses dans le bon ordre), ce qui provoque une erreur. En résultat, le flash naura pas été fait et le clavier restera en mode DFU.
- Si un fichier .hex trop large est la cause du problème: `make dfu` supprime le bloc puis teste la taille (il ne fait pas les choses dans le bon ordre), ce qui provoque une erreur. En résultat, le flash naura pas été fait et le clavier restera en mode DFU.
- Pour finir, notez que la taille maximale d'un fichier .hex sur un Plank est de 7000h (28672 decimal)
```
@@ -118,7 +118,7 @@ Sous Windows, activez l'option `Permettre au périphérique de sortir l'ordinate
Appuyer sur n'importe quelle touche en mode veille devrait sortir l'ordinateur de veille.
## Vous utilisez un Arduino?
## Vous utilisez un Arduino?
**Faites attention au fait que le nommage des pin d'un Arduino diffère de la puce**. Par exemple, la pin `D0` n'est pas `PD0`. Vérifiez le circuit avec la fiche technique.

View File

@@ -44,7 +44,7 @@ Le premier n'est reconnu que sur macOS, alors que le dernier, `KC_SLEP` et `KC_W
## Modificateur "One Shot"
Cette fonctionnalité permet de corriger un problème avec la touche Shift. En effet, il arrive de saisir plusieurs majuscules en ne voulant en saisir qu'une sur un mot. Ex:`CEtte` à la place de `Cette`. La fonctionnalité «One shot» shift permet de corriger ça.
Cette fonctionnalité permet de corriger un problème avec la touche Shift. En effet, il arrive de saisir plusieurs majuscules en ne voulant en saisir qu'une sur un mot. Ex: `CEtte` à la place de `Cette`. La fonctionnalité «One shot» shift permet de corriger ça.
https://github.com/tmk/tmk_keyboard/issues/67
@@ -59,7 +59,7 @@ Pour les touches de modification et les actions de calque, vous devez placer `KC
## Support de touche à verrouillage mécanique
Cette fonctionnalité permet l'usage de *touches à verrouillage mécanique* comme [ces interrupteurs Alps](https://deskthority.net/wiki/Alps_SKCL_Lock). Vous pouvez l'activer en ajoutant ceci à votre `config.h`:
Cette fonctionnalité permet l'usage de *touches à verrouillage mécanique* comme [ces interrupteurs Alps](https://deskthority.net/wiki/Alps_SKCL_Lock). Vous pouvez l'activer en ajoutant ceci à votre `config.h`:
```
#define LOCKING_SUPPORT_ENABLE

View File

@@ -27,15 +27,15 @@ Méthodes de flash compatibles :
* [QMK Toolbox](https://github.com/qmk/qmk_toolbox/releases) (interface graphique recommandé)
* [dfu-programmer](https://github.com/dfu-programmer/dfu-programmer) / `:dfu` avec QMK (outil en ligne de commande recommandé)
Ordre des actions:
Ordre des actions:
1. Pressez le keycode `RESET`, ou appuyez sur le bouton physique RESET ou alors créez un contact entre RST et GND.
2. Attendez que l'OS detecte l'appareil.
3. Éffacez la mémoire, cela peut être fait automatiquement.
4. Flasher le fichier .hex.
5. Redémarrez l'appareil en mode «application», cela peut être fait automatiquement.
5. Redémarrez l'appareil en mode «application», cela peut être fait automatiquement.
Alternativement:
Alternativement:
make <keyboard>:<keymap>:dfu
@@ -48,11 +48,11 @@ QMK a un fork du bootloader LUFA DFU qui vous permet de faire un simple scan de
#define QMK_LED E6
#define QMK_SPEAKER C6
Le fabricant et le nom du produit proviennent de vos définitions dans fichier `config.h`, et la chaîne de caractère «bootloader» est ajoutée au nom du produit.
Le fabricant et le nom du produit proviennent de vos définitions dans fichier `config.h`, et la chaîne de caractère «bootloader» est ajoutée au nom du produit.
Pour génerer le bootloader, utilisez la cible `bootloader`. Exemple:`make planck/rev4:default:bootloader`.
Pour génerer le bootloader, utilisez la cible `bootloader`. Exemple: `make planck/rev4:default:bootloader`.
Pour génerer un fichier .hex prêt pour la production qui contiendra tant l'application que le bootloader, utilisez la cible `production`. Exemple:`make planck/rev4:default:production`.
Pour génerer un fichier .hex prêt pour la production qui contiendra tant l'application que le bootloader, utilisez la cible `production`. Exemple: `make planck/rev4:default:production`.
### Commandes DFU
@@ -67,7 +67,7 @@ Il y a plusieurs commandes DFU que vous pouvez utiliser pour flasher le firmware
Les cartes arduinos et leurs clones utilisent le [bootloader Caterina](https://github.com/arduino/ArduinoCore-avr/tree/master/bootloaders/caterina) (tous les claviers utilisant un Pro Micro, ou un clone). Ils utilisent aussi le protocole avr109 pour communiquer en virtuellement en série (serial en anglais). Les bootloaders comme le [A-Star](https://www.pololu.com/docs/0J61/9) sont basés sur Caterina.
Pour vérifier la compatibilité avec un bootloader Caterina, vérifiez que ce bloc est présent dans votre fichier `rules.mk`:
Pour vérifier la compatibilité avec un bootloader Caterina, vérifiez que ce bloc est présent dans votre fichier `rules.mk`:
```make
# Bootloader selection
@@ -81,20 +81,20 @@ Pour vérifier la compatibilité avec un bootloader Caterina, vérifiez que ce b
BOOTLOADER = caterina
```
Flashers compatibles:
Flashers compatibles:
* [QMK Toolbox](https://github.com/qmk/qmk_toolbox/releases) (Interface graphique recommandée)
* [avrdude](https://www.nongnu.org/avrdude/) avec avr109 / `:avrdude` (Outil en ligne de commande recommandé)
* [AVRDUDESS](https://github.com/zkemble/AVRDUDESS)
Séquence de flash :
Séquence de flash :
1. Pressez la touche avec le keycode `RESET`, ou reliez les ports GND et RST. Vous n'avez que 7 secondes pour flasher une fois que l'opération a été faite.
2. Attendez que l'OS détecte l'appareil.
3. Flasher le fichier .hex.
4. Attendez que l'appareil redémarre automatiquement.
ou, utilisez:
ou, utilisez:
make <keyboard>:<keymap>:avrdude
@@ -111,7 +111,7 @@ Il existe un certain nombre de commandes DFU que vous pouvez utiliser pour mettr
Halfkay est un protocole ultra-simple développé par PJRC qui utilise HID et qui est fourni avec tous les Teensys après le modèle 2.0.
Pour vérifier la compatibilité avec le booloader Halfkay, vérifiez que ce bloc est présent dans votre fichier `rules.mk`:
Pour vérifier la compatibilité avec le booloader Halfkay, vérifiez que ce bloc est présent dans votre fichier `rules.mk`:
```make
# Bootloader selection
@@ -125,24 +125,24 @@ Pour vérifier la compatibilité avec le booloader Halfkay, vérifiez que ce blo
BOOTLOADER = halfkay
```
Flasher compatibles:
Flasher compatibles:
* [QMK Toolbox](https://github.com/qmk/qmk_toolbox/releases) (Interface graphique recomandée)
* [Teensy Loader](https://www.pjrc.com/teensy/loader.html) (petit utilitaire ultra simple)
[Teensy Loader en ligne de commande](https://www.pjrc.com/teensy/loader_cli.html) (Outil en ligne de commande recommandé)
Séquence de flash:
Séquence de flash:
1. Pressez la touche du keycode `RESET`, ou reliez les ports RST et GND rapidement. Vous avez ensuite 7 secondes pour réaliser le flash.
2. Attendez que l'OS détecte l'appareil.
3. Flasher le fichier .hex.
4. Redémarrez l'appareil en mode «application». Cela peut être fait automatiquement.
4. Redémarrez l'appareil en mode «application». Cela peut être fait automatiquement.
## USBasploader
USBasploader est un bootloader développé par matrixstorm. Il est utilisé sur des processeurs AVR non-USB comme le ATmega328P, qui fonctionne grâce à V-USB.
Pour vérifier la compatibilité avec le booloader USBasploader, vérifiez que ce bloc est présent dans votre fichier `rules.mk`:
Pour vérifier la compatibilité avec le booloader USBasploader, vérifiez que ce bloc est présent dans votre fichier `rules.mk`:
```make
# Bootloader selection
@@ -156,24 +156,24 @@ Pour vérifier la compatibilité avec le booloader USBasploader, vérifiez que c
BOOTLOADER = USBasp
```
Flashers compatibles:
Flashers compatibles:
* [QMK Toolbox](https://github.com/qmk/qmk_toolbox/releases) (Interface graphique recommandé)
* [avrdude](https://www.nongnu.org/avrdude/) avec le programmeur `usbasp`.
* [AVRDUDESS](https://github.com/zkemble/AVRDUDESS)
Séquence de flash:
Séquence de flash:
1. Pressez la touche du keycode `RESET`, ou reliez le port de boot pendant que RST et GND snt reliés. Cela doit être fait très rapidement.
2. Attendez que l'OS détecte l'appareil.
3. Flasher le fichier .hex.
4. Redémarrez l'appareil en mode «application». Cela peut être fait automatiquement.
4. Redémarrez l'appareil en mode «application». Cela peut être fait automatiquement.
## BootloadHID
BootloadHID est un bootloader pour les microcontrôleurs AVR. L'utilitaire de téleversement ne demande pas de drivers au niveau du kernel et peut être lancé sans installer aucune DLLs.
Pour vérifier la compatibilité avec le bootloader bootloadHID, vérifiez que ce bloc existe dans votre fichier `rules.mk` :
Pour vérifier la compatibilité avec le bootloader bootloadHID, vérifiez que ce bloc existe dans votre fichier `rules.mk` :
```make
# Bootloader selection
@@ -187,50 +187,50 @@ Pour vérifier la compatibilité avec le bootloader bootloadHID, vérifiez que c
BOOTLOADER = bootloadHID
```
Utilitaires de flash compatibles:
Utilitaires de flash compatibles:
* [HIDBootFlash](http://vusb.wikidot.com/project:hidbootflash) (Utilitaire avec interface graphique recommandé)
* [bootloadhid Command Line](https://www.obdev.at/products/vusb/bootloadhid.html) / `:BootloadHID` avec QMK (utilitaire en ligne de commande recommandé)
Séquence de flash
1. Entrez dans le bootloader en utilisant l'une de ces méthodes:
1. Entrez dans le bootloader en utilisant l'une de ces méthodes:
* Pressez la touche du keycode `RESET` (Cela ne fonctionnera pas sur certains appareils).
* Verrouillez la touche «Salt» tout en branchant le clavier (Généralement ce principe est documenté dans le fichier readme du clavier)
* Verrouillez la touche «Salt» tout en branchant le clavier (Généralement ce principe est documenté dans le fichier readme du clavier)
2. Attendez que l'OS détecte l'appareil.
3. Flasher le fichier .hex.
4. Redémarrez l'appareil en mode «application». Cela peut être fait automatiquement.
4. Redémarrez l'appareil en mode «application». Cela peut être fait automatiquement.
Ou alors:
Ou alors:
make <keyboard>:<keymap>:bootloadHID
## STM32
Tous les processeurs STM32 contiennent un bootloader installé en usine qui ne peut pas être modifié ou supprimé. Certains processeurs STM32 ont des bootloaders qui ne peuvent pas être programmés par USB (ex:STM32F103) mais le processus reste le même.
Tous les processeurs STM32 contiennent un bootloader installé en usine qui ne peut pas être modifié ou supprimé. Certains processeurs STM32 ont des bootloaders qui ne peuvent pas être programmés par USB (ex: STM32F103) mais le processus reste le même.
Pour le moment, aucune variable `BOOTLOADER` n'est nécessaire dans le fichier `rules.mk`.
Flashers compatibles:
Flashers compatibles:
* [QMK Toolbox](https://github.com/qmk/qmk_toolbox/releases) (interface graphique recommandé)
* [dfu-util](https://github.com/Stefan-Schmidt/dfu-util) / `:dfu-util` (utilitaire en ligne de commande recommandé)
Séquence pour flasher:
1. Entrez dans le bootloader en utilisant l'une de ces méthodes:
1. Entrez dans le bootloader en utilisant l'une de ces méthodes:
* Utilisez une touche sur laquelle le keycode `RESET` (Cela peut ne pas fonctionner sur les appareils STM32F042)
* Si un circuit de réinitialisation (Reset) est présent alors utilisé le bouton qui lui est dédié.
* Autrement, vous devez réaliser une liaison entre BOOT0 et VCC (en appuyant sur le bouton ou à l'aide d'un pont) puis faire un pont entre RESET et GND et enfin relacher le pont BOOT0.
2. Attendre que l'os détecte l'appareil.
3. Flasher un fichier `.bin`.h
* Vous allez recevoir un avertissement à propos de la signature DFU. Ignorez-la.
4. Réinitialisez l'appareil en mode «application». Cela peut être fait automatiquement.
* Si vous êtes en train de travailler en ligne de commande, par exemple avec un `make planck/rev6:default:dfu-util` alors soyez bien sur que l'argument `:leave` est passé aux arguments DFU grâce à la variable `DFU_ARGS` à l'intérieur de votre fichier `rules.mk` (Ex:`DFU_ARGS = -d 0483:df11 -a 0 -s 0x08000000:leave`) afin que votre appareil redémarre après avoir été flashé.
4. Réinitialisez l'appareil en mode «application». Cela peut être fait automatiquement.
* Si vous êtes en train de travailler en ligne de commande, par exemple avec un `make planck/rev6:default:dfu-util` alors soyez bien sur que l'argument `:leave` est passé aux arguments DFU grâce à la variable `DFU_ARGS` à l'intérieur de votre fichier `rules.mk` (Ex: `DFU_ARGS = -d 0483:df11 -a 0 -s 0x08000000:leave`) afin que votre appareil redémarre après avoir été flashé.
### Commandes STM32
Il y a différentes commandes que vous pouvez utiliser pour flasher un firmware dans un appareil STM32:
Il y a différentes commandes que vous pouvez utiliser pour flasher un firmware dans un appareil STM32:
* `:dfu-util` - C'est l'option standard pour flasher un appareil STM32. Le script attendra qu'un bootloader STM32 soit présent.
* `:dfu-util-split-left` - Permet de flasher un firmware normalement, tout comme l'option précédente mais permet de configurer le côté gauche des paramètres EEPROM sur un clavier scindé.

View File

@@ -88,7 +88,7 @@ Par exemple, si votre keymap s'appelle "xyverz" et que vous fabriquez une keymap
La commande va vérifier la configuration du clavier, puis tentera de le flasher en fonction du bootloader (chargeur damorçage) spécifié. Cela signifie que vous n'avez pas besoin de savoir quel bootloader votre clavier utilise. Exécutez simplement la commande et laissez-le faire le gros du travail.
Cependant, tout dépend du bootloader qui est installé sur le clavier. Si cette information nest pas configurée ou si vous tentez de flasher un clavier qui ne permet pas dêtre flashé alors vous obtiendrez cette erreur :
Cependant, tout dépend du bootloader qui est installé sur le clavier. Si cette information nest pas configurée ou si vous tentez de flasher un clavier qui ne permet pas dêtre flashé alors vous obtiendrez cette erreur:
WARNING: This board's bootloader is not specified or is not supported by the ":flash" target at this time.
@@ -326,7 +326,7 @@ Il y aun certain nombre de commandes du DFU que vous pouvez utiliser pour flash
### BootloadHID
Pour les claviers basés sur Bootmapper Client(BMC)/bootloadHID/ATmega32A, si vous êtes prêts à compiler et flasher le firmware, ouvrez votre fenêtre de terminal et lancez la commande suivante :
Pour les claviers basés sur Bootmapper Client(BMC)/bootloadHID/ATmega32A, si vous êtes prêts à compiler et flasher le firmware, ouvrez votre fenêtre de terminal et lancez la commande suivante:
make <my_keyboard>:<my_keymap>:bootloaderHID
@@ -351,7 +351,7 @@ Error opening HIDBoot device: The specified device was not found
Trying again in 5s.
```
Une fois ce résultat obtenu, réinitialisez le contrôleur. Le résultat suivant devrait safficher :
Une fois ce résultat obtenu, réinitialisez le contrôleur. Le résultat suivant devrait safficher:
```
Page size = 128 (0x80)

View File

@@ -113,7 +113,7 @@ Don't hold the iron on the solder/joint longer than necessary. Heat will be cond
#### Soldering the Diodes
Starting at the top-left switch, place the diode (with tweezers if you have them) on the switch so that the diode itself is vertically aligned, and the black line is facing toward you. The input lead of the diode should be touching the left contact on the switch, and the bent, output end should be facing to the right and resting on the switch there, like this:
Starting at the top-left switch, place the diode (with tweezers if you have them) on the switch so that the diode itself is vertically aligned, and the black line is facing toward you. Make sure the diodes are soldered in parallel (diode outputs shouldn't connect to diode inputs). The input lead of the diode should be touching the left contact on the switch, and the bent, output end should be facing to the right and resting on the switch there, like this:
![soldering-diodes-01.png](https://raw.githubusercontent.com/noroadsleft/qmk_images/master/docs/hand_wire/soldering-diodes-01.png)

View File

@@ -2,7 +2,6 @@
# קושחה עבור Quantum Mechanical Keyboard
[![גירסה נוכחית](https://img.shields.io/github/tag/qmk/qmk_firmware.svg)](https://github.com/qmk/qmk_firmware/tags)
[![מצב הבניה](https://travis-ci.org/qmk/qmk_firmware.svg?branch=master)](https://travis-ci.org/qmk/qmk_firmware)
[![ערוץ דיסקורד](https://img.shields.io/discord/440868230475677696.svg)](https://discord.gg/Uq7gcHh)
[![מצב מסמכים](https://img.shields.io/badge/docs-ready-orange.svg)](https://docs.qmk.fm)
[![תומכי GitHub](https://img.shields.io/github/contributors/qmk/qmk_firmware.svg)](https://github.com/qmk/qmk_firmware/pulse/monthly)

View File

@@ -6,7 +6,6 @@
-->
[![現在のバージョン](https://img.shields.io/github/tag/qmk/qmk_firmware.svg)](https://github.com/qmk/qmk_firmware/tags)
[![ビルド状態](https://travis-ci.org/qmk/qmk_firmware.svg?branch=master)](https://travis-ci.org/qmk/qmk_firmware)
[![Discord](https://img.shields.io/discord/440868230475677696.svg)](https://discord.gg/Uq7gcHh)
[![ドキュメントの状態](https://img.shields.io/badge/docs-ready-orange.svg)](https://docs.qmk.fm)
[![GitHub 貢献者](https://img.shields.io/github/contributors/qmk/qmk_firmware.svg)](https://github.com/qmk/qmk_firmware/pulse/monthly)

View File

@@ -3,7 +3,6 @@
* [セットアップ](ja/newbs_getting_started.md)
* [初めてのファームウェアの構築](ja/newbs_building_firmware.md)
* [ファームウェアのフラッシュ](ja/newbs_flashing.md)
* [テストとデバッグ](ja/newbs_testing_debugging.md)
* [手助けを得る/サポート](ja/support.md)
* [他のリソース](ja/newbs_learn_more_resources.md)
* [シラバス](ja/syllabus.md)
@@ -11,7 +10,8 @@
* FAQ
* [一般的な FAQ](ja/faq_general.md)
* [QMK のビルド/コンパイル](ja/faq_build.md)
* [QMK のデバッグ/トラブルシューティング](ja/faq_debug.md)
* [QMK のデバッグ](ja/faq_debug.md)
* [QMK のトラブルシューティング](ja/faq_misc.md)
* [キーマップ FAQ](ja/faq_keymap.md)
* [用語](ja/reference_glossary.md)
@@ -23,11 +23,13 @@
* [概要](ja/api_overview.md)
* [API ドキュメント](ja/api_docs.md)
* [キーボードサポート](ja/reference_configurator_support.md)
* [デフォルトキーマップの追加](ja/configurator_default_keymaps.md)
* CLI
* [概要](ja/cli.md)
* [設定](ja/cli_configuration.md)
* [コマンド](ja/cli_commands.md)
* [Tab 補完](ja/cli_tab_complete.md)
* QMK を使う
* ガイド
@@ -41,8 +43,8 @@
* [書き込み](ja/flashing.md)
* [ATmega32A の書き込み (ps2avrgb)](ja/flashing_bootloadhid.md)
* IDE
* [Eclipse で QMK を使用](ja/other_eclipse.md)
* [VSCode で QMK を使用](ja/other_vscode.md)
* [QMK での Eclipse 使用](ja/other_eclipse.md)
* [QMK での VSCode の使用](ja/other_vscode.md)
* Git のベストプラクティス
* [入門](ja/newbs_git_best_practices.md)
* [フォーク](ja/newbs_git_using_your_master_branch.md)
@@ -79,6 +81,7 @@
* [ワンショットキー](ja/one_shot_keys.md)
* [ポインティング デバイス](ja/feature_pointing_device.md)
* [ロー HID](ja/feature_rawhid.md)
* [シーケンサー](ja/feature_sequencer.md)
* [スワップハンド](ja/feature_swap_hands.md)
* [タップダンス](ja/feature_tap_dance.md)
* [タップホールド設定](ja/tap_hold.md)
@@ -103,6 +106,7 @@
* [DIP スイッチ](ja/feature_dip_switch.md)
* [エンコーダ](ja/feature_encoders.md)
* [触覚フィードバック](ja/feature_haptic_feedback.md)
* [ジョイスティック](ja/feature_joystick.md)
* [LED インジケータ](ja/feature_led_indicators.md)
* [Proton C 変換](ja/proton_c_conversion.md)
* [PS/2 マウス](ja/feature_ps2_mouse.md)
@@ -116,11 +120,8 @@
* 互換性を破る変更/Breaking changes
* [概要](ja/breaking_changes.md)
* [プルリクエストにフラグが付けられた](ja/breaking_changes_instructions.md)
* 履歴
* [2020年8月29日](ja/ChangeLog/20200829.md)
* [2020年5月30日](ja/ChangeLog/20200530.md)
* [2020年2月29日](ja/ChangeLog/20200229.md)
* [2019年8月30日](ja/ChangeLog/20190830.md)
* [最近の変更履歴](ChangeLog/20210227.md "QMK v0.12.0 - 2021 Feb 27")
* [過去の互換性を破る変更](ja/breaking_changes_history.md)
* C 開発
* [ARM デバッグ ガイド](ja/arm_debugging.md)
@@ -129,11 +130,13 @@
* [互換性のあるマイクロコントローラ](ja/compatible_microcontrollers.md)
* [ドライバ](ja/hardware_drivers.md)
* [ADC ドライバ](ja/adc_driver.md)
* [オーディオドライバ](ja/audio_driver.md)
* [I2C ドライバ](ja/i2c_driver.md)
* [SPI ドライバ](ja/spi_driver.md)
* [WS2812 ドライバ](ja/ws2812_driver.md)
* [EEPROM ドライバ](ja/eeprom_driver.md)
* [シリアル ドライバ](ja/serial_driver.md)
* [UART ドライバ](ja/uart_driver.md)
* [GPIO 制御](ja/internals_gpio_control.md)
* [キーボード ガイドライン](ja/hardware_keyboard_guidelines.md)
@@ -155,6 +158,7 @@
* [QMK への貢献](ja/contributing.md)
* [QMK ドキュメントの翻訳](ja/translating.md)
* [設定オプション](ja/config_options.md)
* [データ駆動型コンフィギュレーション](ja/data_driven_config.md)
* [Make ドキュメント](ja/getting_started_make_guide.md)
* [ドキュメント ベストプラクティス](ja/documentation_best_practices.md)
* [ドキュメント テンプレート](ja/documentation_templates.md)

View File

@@ -1,8 +1,8 @@
# QMK API
<!---
original document: 0.9.50:docs/api_docs.md
git diff 0.9.50 HEAD -- docs/api_docs.md | cat
original document: 0.13.15:docs/api_docs.md
git diff 0.13.15 HEAD -- docs/api_docs.md | cat
-->
このページは QMK API の使い方を説明します。もしあなたがアプリケーション開発者であれば、全ての [QMK](https://qmk.fm) キーボードのファームウェアをコンパイルするために、この API を使うことができます。

View File

@@ -1,8 +1,8 @@
# QMK API
<!---
original document: 0.9.50:docs/api_overview.md
git diff 0.9.50 HEAD -- docs/api_overview.md | cat
original document: 0.13.15:docs/api_overview.md
git diff 0.13.15 HEAD -- docs/api_overview.md | cat
-->
QMK API は、Web と GUI ツールが [QMK](https://qmk.fm/) によってサポートされるキーボード用の任意のキーマップをコンパイルするために使うことができる、非同期 API を提供します。標準のキーマップテンプレートは、C コードのサポートを必要としない全ての QMK キーコードをサポートします。キーボードのメンテナは独自のカスタムテンプレートを提供して、より多くの機能を実現することができます。

View File

@@ -117,5 +117,4 @@ git push --force
* [ ] `git push origin develop`
* GitHub Actions
* [ ] `develop`の PR を作成します
* [ ] travis がクリーンに戻ったことを確認します
* [ ] `develop` PR をマージします

View File

@@ -74,7 +74,7 @@ default.keymap: None -> default
qmk config compile
### 単一キーの例
### 単一キーの例 :id=single-key-example
qmk config compile.keyboard

View File

@@ -1,8 +1,8 @@
# コーディング規約 (C)
<!---
original document: 0.9.19:docs/coding_conventions_c.md
git diff 0.9.19 HEAD -- docs/coding_conventions_c.md | cat
original document: 0.13.15:docs/coding_conventions_c.md
git diff 0.13.15 HEAD -- docs/coding_conventions_c.md | cat
-->
私たちのスタイルのほとんどはかなり理解しやすいですが、現時点では完全に一貫しているわけではありません。変更箇所周辺のコードのスタイルと一致させる必要がありますが、そのコードに一貫性が無い場合や不明瞭な場合は以下のガイドラインに従ってください:

View File

@@ -1,8 +1,8 @@
# QMK の設定
<!---
original document: 0.10.33:docs/config_options.md
git diff 0.10.33 HEAD -- docs/config_options.md | cat
original document: 0.13.17:docs/config_options.md
git diff 0.13.17 HEAD -- docs/config_options.md | cat
-->
QMK はほぼ無制限に設定可能です。可能なところはいかなるところでも、やりすぎな程、ユーザーがコードサイズを犠牲にしてでも彼らのキーボードをカスタマイズをすることを許しています。ただし、このレベルの柔軟性により設定が困難になります。
@@ -72,16 +72,22 @@ QMK での全ての利用可能な設定にはデフォルトがあります。
* (循環させるために)代替音声を有効にします
* `#define C4_AUDIO`
* ピン C4 のオーディオを有効にします
* 非推奨。`#define AUDIO_PIN C4` を使ってください
* `#define C5_AUDIO`
* ピン C5 のオーディオを有効にします
* 非推奨。`#define AUDIO_PIN C5` を使ってください
* `#define C6_AUDIO`
* ピン C6 のオーディオを有効にします
* 非推奨。`#define AUDIO_PIN C6` を使ってください
* `#define B5_AUDIO`
* ピン B5 のオーディオを有効にします (C[4-6]\_AUDIO の1つとともに B[5-7]\_AUDIO の1つが有効にされている場合、疑似ステレオが有効にされます)
* ピン B5 のオーディオを有効にします (C ピンの1つとともに B ピンの1つが有効にされている場合、疑似ステレオが有効にされます)
* 非推奨。もし `AUDIO_PIN``C` ピンを有効にしている場合は、`#define AUDIO_PIN_ALT B5` を使い、そうでなければ `#define AUDIO_PIN B5` を使います。
* `#define B6_AUDIO`
* ピン B6 のオーディオを有効にします (C[4-6]\_AUDIO の1つとともに B[5-7]\_AUDIO の1つが有効にされている場合、疑似ステレオが有効にされます)
* ピン B6 のオーディオを有効にします (C ピンの1つとともに B ピンの1つが有効にされている場合、疑似ステレオが有効にされます)
* 非推奨。もし `AUDIO_PIN``C` ピンを有効にしている場合は、`#define AUDIO_PIN_ALT B6` を使い、そうでなければ `#define AUDIO_PIN B6` を使います。
* `#define B7_AUDIO`
* ピン B7 のオーディオを有効にします (C[4-6]\_AUDIO の1つとともに B[5-7]\_AUDIO の1つが有効にされている場合、疑似ステレオが有効にされます)
* ピン B7 のオーディオを有効にします (C ピンの1つとともに B ピンの1つが有効にされている場合、疑似ステレオが有効にされます)
* 非推奨。もし `AUDIO_PIN``C` ピンを有効にしている場合は、`#define AUDIO_PIN_ALT B7` を使い、そうでなければ `#define AUDIO_PIN B7` を使います。
* `#define BACKLIGHT_PIN B7`
* バックライトのピン
* `#define BACKLIGHT_LEVELS 3`
@@ -93,7 +99,7 @@ QMK での全ての利用可能な設定にはデフォルトがあります。
* `#define DEBOUNCE 5`
* ピンの値を読み取る時の遅延 (5がデフォルト)
* `#define LOCKING_SUPPORT_ENABLE`
* メカニカルロックのサポート。キーマップで KC_LCAP、 KC_LNUM そして KC_LSCR を使えるようにします
* メカニカルロックのサポート。キーマップで KC_LCAP、KC_LNUM そして KC_LSCR を使えるようにします
* `#define LOCKING_RESYNC_ENABLE`
* キーボードの LED の状態をスイッチの状態と一致させ続けようとします
* `#define IS_COMMAND() (get_mods() == MOD_MASK_SHIFT)`
@@ -102,6 +108,8 @@ QMK での全ての利用可能な設定にはデフォルトがあります。
* デバイスの USB 経由の最大電力(mA) を設定します (デフォルト: 500)
* `#define USB_POLLING_INTERVAL_MS 10`
* キーボード、マウス および 共有 (NKRO/メディアキー) インタフェースのための USB ポーリングレートをミリ秒で設定します
* `#define USB_SUSPEND_WAKEUP_DELAY 200`
* ウェイクアップパケットを送信した後で一時停止するミリ秒を設定します
* `#define F_SCL 100000L`
* I2C を使用するキーボードのための I2C クロックレート速度を設定します。デフォルトは `400000L` ですが、`split_common` を使っているキーボードは別でデフォルトは `100000L` です。
@@ -142,6 +150,8 @@ QMK での全ての利用可能な設定にはデフォルトがあります。
* `#define RETRO_TAPPING`
* 押下とリリースの間に他のキーによる中断がなければ、TAPPING_TERM の後であってもとにかくタップします
* 詳細は [Retro Tapping](ja/tap_hold.md#retro-tapping) を見てください
* `#define RETRO_TAPPING_PER_KEY`
* キーごとの `RETRO_TAPPING` 設定の処理を有効にします
* `#define TAPPING_TOGGLE 2`
* トグルを引き起こす前のタップ数
* `#define PERMISSIVE_HOLD`
@@ -240,7 +250,7 @@ QMK での全ての利用可能な設定にはデフォルトがあります。
* DFU ブートローダを搭載したボードでは、これらの EEPROM ファイルを書き込むために `:dfu-split-left`/`:dfu-split-right` を使うことができます
* Caterina ブートローダを搭載したボード (標準的な Pro Micros など)では、`:avrdude-split-left`/`:avrdude-split-right` を使ってください
* ARM DFU ブートローダを搭載したボード (Proton C など)では、`:dfu-util-split-left`/`:dfu-util-split-right` を使ってください
3. `MASTER_RIGHT` を設定します: USBポートに差し込まれた側はマスター側で右側であると決定されます(デフォルトの逆)
3. `MASTER_RIGHT` を設定します: USB ポートに差し込まれた側はマスター側で右側であると決定されます(デフォルトの逆)
4. デフォルト: USB ポートに差し込まれている側がマスター側であり、左側であると見なされます。スレーブ側は右側です
#### 左右を定義します

View File

@@ -1,8 +1,8 @@
# 貢献方法
<!---
original document: 0.8.62:docs/contributing.md
git diff 0.8.62 HEAD -- docs/contributing.md | cat
original document: 0.13.15:docs/contributing.md
git diff 0.13.15 HEAD -- docs/contributing.md | cat
-->
👍🎉 まず、これを読み貢献する時間を作ってくれてありがとうございます!🎉👍
@@ -153,7 +153,7 @@ enum my_keycodes {
機能やバグの修正に取り組む時に留意すべき幾つかの事があります。
* **デフォルトで無効** - QMK がサポートするほとんどのチップでメモリがかなり制限されており、現在のキーマップが壊れていないことが重要です。ですので、あなたの機能をオフにするのではなく**オン**にするようにしてください。デフォルトでオンにすべき場合、あるいはコードのサイズを小さくする必要がある場合は、相談してください。
* **サブミットする前にローカルでコンパイル** - これが明白であることを願っていますが、コンパイルする必要があります。私たちの Travis システムは全ての問題をキャッチしますが、結果が返ってくるのを待つ代わりに幾つかのキーボードをローカルでコンパイルする方が一般的に速いです。
* **サブミットする前にローカルでコンパイル** - これが明白であることを願っていますが、コンパイルする必要があります。プルリクエストを作成する前に、変更した内容がコンパイルできるかどうかを常に確認する必要があります。
* **リビジョンと異なるチップベースを考慮** - 僅かに異なる設定、さらには異なるチップベースを可能にするリビジョンを持つキーボードが幾つかあります。ARM および AVR でサポートされる機能を作成する、あるいは動作しないプラットフォームでは自動的に無効化するようにしてください。
* **機能の説明** - 新しいファイルあるいは既存のファイルの一部として、`docs/` の中に文章化します。文章化しないと、他の人はあなたの苦労から利益を得ることができません。

View File

@@ -1,8 +1,8 @@
# キーボードの挙動をカスタマイズする方法
<!---
original document: 0.10.52:docs/custom_quantum_functions.md
git diff 0.10.52 HEAD -- docs/custom_quantum_functions.md | cat
original document: 0.12.41:docs/custom_quantum_functions.md
git diff 0.12.41 HEAD -- docs/custom_quantum_functions.md | cat
-->
多くの人にとって、カスタムキーボードはボタンの押下をコンピュータに送信するだけではありません。単純なボタンの押下やマクロよりも複雑なことを実行できるようにしたいでしょう。QMK にはコードを挿入したり、機能を上書きしたり、様々な状況でキーボードの挙動をカスタマイズできるフックがあります。
@@ -190,6 +190,14 @@ void keyboard_post_init_user(void) {
カスタムマトリックススキャンコードが必要な場合は、この関数を使う必要があります。また、カスタムステータス出力 (LED あるいはディスプレイなど)や、ユーザが入力していない場合でも定期的にトリガーするその他の機能のために使うことができます。
# キーボードハウスキーピング :id=keyboard-housekeeping
* キーボード/リビジョン: `void housekeeping_task_kb(void)`
* キーマップ: `void housekeeping_task_user(void)`
この関数は、全ての QMK 処理の最後に、次の繰り返しを開始する前に呼び出されます。`housekeeping_task_*` の関数が呼び出された時点で、QMK が最後のマトリックススキャンを処理したと、安全に見なすことができます -- レイヤーの状態が更新され、USB レポートが送信され、LED が更新され、表示が描画されています。
`matrix_scan_*` と同様に、これらは MCU が処理できる頻度で呼び出されます。キーボードの応答性を維持するために、これらの関数の呼び出し中にできるだけ何もしないことをお勧めします。実際に何か特別なものを実装する必要がある場合に動作を停止させる可能性があります。
# キーボードアイドリング/ウェイクコード

View File

@@ -0,0 +1,123 @@
# データ駆動型コンフィギュレーション
<!---
grep --no-filename "^[ ]*git diff" docs/ja/*.md | sh
original document: 0.12.7:docs/data_driven_config.md
git diff 0.12.7 HEAD -- docs/data_driven_config.md | cat
-->
このページでは、QMK のデータ駆動型 JSON コンフィギュレーションシステムがどのように動作するかを説明します。これは、QMK 自体に取り組みたい開発者を対象としています。
## ヒストリー
これまで、QMK は、`rules.mk``config.h` の2つのメカニズムを組み合わせてコンフィギュレーションされてきました。
この方法は、QMK がほんの一握りのキーボードをサポートしていたときは上手く機能していましたが、今では、サポートするキーボードは1500近くまで成長しました。
`keyboards` の下だけで6000個の設定ファイルがあることが推定されます。
これらのファイルの自由形式の性質と、重複を避けるために人々が使用してきたユニークなパターンが継続的なメンテナンスを困難にしており、また、多くのキーボードが時代遅れで時には理解が難しいパターンに従っています。
また、CLI に慣れていない人に QMK のパワーを提供することにも取り組んでおり、VIA などの他のプロジェクトでは、プログラムをインストールするのと同じくらい簡単に QMK を使用できるように取り組んでいます。
これらのツールには、ユーザーが QMK を最大限に活用できるように、キーボードのレイアウト方法や使用可能なピンと機能に関する情報が必要です。
その第一歩として `info.json` を導入しました。
QMK API は、これら3つの情報源`config.h`` rules.mk`、および `info.json`)を、エンドユーザーツールが使用できる信頼できる単一の情報源に結合するための取り組みです。
これで、`info.json`から `rules.mk``config.h` の値を生成することがサポートされ、信頼できる単一の情報源を持つことができます。
これにより、自動化されたツールを使用してキーボードを保守できるため、時間と保守作業を大幅に節約できます。
## 概要
C 側では何も変わりません。
新しいルールを作成したり、定義したりする必要がある場合は、同じプロセスに従います。
1. `docs/config_options.md` に追加します。
1. 適切なコアファイルにデフォルトを設定します。
1. 必要に応じて ifdef 文を追加します。
次に、新しい構成のサポートを `info.json` に追加する必要があります。
基本的なプロセスは次のとおりです。
1. `data/schemas/keyboards.jsonschema` のスキーマに追加します
1. `data/maps` にマッピングを追加します
1. (オプションおよび非推奨)構成を抽出/生成するコードを追加します。
* `lib/python/qmk/info.py`
* `lib/python/qmk/cli/generate/config_h.py`
* `lib/python/qmk/cli/generate/rules_mk.py`
## info.json にオプションを追加する
このセクションでは、info.json に `config.h`/`rules.mk` の値のサポートを追加することについて説明します。
### スキーマに追加する
QMK では、[jsonschema](https:json-schema.org) のファイルを `data/schemas` に保持しています。
キーボード固有の `info.json` ファイルに入る値は `keyboard.jsonschema` に保持されています。
エンドユーザーが編集できるようにしたい値はすべてここに入れなければなりません。
場合によっては、新しいトップレベルキーを追加するだけで済みます。
従うべきいくつかの例は、 `keyboard_name``maintainer``processor`、および `url` です。
これは、オプションが自己完結型で、他のオプションと直接関係がない場合に適しています。
その他の場合、1つの `object` の中に、似ているオプションを集める必要があります。
これは、機能のサポートを追加する場合に特に当てはまります。
このために従うべきいくつかの例は、`indicators``matrix_pins`、および `rgblight` です。
新しいオプションを統合する方法がわからない場合は、[問題を開く](https://github.com/qmk/qmk_firmware/issues/new?assignees=&labels=cli%2C+python&template=other_issues.md&title=)か、[Discord で #cli に参加](https://discord.gg/heQPAgy)して、そこで会話を始めてください。
### マッピングを追加する
ほとんどの場合、単純なマッピングを追加することができます。
これらは `data/mappings/info_config.json``data/mappings/info_rules.json` に JSON ファイルとして保持され、それぞれ `config.h``rules.mk` のマッピングを制御します。
各マッピングは `config.h` または `rules.mk` 変数名をキーとし、値は以下のキーを持つハッシュです。
* `info_key`: (必須)この値の `info.json` 内の場所。 下記参照。
* `value_type`: (オプション)デフォルトは `str`。 この変数の値の形式。 下記参照。
* `to_json`: (オプション)デフォルトは `true`。 このマッピングを info.json から除外するには、`false` に設定します
* `to_c`: (オプション)デフォルトは `true`。 このマッピングを config.h から除外するには、`false` に設定します
* `warn_duplicate`: (オプション)デフォルトは `true`。 値が両方の場所に存在する場合に警告をオフにするには、`false` に設定します
#### Info Key
info.json 内の変数をアドレス指定するために JSON ドット表記を使用します。
たとえば、`info_json["rgblight"]["split_count"]` にアクセスするには、`rgblight.split_count` を指定します。
これにより、深くネストされたキーを単純な文字列でアドレス指定できます。
内部では [Dotty Dict](https://dotty-dict.readthedocs.io/en/latest/) を使用しています。これらの文字列がオブジェクトアクセスに変換される方法についてはそのドキュメントを参照してください。
#### Value Types
デフォルトでは、すべての値を単純な文字列として扱います。
値がより複雑な場合は、次のいずれかのタイプを使用してデータをインテリジェントに解析できます。
* `array`: 文字列のコンマ区切りの配列
* `array.int`: 整数のコンマ区切り配列
* `int`: 整数
* `hex`: 16進数としてフォーマットされた数値
* `list`: 文字列のスペース区切りの配列
* `mapping`: キーと値のペアのハッシュ
### 抽出するコードを追加する
ほとんどのユースケースは、上記のマッピングファイルによって解決できます。
できない場合は、代わりに設定値を抽出するコードを書くことができます。
QMK が完全な `info.json` を生成するときはいつでも、`config.h``rules.mk` から情報を抽出します。
あなたの新しい設定値のためのコードを `lib/python/qmk/info.py` に追加する必要があります。
通常、これは、新しい `_extract_<feature>()` 関数を追加してから、 `_extract_config_h()` または `_extract_rules_mk()` のいずれかで関数を呼び出すことを意味します。
このファイルの編集方法がわからない場合、または Python に慣れていない場合は、[issue を開く](https://github.com/qmk/qmk_firmware/issues/new?assignees=&labels=cli%2C+python&template=other_issues.md&title=)か [Discord で #cli に参加](https://discord.gg/heQPAgy)すると、この部分を誰かが手伝ってくれるでしょう。
### 生成するコードを追加する
パズルの最後のピースは、ビルドシステムに新しいオプションを提供することです。
これは、2つのファイルを生成することによって行われます。
* `.build/obj_<keyboard>/src/info_config.h`
* `.build/obj_<keyboard>/src/rules.mk`
この2つのファイルは、次のコードによって生成されます。
* `lib/python/qmk/cli/generate/config_h.py`
* `lib/python/qmk/cli/generate/rules_mk.py`
`config.h`値の場合、ルール用の関数を記述し、その関数を `generate_config_h()` で呼び出す必要があります。
`rules.mk` の新しいトップレベルの `info.json` キーがある場合は、`lib/python/qmk/cli/generate/rules_mk.py` の上部にある `info_to_rules` にキーを追加するだけです。
それ以外の場合は、`generate_rules_mk()` で機能の新しい if ブロックを作成する必要があります。

View File

@@ -1,8 +1,8 @@
# ドキュメントテンプレート
<!---
original document: 0.9.19:docs/documentation_templates.md
git diff 0.9.19 HEAD -- docs/documentation_templates.md | cat
original document: 0.13.15:docs/documentation_templates.md
git diff 0.13.15 HEAD -- docs/documentation_templates.md | cat
-->
このページでは、新しいキーマップやキーボードを QMK に提出する際に使うべきテンプレートをまとめています。

View File

@@ -1,8 +1,8 @@
# よくあるビルドの質問
<!---
original document: 0.10.33:docs/faq_build.md
git diff 0.10.33 HEAD -- docs/faq_build.md | cat
original document: 0.12.43:docs/faq_build.md
git diff 0.12.43 HEAD -- docs/faq_build.md | cat
-->
このページは QMK のビルドに関する質問を説明します。まだビルドをしていない場合は、[ビルド環境のセットアップ](ja/getting_started_build_tools.md) および [Make 手順](ja/getting_started_make_guide.md)ガイドを読むべきです。
@@ -22,73 +22,9 @@
`make``sudo` で実行することは一般的には良い考えでは***なく***、可能であれば前者の方法のいずれかを使うべきです。
### Linux の `udev` ルール
### Linux の `udev` ルール :id=linux-udev-rules
Linux では、ブートローダデバイスと通信するには適切な権限が必要です。ファームウェアを書き込む時に `sudo` を使うか、`/etc/udev/rules.d/` にこのファイルを配置することで、通信することができます。
**/etc/udev/rules.d/50-qmk.rules:**
```
# Atmel DFU
### ATmega16U2
SUBSYSTEMS=="usb", ATTRS{idVendor}=="03EB", ATTRS{idProduct}=="2FEF", TAG+="uaccess", RUN{builtin}+="uaccess"
### ATmega32U2
SUBSYSTEMS=="usb", ATTRS{idVendor}=="03EB", ATTRS{idProduct}=="2FF0", TAG+="uaccess", RUN{builtin}+="uaccess"
### ATmega16U4
SUBSYSTEMS=="usb", ATTRS{idVendor}=="03EB", ATTRS{idProduct}=="2FF3", TAG+="uaccess", RUN{builtin}+="uaccess"
### ATmega32U4
SUBSYSTEMS=="usb", ATTRS{idVendor}=="03EB", ATTRS{idProduct}=="2FF4", TAG+="uaccess", RUN{builtin}+="uaccess"
### AT90USB64
SUBSYSTEMS=="usb", ATTRS{idVendor}=="03EB", ATTRS{idProduct}=="2FF9", TAG+="uaccess", RUN{builtin}+="uaccess"
### AT90USB128
SUBSYSTEMS=="usb", ATTRS{idVendor}=="03EB", ATTRS{idProduct}=="2FFB", TAG+="uaccess", RUN{builtin}+="uaccess"
# Input Club
SUBSYSTEMS=="usb", ATTRS{idVendor}=="1C11", ATTRS{idProduct}=="B007", TAG+="uaccess", RUN{builtin}+="uaccess"
# STM32duino
SUBSYSTEMS=="usb", ATTRS{idVendor}=="1EAF", ATTRS{idProduct}=="0003", TAG+="uaccess", RUN{builtin}+="uaccess"
# STM32 DFU
SUBSYSTEMS=="usb", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="DF11", TAG+="uaccess", RUN{builtin}+="uaccess"
# BootloadHID
SUBSYSTEMS=="usb", ATTRS{idVendor}=="16C0", ATTRS{idProduct}=="05DF", TAG+="uaccess", RUN{builtin}+="uaccess"
# USBAspLoader
SUBSYSTEMS=="usb", ATTRS{idVendor}=="16C0", ATTRS{idProduct}=="05DC", TAG+="uaccess", RUN{builtin}+="uaccess"
# ModemManager should ignore the following devices
# Atmel SAM-BA (Massdrop)
SUBSYSTEMS=="usb", ATTRS{idVendor}=="03EB", ATTRS{idProduct}=="6124", TAG+="uaccess", RUN{builtin}+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1"
# Caterina (Pro Micro)
## Spark Fun Electronics
### Pro Micro 3V3/8MHz
SUBSYSTEMS=="usb", ATTRS{idVendor}=="1B4F", ATTRS{idProduct}=="9203", TAG+="uaccess", RUN{builtin}+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1"
### Pro Micro 5V/16MHz
SUBSYSTEMS=="usb", ATTRS{idVendor}=="1B4F", ATTRS{idProduct}=="9205", TAG+="uaccess", RUN{builtin}+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1"
### LilyPad 3V3/8MHz (and some Pro Micro clones)
SUBSYSTEMS=="usb", ATTRS{idVendor}=="1B4F", ATTRS{idProduct}=="9207", TAG+="uaccess", RUN{builtin}+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1"
## Pololu Electronics
### A-Star 32U4
SUBSYSTEMS=="usb", ATTRS{idVendor}=="1FFB", ATTRS{idProduct}=="0101", TAG+="uaccess", RUN{builtin}+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1"
## Arduino SA
### Leonardo
SUBSYSTEMS=="usb", ATTRS{idVendor}=="2341", ATTRS{idProduct}=="0036", TAG+="uaccess", RUN{builtin}+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1"
### Micro
SUBSYSTEMS=="usb", ATTRS{idVendor}=="2341", ATTRS{idProduct}=="0037", TAG+="uaccess", RUN{builtin}+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1"
## Adafruit Industries LLC
### Feather 32U4
SUBSYSTEMS=="usb", ATTRS{idVendor}=="239A", ATTRS{idProduct}=="000C", TAG+="uaccess", RUN{builtin}+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1"
### ItsyBitsy 32U4 3V3/8MHz
SUBSYSTEMS=="usb", ATTRS{idVendor}=="239A", ATTRS{idProduct}=="000D", TAG+="uaccess", RUN{builtin}+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1"
### ItsyBitsy 32U4 5V/16MHz
SUBSYSTEMS=="usb", ATTRS{idVendor}=="239A", ATTRS{idProduct}=="000E", TAG+="uaccess", RUN{builtin}+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1"
## dog hunter AG
### Leonardo
SUBSYSTEMS=="usb", ATTRS{idVendor}=="2A03", ATTRS{idProduct}=="0036", TAG+="uaccess", RUN{builtin}+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1"
### Micro
SUBSYSTEMS=="usb", ATTRS{idVendor}=="2A03", ATTRS{idProduct}=="0037", TAG+="uaccess", RUN{builtin}+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1"
```
Linux では、ブートローダデバイスと通信するには適切な権限が必要です。ファームウェアを書き込む時に `sudo` を使うか(非推奨)`/etc/udev/rules.d/`[このファイル](https://github.com/qmk/qmk_firmware/tree/master/util/udev/50-qmk.rules)を配置することで、通信することができます。
追加が完了したら、以下を実行します:
@@ -129,9 +65,9 @@ https://github.com/tmk/tmk_keyboard/issues/150
- https://www.mcselec.com/index.php?page=shop.product_details&flypage=shop.flypage&product_id=92&option=com_phpshop&Itemid=1
### キーボードに書き込んだが何も起こらない、あるいはキーの押下が登録されない - ARM (rev6 planck、clueboard 60、hs60v2 など) でも同じ (Feb 2019)
ARM ベースのチップ上での EEPROM の動作によって、保存された設定が無効になる場合があります。これはデフォルトレイヤに影響し、まだ調査中の特定の環境下でキーボードが使えなくなる*しれません*。EEPROM のリセットでこれが修正されます。
ARM ベースのチップ上での EEPROM の動作によって、保存された設定が無効になる場合があります。これはデフォルトレイヤに影響し、まだ調査中の特定の環境下でキーボードが使えなくなるかも*しれません*。EEPROM のリセットでこれが修正されます。
[Planck rev6 reset EEPROM](https://cdn.discordapp.com/attachments/473506116718952450/539284620861243409/planck_rev6_default.bin) を使って eeprom のリセットを強制することができます。このイメージを書き込んだ後で、通常のファームウェアを書き込むと、キーボードが_通常_ の動作順序に復元されます。
[Planck rev6 reset EEPROM](https://cdn.discordapp.com/attachments/473506116718952450/539284620861243409/planck_rev6_default.bin) を使って eeprom のリセットを強制することができます。このイメージを書き込んだ後で、通常のファームウェアを書き込むと、キーボードが _通常_ の動作順序に復元されます。
[Preonic rev3 reset EEPROM](https://cdn.discordapp.com/attachments/473506116718952450/537849497313738762/preonic_rev3_default.bin)
いずれかの形式でブートマジックが有効になっている場合は、これも実行できるはずです (実行方法の詳細については、[ブートマジックドキュメント](ja/feature_bootmagic.md)とキーボード情報を見てください)。

View File

@@ -1,13 +1,100 @@
# デバッグの FAQ
<!---
original document: 0.10.33:docs/faq_debug.md
git diff 0.10.33 HEAD -- docs/faq_debug.md | cat
original document: 0.12.45:docs/faq_debug.md
git diff 0.12.45 HEAD -- docs/faq_debug.md | cat
-->
このページは、キーボードのトラブルシューティングについての様々な一般的な質問を説明します。
# デバッグコンソール
## デバッグ :id=debugging
`rules.mk``CONSOLE_ENABLE = yes` の設定をするとキーボードはデバッグ情報を出力します。デフォルトの出力は非常に限られたものですが、デバッグモードをオンにすることでデバッグ情報の量を増やすことが出来ます。キーマップの `DEBUG` キーコードを使用するか、デバッグモードを有効にする[コマンド](ja/feature_command.md)機能を使用するか、以下のコードをキーマップに追加します。
```c
void keyboard_post_init_user(void) {
// 希望する動作に合わせて値をカスタマイズします
debug_enable=true;
debug_matrix=true;
//debug_keyboard=true;
//debug_mouse=true;
}
```
## デバッグツール
キーボードのデバッグに使えるツールは2つあります。
### QMK Toolbox を使ったデバッグ
互換性のある環境では、[QMK Toolbox](https://github.com/qmk/qmk_toolbox) を使うことでキーボードからのデバッグメッセージを表示できます。
### hid_listen を使ったデバッグ
ターミナルベースの方法がお好みですかPJRC が提供する [hid_listen](https://www.pjrc.com/teensy/hid_listen.html) もデバッグメッセージの表示に使用できます。ビルド済みの実行ファイルは Windows、Linux、MacOS 用が用意されています。
## 独自のデバッグメッセージを送信する
[カスタムコード](ja/custom_quantum_functions.md)内からデバッグメッセージを出力すると便利な場合があります。それはとても簡単です。ファイルの先頭に `print.h` のインクルードを追加します:
```c
#include "print.h"
```
その後は、いくつかの異なった print 関数を使用することが出来ます:
* `print("string")`: シンプルな文字列を出力します
* `uprintf("%s string", var)`: フォーマットされた文字列を出力します
* `dprint("string")` デバッグモードが有効な場合のみ、シンプルな文字列を出力します
* `dprintf("%s string", var)`: デバッグモードが有効な場合のみ、フォーマットされた文字列を出力します
## デバッグの例
以下は現実世界での実際のデバッグ手法の例を集めたものです。
### マトリックス上のどの場所でキー押下が起こったか?
移植する場合や、PCB の問題を診断する場合、キー入力が正しくスキャンされているかどうかを確認することが役立つ場合があります。この手法でのロギングを有効化するには、`keymap.c` へ以下のコードを追加します。
```c
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
// コンソールが有効化されている場合、マトリックス上の位置とキー押下状態を出力します
#ifdef CONSOLE_ENABLE
uprintf("KL: kc: 0x%04X, col: %u, row: %u, pressed: %b, time: %u, interrupt: %b, count: %u\n", keycode, record->event.key.col, record->event.key.row, record->event.pressed, record->event.time, record->tap.interrupted, record->tap.count);
#endif
return true;
}
```
出力例
```text
Waiting for device:.......
Listening:
KL: kc: 169, col: 0, row: 0, pressed: 1
KL: kc: 169, col: 0, row: 0, pressed: 0
KL: kc: 174, col: 1, row: 0, pressed: 1
KL: kc: 174, col: 1, row: 0, pressed: 0
KL: kc: 172, col: 2, row: 0, pressed: 1
KL: kc: 172, col: 2, row: 0, pressed: 0
```
### キースキャンにかかる時間の測定
パフォーマンスの問題をテストする場合、スイッチマトリックスをスキャンする頻度を知ることが役立ちます。この手法でのロギングを有効化するには `config.h` へ以下のコードを追加します。
```c
#define DEBUG_MATRIX_SCAN_RATE
```
出力例
```text
> matrix scan frequency: 315
> matrix scan frequency: 313
> matrix scan frequency: 316
> matrix scan frequency: 316
> matrix scan frequency: 316
> matrix scan frequency: 316
```
## `hid_listen` がデバイスを認識できない
デバイスのデバッグコンソールの準備ができていない場合、以下のように表示されます:
@@ -25,116 +112,20 @@ Listening:
この 'Listening:' のメッセージが表示されない場合は、[Makefile] を `CONSOLE_ENABLE=yes` に設定してビルドしてみてください
Linux のような OS でデバイスにアクセスするには、権が必要かもしれません。
- `sudo hid_listen` を試してください
Linux のような OS でデバイスにアクセスするには、権が必要かもしれません。`sudo hid_listen` を試してください。
多くの Linux ディストリビューションでは、次の内容で `/etc/udev/rules.d/70-hid-listen.rules` というファイルを作成することで、root として hid_listen を実行する必要がなくなります:
```
SUBSYSTEM=="hidraw", ATTRS{idVendor}=="abcd", ATTRS{idProduct}=="def1", TAG+="uaccess", RUN{builtin}+="uaccess"
```
abcd と def1 をキーボードのベンダーとプロダクト IDに置き換えてください。文字は小文字でなければなりません。`RUN{builtin}+="uaccess"` の部分は、古いディストリビューションでのみ必要です。
## コンソールにメッセージが表示されない
以下を調べてください:
- *hid_listen* がデバイスを検出する。上記を見てください。
- **Magic**+d を使ってデバッグを有効にする。[マジックコマンド](https://github.com/tmk/tmk_keyboard#magic-commands)を見てください。
- `debug_enable=true` を設定します。[テストとデバッグ](ja/newbs_testing_debugging.md#debugging)を見てください
- デバッグ print の代わりに 'print' 関数を使ってみてください。**common/print.h** を見てください。
- `debug_enable=true` を設定します。[デバッグ](#debugging)を見てください
- デバッグプリントの代わりに `print` 関数を使ってみてください。**common/print.h** を見てください。
- コンソール機能を持つ他のデバイスを切断します。[Issue #97](https://github.com/tmk/tmk_keyboard/issues/97) を見てください。
***
# 雑多なこと
## 安全性の考慮
あなたはおそらくキーボードを「文鎮化」したくないでしょう。文鎮化するとファームウェアを書き換えられないようになります。リスクがあまりに高い(そしてそうでないかもしれない)ものの一部のリストを示します。
- キーボードマップに RESET が含まれない場合、DFU モードに入るには、PCB のリセットボタンを押す必要があります。底部のネジを外す必要があります。
- tmk_core / common にあるファイルを触るとキーボードが操作不能になるかもしれません。
- .hex ファイルが大きすぎると問題を引き起こします; `make dfu` コマンドはブロックを削除し、
サイズを検査し(おっと、間違った順序です!)、エラーを出力し、
キーボードへの書き込みに失敗し、DFU モードのままになります。
- この目的のためには、Planck の最大の .hex ファイルサイズは 7000h (10進数で28672)であることに注意してください。
```
Linking: .build/planck_rev4_cbbrowne.elf [OK]
Creating load file for Flash: .build/planck_rev4_cbbrowne.hex [OK]
Size after:
text data bss dec hex filename
0 22396 0 22396 577c planck_rev4_cbbrowne.hex
```
- 上のファイルのサイズは 22396/577ch で、28672/7000h より小さいです
- 適切な替わりの .hex ファイルがある限り、それをロードして再試行することができます
- あなたがキーボードの Makefile で指定したかもしれない一部のオプションは、余分なメモリを消費します; BOOTMAGIC_ENABLE、MOUSEKEY_ENABLE、EXTRAKEY_ENABLE、CONSOLE_ENABLE、API_SYSEX_ENABLE に注意してください
- DFU ツールは(オプションの余計なフルーツサラダを投げ込まない限り)ブートローダに書き込むことを許可しないので、
ここにはリスクはほとんどありません。
- EEPROM の書き込みサイクルは、約100000です。ファームウェアを繰り返し継続的に書き換えるべきではありません。それは最終的に EEPROM を焼き焦がします。
## NKRO が動作しません
最初に、**Makefile** 内でビルドオプション `NKRO_ENABLE` を使ってファームウェアをコンパイルする必要があります。
**NKRO** がまだ動作しない場合は、`Magic` **N** コマンド(デフォルトでは `LShift+RShift+N`)を試してみてください。**NKRO** モードと **6KRO** モード間を一時的に切り替えるためにこのコマンドを使うことができます。**NKRO** が機能しない状況、特に BIOS の場合は **6KRO** モードに切り替える必要があります。
ファームウェアを `BOOTMAGIC_ENABLE` でビルドした場合、`ブートマジック` **N** コマンドで切り替える必要があります (デフォルトでは `Space+N`)。この設定は EEPROM に格納され、電源を入れ直しても保持されます。
https://github.com/tmk/tmk_keyboard#boot-magic-configuration---virtual-dip-switch
## TrackPoint はリセット回路が必要です (PS/2 マウスサポート)
リセット回路が無いとハードウェアの不適切な初期化のために一貫性の無い結果になります。TPM754 の回路図を見てください。
- https://geekhack.org/index.php?topic=50176.msg1127447#msg1127447
- https://www.mikrocontroller.net/attachment/52583/tpm754.pdf
## 16 を超えるマトリックの列を読み込めない
列が 16 を超える場合、[matrix.h] の `read_cols()` 内の `1<<16` の代わりに `1UL<<16` を使ってください。
C では、AVR の場合 `1` は [16 bit] である [int] 型の1を意味し、15 を超えて左にシフトすることはできません。`1<<16` すると予期しないゼロが発生します。`1UL` として [unsigned long] 型を使う必要があります。
https://deskthority.net/workshop-f7/rebuilding-and-redesigning-a-classic-thinkpad-keyboard-t6181-60.html#p146279
## 特別なエクストラキーが動作しない (システム、オーディオコントロールキー)
QMK でそれらを使うには、`rules.mk` 内で `EXTRAKEY_ENABLE` を定義する必要があります。
```
EXTRAKEY_ENABLE = yes # オーディオ制御とシステム制御
```
## スリープから復帰しない
Windows では、**デバイスマネージャ**の**電源の管理**タブ内の `このデバイスで、コンピュータのスタンバイ状態を解除できるようにする` 設定を調べてください。また BIOS 設定も調べてください。
スリープ中に任意のキーを押すとホストが起動するはずです。
## Arduino を使っていますか?
**Arduino のピンの命名は実際のチップと異なることに注意してください。** 例えば、Arduino のピン `D0``PD0` ではありません。回路図を自身で確認してください。
- https://arduino.cc/en/uploads/Main/arduino-leonardo-schematic_3b.pdf
- https://arduino.cc/en/uploads/Main/arduino-micro-schematic.pdf
Arduino の Leonardo と micro には **ATMega32U4** が載っていて、TMK 用に使うことができますが、Arduino のブートローダが問題になることがあります。
## JTAG を有効にする
デフォルトでは、キーボードが起動するとすぐに JTAG デバッグインタフェースが無効になります。JTAG 対応 MCU は `JTAGEN` ヒューズが設定された状態で出荷されており、キーボードがスイッチマトリックス、LED などに使用している可能性のある MCU の特定のピンを乗っ取ります。
JTAG を有効にしたままにしたい場合は、単に以下のものを `config.h` に追加します:
```c
#define NO_JTAG_DISABLE
```
## USB 3 の互換性
USB 3 ポートで問題がある人がいると聞きました。USB 2 ポートを試してください。
## Mac の互換性
### OS X 10.11 と Hub
https://geekhack.org/index.php?topic=14290.msg1884034#msg1884034
## リジューム (スリープとウェークアップ)/電源サイクルの問題
一部の人がキーボードが BIOS で動作しなくなった、またはリジューム(電源サイクル)の後で動作しなくなったと報告しました。
今のところ、この問題の根本は明確ではないですが、幾つかのビルドオプションが関係しているようです。Makefileで、`CONSOLE_ENABLE``NKRO_ENABLE``SLEEP_LED_ENABLE` あるいは他のオプションを無効にしてみてください。
https://github.com/tmk/tmk_keyboard/issues/266
https://geekhack.org/index.php?topic=41989.msg1967778#msg1967778

View File

@@ -1,8 +1,8 @@
# よくある質問
<!---
original document: 0.8.62:docs/faq_general.md
git diff 0.8.62 HEAD -- docs/faq_general.md | cat
original document: 0.13.17:docs/faq_general.md
git diff 0.13.17 HEAD -- docs/faq_general.md | cat
-->
## QMK とは何か?

View File

@@ -1,8 +1,8 @@
# キーマップの FAQ
<!---
original document: 0.8.62:docs/faq_keymap.md
git diff 0.8.62 HEAD -- docs/faq_keymap.md | cat
original document: 0.13.15:docs/faq_keymap.md
git diff 0.13.15 HEAD -- docs/faq_keymap.md | cat
-->
このページは人々がキーマップについてしばしば持つ疑問について説明します。まだ読んだことが無い場合には、[キーマップの概要](ja/keymap.md)を最初に読むべきです。

107
docs/ja/faq_misc.md Normal file
View File

@@ -0,0 +1,107 @@
# その他の FAQ
<!---
original document: 0.12.45:docs/faq_misc.md
git diff 0.12.45 HEAD -- docs/faq_misc.md | cat
-->
## どうやってキーボードをテストすればいいですか? :id=testing
通常、キーボードのテストは非常に簡単です。全てのキーをひとつずつ押して、期待するキーが送信されることを確認します。例え QMK で動作していない場合でも、[QMK Configurator](https://config.qmk.fm/#/test/) のテストモードを使用すると、キーボードをチェックできます。
## 安全性の考慮
あなたはおそらくキーボードを「文鎮化」したくないでしょう。文鎮化するとファームウェアを書き換えられないようになります。リスクがあまりに高い(そしてそうでないかもしれない)ものの一部のリストを示します。
- キーボードマップに RESET が含まれない場合、DFU モードに入るには、PCB のリセットボタンを押す必要があります。底部のネジを外す必要があります。
- tmk_core / common にあるファイルを触るとキーボードが操作不能になるかもしれません。
- .hex ファイルが大きすぎると問題を引き起こします; `make dfu` コマンドはブロックを削除し、サイズを検査し(おっと、間違った順序です!)、エラーを出力し、
キーボードへの書き込みに失敗し、DFU モードのままになります。
- この目的のためには、Planck の最大の .hex ファイルサイズは 7000h (10進数で28672)であることに注意してください。
```
Linking: .build/planck_rev4_cbbrowne.elf [OK]
Creating load file for Flash: .build/planck_rev4_cbbrowne.hex [OK]
Size after:
text data bss dec hex filename
0 22396 0 22396 577c planck_rev4_cbbrowne.hex
```
- 上のファイルのサイズは 22396/577ch で、28672/7000h より小さいです。
- 適切な代わりの .hex ファイルがある限り、それをロードして再試行することができます。
- あなたがキーボードの Makefile で指定したかもしれない一部のオプションは、余分なメモリを消費します; BOOTMAGIC_ENABLE、MOUSEKEY_ENABLE、EXTRAKEY_ENABLE、CONSOLE_ENABLE、API_SYSEX_ENABLE に注意してください。
- DFU ツールは(オプションの余計なフルーツサラダを投げ込まない限り)ブートローダに書き込むことを許可しないので、ここにはリスクはほとんどありません。
- EEPROM の書き込みサイクルは、約100000(10万)です。ファームウェアを繰り返し継続的に書き換えるべきではありません。それは最終的に EEPROM を焼き焦がします。
## NKRO が動作しません
最初に、**Makefile** 内でビルドオプション `NKRO_ENABLE` を使ってファームウェアをコンパイルする必要があります。
**NKRO** がまだ動作しない場合は、`Magic` **N** コマンド(デフォルトでは `LShift+RShift+N`)を試してみてください。**NKRO** モードと **6KRO** モード間を一時的に切り替えるためにこのコマンドを使うことができます。**NKRO** が機能しない状況、特に BIOS の場合は **6KRO** モードに切り替える必要があります。
ファームウェアを `BOOTMAGIC_ENABLE` でビルドした場合、`ブートマジック` **N** コマンドで切り替える必要があります(デフォルトでは `Space+N`)。この設定は EEPROM に格納され、電源を入れ直しても保持されます。
https://github.com/tmk/tmk_keyboard#boot-magic-configuration---virtual-dip-switch
## トラックポイントははリセット回路が必要です (PS/2 マウスサポート)
リセット回路が無いとハードウェアの不適切な初期化のために一貫性の無い結果になります。TPM754 の回路図を見てください:
- https://geekhack.org/index.php?topic=50176.msg1127447#msg1127447
- https://www.mikrocontroller.net/attachment/52583/tpm754.pdf
## 16 を超えるマトリックの列を読み込めない
列が 16 を超える場合、[matrix.h] の `read_cols()` 内の `1<<16` の代わりに `1UL<<16` を使ってください。
C では、AVR の場合 `1` は [16 bit] である [int] 型の1を意味し、15を超えて左にシフトすることはできません。従って、`1<<16` を計算すると予期せずゼロになります。これを回避するには `1UL` として [unsigned long] 型を使う必要があります。
https://deskthority.net/workshop-f7/rebuilding-and-redesigning-a-classic-thinkpad-keyboard-t6181-60.html#p146279
## 特別なエクストラキーが動作しない(システム、オーディオコントロールキー)
QMK でそれらを使うには、`rules.mk` 内で `EXTRAKEY_ENABLE` を定義する必要があります。
```
EXTRAKEY_ENABLE = yes # オーディオ制御とシステム制御
```
## スリープから復帰しない
**デバイスマネージャ**の**電源の管理**タブ内の `このデバイスで、コンピュータのスタンバイ状態を解除できるようにする` 設定を調べてください。また BIOS 設定も調べてください。スリープ中に任意のキーを押すとホストが起動するはずです。
## Arduino を使っていますか?
**Arduino のピンの命名は実際のチップと異なることに注意してください。** 例えば、Arduino のピン `D0``PD0` ではありません。回路図を自身で確認してください。
- https://arduino.cc/en/uploads/Main/arduino-leonardo-schematic_3b.pdf
- https://arduino.cc/en/uploads/Main/arduino-micro-schematic.pdf
Arduino の Leonardo と micro には **ATMega32U4** が載っていて、TMK 用に使うことができますが、Arduino のブートローダが問題になることがあります。
## JTAG を有効にする
デフォルトでは、キーボードが起動するとすぐに JTAG デバッグインタフェースが無効になります。JTAG 対応 MCU は `JTAGEN` ヒューズが設定された状態で出荷されており、キーボードがスイッチマトリックス、LED などに使用している可能性のある MCU の特定のピンを乗っ取ります。
JTAG を有効にしたままにしたい場合は、単に以下のものを `config.h` に追加します:
```c
#define NO_JTAG_DISABLE
```
## USB 3 の互換性
一部の問題は、USB 3.x ポートから USB 2.0 ポートに切り替えることで修正できます。
## Mac の互換性
### OS X 10.11 と Hub
こちらを見てください: https://geekhack.org/index.php?topic=14290.msg1884034#msg1884034
## BIOS (UEFI) 設定/リジューム (スリープとウェークアップ)/電源サイクルの問題
一部の人がキーボードが BIOS で動作しなくなった、またはリジューム(電源サイクル)の後で動作しなくなったと報告しました。
今のところ、この問題の根本は明確ではないですが、幾つかのビルドオプションが関係しているようです。Makefile で、`CONSOLE_ENABLE``NKRO_ENABLE``SLEEP_LED_ENABLE` あるいは他のオプションを無効にしてみてください。
より詳しい情報:
- https://github.com/tmk/tmk_keyboard/issues/266
- https://geekhack.org/index.php?topic=41989.msg1967778#msg1967778

View File

@@ -1,30 +1,166 @@
# 修飾キー :id=modifier-keys
<!---
original document: 0.9.0:docs/feature_advanced_keycodes.md
git diff 0.9.0 HEAD -- docs/feature_advanced_keycodes.md | cat
original document: 0.12.29:docs/feature_advanced_keycodes.md
git diff 0.12.29 HEAD -- docs/feature_advanced_keycodes.md | cat
-->
以下のようにキーコードとモディファイアを組み合わせることができます。押すと、モディファイアのキーダウンイベントが送信され、次に `kc` のキーダウンイベントが送信されます。放すと、`kc` のキーアップイベントが送信され、次にモディファイアのキーアップイベントが送信されます。
| キー | エイリアス | 説明 |
|----------|-------------------------------|----------------------------------------------------|
| `LCTL(kc)` | `C(kc)` | 左 Control を押しながら `kc` を押します。 |
| `LSFT(kc)` | `S(kc)` | 左 Shift を押しながら `kc` を押します。 |
| `LALT(kc)` | `A(kc)`, `LOPT(kc)` | 左 Alt を押しながら `kc`を押します。 |
| `LGUI(kc)` | `G(kc)`, `LCMD(kc)`, `LWIN(kc)` | 左 GUI を押しながら `kc` を押します。 |
| `RCTL(kc)` | | 右 Control を押しながら `kc` を押します。 |
| `RSFT(kc)` | | 右 Shift を押しながら `kc` を押します。 |
| `RALT(kc)` | `ROPT(kc)`, `ALGR(kc)` | 右 Alt を押しながら `kc` を押します。 |
| `RGUI(kc)` | `RCMD(kc)`, `LWIN(kc)` | 右 GUI を押しながら `kc` を押します。 |
| `SGUI(kc)` | `SCMD(kc)`, `SWIN(kc)` | 左 Shift と左 GUI を押しながら `kc` を押します。 |
| `LCA(kc)` | | 左 Control と左 Alt を押しながら `kc` を押します。 |
| `LCAG(kc)` | | 左 Control、左 Alt、左 GUI を押しながら `kc` を押します。 |
| `MEH(kc)` | | 左 Control、左 Shift、左 Alt を押しながら `kc` を押します。 |
| `HYPR(kc)` | | Control、左 Shift、左 Alt、左 GUI を押しながら `kc` を押します。 |
| キー | エイリアス | 説明 |
| ---------- | ------------------------------- | ------------------------------------------------------------------- |
| `LCTL(kc)` | `C(kc)` | 左 Control を押しながら `kc` を押します。 |
| `LSFT(kc)` | `S(kc)` | 左 Shift を押しながら `kc` を押します。 |
| `LALT(kc)` | `A(kc)`, `LOPT(kc)` | 左 Alt を押しながら `kc`を押します。 |
| `LGUI(kc)` | `G(kc)`, `LCMD(kc)`, `LWIN(kc)` | 左 GUI を押しながら `kc` を押します。 |
| `RCTL(kc)` | | 右 Control を押しながら `kc` を押します。 |
| `RSFT(kc)` | | 右 Shift を押しながら `kc` を押します。 |
| `RALT(kc)` | `ROPT(kc)`, `ALGR(kc)` | 右 Alt を押しながら `kc` を押します。 |
| `RGUI(kc)` | `RCMD(kc)`, `LWIN(kc)` | 右 GUI を押しながら `kc` を押します。 |
| `SGUI(kc)` | `SCMD(kc)`, `SWIN(kc)` | 左 Shift と左 GUI を押しながら `kc` を押します。 |
| `LCA(kc)` | | 左 Control と左 Alt を押しながら `kc` を押します。 |
| `LSA(kc)` | | 左 Shift と左 Alt を押しながら `kc` を押します。 |
| `RSA(kc)` | `SAGR(kc)` | 右 Shift と右 Alt (AltGr) を押しながら `kc` を押します。 |
| `RCS(kc)` | | Control と右 Shift を押しながら `kc` を押します。 |
| `LCAG(kc)` | | 左 Control、左 Alt、左 GUI を押しながら `kc` を押します。 |
| `MEH(kc)` | | 左 Control、左 Shift、左 Alt を押しながら `kc` を押します。 |
| `HYPR(kc)` | | 左 Control、左 Shift、左 Alt、左 GUI を押しながら `kc` を押します。 |
また、それらを繋げることができます。例えば、`LCTL(LALT(KC_DEL))` または `C(A(KC_DEL))` は1回のキー押下で Control+Alt+Delete を送信するキーを作成します。
# モディファイアの状態を確認 :id=checking-modifier-state
現在のモディファイアの状態は、2つの関数によって主にアクセスされます。: `get_mods()` 関数は通常のモディファイアとモッドタップの状態を、`get_oneshot_mods()` 関数はワンショットモディファイアの状態を確認する関数です。(ワンショットモディファイアはキーが押されていない限り、通常のモディファイアキーのように動作します。)
1つ以上の特定のモディファイアが現在のモディファイアの状態に含まれているかどうかは、モディファイアの状態と、照合したいモディファイアの組み合わせに相当するモッドマスクとを AND 演算することで検出できます。
ビット演算が使われる理由は、モディファイアの状態が (GASC)<sub>R</sub>(GASC)<sub>L</sub> の形式で1バイトとして格納されるためです。
従って、例を挙げると、`01000010` は LShift+RALT の内部表現です。
C 言語におけるビット演算のより詳しい情報は、[ここ](https://en.wikipedia.org/wiki/Bitwise_operations_in_C) をクリックして、Wikipedia のページのトピックを開いてください。
実際には、`get_mods() & MOD_BIT(KC_<modifier>)`([モディファイアキーコードのリスト](ja/keycodes_basic.md#modifiers) 参照) で、あるモディファイアが有効かどうかをチェックできるということです、また左右のモディファイアの違いが重要ではなく、両方にマッチさせたい場合は、`get_mods() & MOD_MASK_<modifier>`とします。ワンショットモディファイアについても、`get_mods()``get_oneshot_mods()` に置き換えれば同じことができます。
モディファイアの特定の組み合わせが同時にアクティブなのか確認する*だけ*なら、上で説明したモディファイアの状態とモッドマスクの論理積と、モッドマスク自身の結果を比較します。: `get_mods() & <mod mask> == <mod mask>`
例えば、左 Control キーと 左 Shift キーのワンショットモディファイアがオンで、その他のワンショットモディファイアがオフの場合にカスタムコードを起動したいとしましょう。そうするには、`(MOD_BIT(KC_LCTL) | MOD_BIT(KC_LSFT))` で左 Control キーと Shift キーのモッドビットを組み合わせて目的のモッドマスクを構成し、それらを差し込みます: `get_oneshot_mods & (MOD_BIT(KC_LCTL) | MOD_BIT(KC_LSFT)) == (MOD_BIT(KC_LCTL) | MOD_BIT(KC_LSFT))`。モッドビットマスクの代わりに `MOD_MASK_CS` 使うと、条件を満たすために4つのモディファイアキー (左右両方の Control キーと Shift キー) を押す必要があります。
モッドマスクの完全なリストは、以下のとおりです。
| モッドマスク名 | マッチするモディファイア |
|--------------------|-------------------------------------------------------------|
| `MOD_MASK_CTRL` | 左 Control , 右 Control |
| `MOD_MASK_SHIFT` | 左 Shift , 右 Shift |
| `MOD_MASK_ALT` | 左 Alt , 右 Alt |
| `MOD_MASK_GUI` | 左 GUI , 右 GUI |
| `MOD_MASK_CS` | Control , Shift |
| `MOD_MASK_CA` | (左/右) Control , (左/右) Alt |
| `MOD_MASK_CG` | (左/右) Control , (左/右) GUI |
| `MOD_MASK_SA` | (左/右) Shift , (左/右) Alt |
| `MOD_MASK_SG` | (左/右) Shift , (左/右) GUI |
| `MOD_MASK_AG` | (左/右) Alt , (左/右) GUI |
| `MOD_MASK_CSA` | (左/右) Control , (左/右) Shift , (左/右) Alt |
| `MOD_MASK_CSG` | (左/右) Control , (左/右) Shift , (左/右) GUI |
| `MOD_MASK_CAG` | (左/右) Control , (左/右) Alt , (左/右) GUI |
| `MOD_MASK_SAG` | (左/右) Shift , (左/右) Alt , (左/右) GUI |
| `MOD_MASK_CSAG` | (左/右) Control , (左/右) Shift , (左/右) Alt , (左/右) GUI |
`get_mods()` 関数を使って現在アクティブなモディファイアにアクセスする以外に、モディファイアの状態を変更するために使えるいくつかの関数があります。ここでは、`mods` 引数はモディファイアビットマスクを表します。
* `add_mods(mods)`: その他のモディファイアに影響を与えずに `mods` を有効にします。
* `register_mods(mods)`: `add_mods` に似ていますが、キーボードにすぐにレポートを送信します。
* `del_mods(mods)`: その他のモディファイアに影響を与えずに `mods` を無効にします。
* `unregister_mods(mods)`: `del_mods` に似ていますが、キーボードにすぐにレポートを送信します。
* `set_mods(mods)`: `mods` で現在のモディファイアの状態を上書きします
* `clear_mods()`: 全てのモディファイアを無効にすることによって、モディファイアの状態をリセットします。
同様に、`get_oneshot_mods()` 関数に加えて、ワンショットモディファイアのための関数もあります。
* `add_oneshot_mods(mods)`: その他のワンショットモディファイアに影響を与えずに `mods` を有効にします
* `del_oneshot_mods(mods)`: その他のワンショットモディファイアに影響を与えずに `mods` を無効にします
* `set_oneshot_mods(mods)`: `mods` で現在のワンショットモディファイアの状態を上書きします
* `clear_oneshot_mods()`: 全てのワンショットモディファイアを無効にすることによって、ワンショットモディファイアの状態をリセットします。
## 例 :id=examples
次の例は、[マクロについてのページ](ja/feature_macros.md) で読める [高度なマクロ](ja/feature_macros.md?id=advanced-macro-functions) を使っています。
### Alt + Tab の代わりの Alt + Escape :id=alt-escape-for-alt-tab
左 Alt と `KC_ESC` が押されたときに、アプリ切り替えの(左 Alt と) `KC_TAB` のように振る舞うことを実現する単純な例です。この例は、左 Alt だけがアクティブになっているかを厳格に確認します。つまり、Alt+Shift+Esc によるアプリの逆順での切り替えはできません。また、この例は、実際の Alt+Escape キーボードショートカットを起動することはできなくなりますが、AltGr+Escape キーボードショートカットを起動することはできることに留意してください。
```c
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
switch (keycode) {
case KC_ESC:
// 左 Alt だけがアクティブか検知します
if ((get_mods() & MOD_BIT(KC_LALT)) == MOD_BIT(KC_LALT)) {
if (record->event.pressed) {
// KC_LALT を登録する必要はありません。既にアクティブだからです。
// Alt モディファイアはこの KC_TAB に適用されます。
register_code(KC_TAB);
} else {
unregister_code(KC_TAB);
}
// QMK にこれ以上キーコードの処理をさせません。
return false;
}
// それ以外の場合は、QMK に通常通り KC_ESC の処理をさせます。
return true;
}
return true;
};
```
### Delete の代わりの Shift + Backspace :id=shift-backspace-for-delete
`KC_BSPC` と組み合わせることで Shift の本来の動作が取り消され、そして、`KC_DEL` に完全に置き換えられる高度な例です。この例を適切に動作させるために2つのメイン変数が作られます。: `mod_state``delkey_registered` です。最初の1つ目の変数は、モディファイアの状態を記憶し、`KC_DEL` を登録した後に元に戻すために使われます。2つ目の変数はブール型変数 (true または false) で、`KC_DEL` の状態を追跡して Backspace/Delete キー全体のリリースを正確に管理します。
前の例と対照的に、この例は厳格なモディファイアの確認を行いません。このカスタムコードを起動するには、1つまたは2つの Shift キーがアクティブな間に `KC_BSPC` を押せば十分で、他のモディファイアの状態は関係ありません。この方法は、いくつかの特典を提供します。: Ctrl+Shift+Backspace は次の単語を削除 (Control+Delete) し、Ctrl+Alt+Shift+Backspace は Ctrl+Alt+Del キーボードショートカットを実行します。
```c
// アクティブなモディファイアを表すバイナリデータを保持する変数を初期化します
uint8_t mod_state;
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
// 後々の参照のために現在のモディファイアの状態を変数に格納します
mod_state = get_mods();
switch (keycode) {
case KC_BSPC:
{
// Delete キーの状態(登録されているかどうか)を追跡するブール型変数を初期化します。
static bool delkey_registered;
if (record->event.pressed) {
// いずれかの Shift がアクティブか検知します
if (mod_state & MOD_MASK_SHIFT) {
// 最初に、 Shift キーを KC_DEL に適用しないため、
// 一時的に左右両方の Shift キーをキャンセルします
del_mods(MOD_MASK_SHIFT);
register_code(KC_DEL);
// KC_DEL の状態を反映させるためにブール型変数を更新します
delkey_registered = true;
// Backspace/Delete キーをタップした後でも押し続けている Shift キーが機能するように、
// モディファイアの状態を再適用します。
set_mods(mod_state);
return false;
}
} else { // KC_BSPC キーを離した場合
// KC_BSPC を離しても KC_DEL が送信されている場合
if (delkey_registered) {
unregister_code(KC_DEL);
delkey_registered = false;
return false;
}
}
// QMK に Shift キーを除いて KC_BSPC を通常通り処理させます
return true;
}
}
return true;
};
```
# 過去の内容 :id=legacy-content
このページには多くの機能が含まれていました。このページを構成していた多くのセクションをそれぞれのページに移動しました。これより下は全て単なるリダイレクトであるため、web上で古いリンクをたどっている人は探しているものを見つけることができます。

View File

@@ -1,8 +1,8 @@
# 触覚フィードバック
<!---
original document: 0.8.123:docs/feature_haptic_feedback.md
git diff 0.8.123 HEAD -- docs/feature_haptic_feedback.md | cat
original document: 0.12.41:docs/feature_haptic_feedback.md
git diff 0.12.41 HEAD -- docs/feature_haptic_feedback.md | cat
-->
## 触覚フィードバック の rules.mk オプション
@@ -31,7 +31,7 @@
| `HPT_TOG` | 触覚フィードバックのオン/オフを切り替え |
| `HPT_RST` | 触覚フィードバック設定をデフォルトに戻す |
| `HPT_FBK` | キー押下またはリリースまたはその両方でフィードバックを切り替え |
| `HPT_BUZ` | ソレノイドの振動のオン/オフを切り替え |
| `HPT_BUZ` | ソレノイドのブザー音のオン/オフを切り替え |
| `HPT_MODI` | 次の DRV2605L 波形に移動 |
| `HPT_MODD` | 前の DRV2605L 波形に移動 |
| `HPT_CONT` | 連続触覚モードのオン/オフを切り替え |
@@ -44,7 +44,7 @@
ほとんどの MCU はソレノイドのコイルを駆動するために必要な電流を供給できないため、最初に MOSFET を介してソレノイドを駆動する回路を構築する必要があります。
[Adafruit が提供する配線図](https://playground.arduino.cc/uploads/Learning/solenoid_driver.pdf)
[Adafruit が提供する配線図](https://cdn-shop.adafruit.com/product-files/412/412_solenoid_driver.pdf)
| 設定 | デフォルト | 説明 |
@@ -53,8 +53,15 @@
| `SOLENOID_DEFAULT_DWELL` | `12` ms | ソレノイドのデフォルトの滞留時間を設定する。 |
| `SOLENOID_MIN_DWELL` | `4` ms | 滞留時間の下限を設定する。 |
| `SOLENOID_MAX_DWELL` | `100` ms | 滞留時間の上限を設定する。 |
| `SOLENOID_DWELL_STEP_SIZE` | `1` ms | `HPT_DWL*` キーコードが送信される時に使われるステップサイズ |
| `SOLENOID_DEFAULT_BUZZ` | `0` (無効) | HPT_RST では、この値が "1" の場合、ブザー音が "on" に設定されます |
| `SOLENOID_BUZZ_ACTUATED` | `SOLENOID_MIN_DWELL` | ソレノイドがブザー音モードの場合の動作時間 |
| `SOLENOID_BUZZ_NONACTUATED` | `SOLENOID_MIN_DWELL` | ソレノイドがブザー音モードの場合の非動作時間 |
?> 滞留時間とは、「プランジャー」が作動したままになる時間です。滞留時間により、ソレノイドの音が変わります。
* ソレノイドのブザー音がオフの場合、滞留時間「プランジャー」が作動したままになる時間です。滞留時間により、ソレノイドの音が変わります。
* ソレノイドのブザー音がオンの場合、滞留時間は振動の長さを設定しますが、`SOLENOID_BUZZ_ACTUATED``SOLENOID_BUZZ_NONACTUATED` はブザー音の間の(非)動作時間を設定します。
* 現在の実装では、上記の時間設定のいずれについても、設定の精度はキーボードがマトリックスをスキャンできる速度によって影響を受ける可能性があります。
したがって、キーボードのスキャンルーチンが遅い場合は、`SOLENOID_DWELL_STEP_SIZE` をキーボードのスキャンに掛かる時間よりもわずかに小さい値に設定することをお勧めします。
ブートローダ実行中に一部のピンが給電されているかもしれず (例えば、STM32F303 チップ上の A13)、そうすると書き込みプロセスの間ずっとソレノイドがオン状態になることに注意してください。これはソレノイドを加熱し損傷を与えるかもしれません。ソレノイドが接続されているピンがブートローダ/DFU 実行中にソレノイドをオンにしていることが分かった場合は、他のピンを選択してください。

View File

@@ -1,8 +1,8 @@
# レイヤー :id=layers
<!---
original document: 0.9.43:docs/feature_layers.md
git diff 0.9.43 HEAD -- docs/feature_layers.md | cat
original document: 0.12.41:docs/feature_layers.md
git diff 0.12.41 HEAD -- docs/feature_layers.md | cat
-->
QMK ファームウェアの最も強力で良く使われている機能の一つは、レイヤーを使う機能です。ほとんどの人にとって、これはラップトップやタブレットキーボードにあるのと同じように、様々なキーを可能にするファンクションキーに相当します。
@@ -24,12 +24,10 @@ QMK ファームウェアの最も強力で良く使われている機能の一
### 注意事項 :id=caveats
現在のところ、`LT()` `MT()` は[基本的なキーコードセット](ja/keycodes_basic.md)に制限されています。つまり、`LCTL()``KC_TILD` あるいは `0xFF` より大きなキーコードを使うことができません。特に、`LT``MT` のような二重の機能キーは16ビットキーコードを使います。4ビットは機能の識別のために使われ、次の12ビットはパラメータに分かれます。レイヤータップはレイヤーに4ビットを使います(実はレイヤータップがレイヤー 0-15 に制限されている理由です)。モッドタップも同じですが、識別子に4ビット、モッドのために4ビットが使われ、全体でキーコードに8ビットを使います。このため、使用されるキーコードは `0xFF` (0-255) に制限され、基本的なキーコードのみです
現在のところ、`LT()` `layer` 引数はレイヤー 0-15 に制限され、`kc` 引数は[基本的なキーコードセット](ja/keycodes_basic.md)に制限されています。つまり、`LCTL()``KC_TILD` あるいは `0xFF` より大きなキーコードを使うことができません。これは、QMK が16ビットキーコードを使うためです。4ビットは機能の識別のために使われ、4ビットはレイヤーのために使われ、キーコードに8ビットしか残されていません
これを拡張してもせいぜい複雑になるだけでしょう。32ビットキーコードに移行すると、これの多くが解決されますが、キーマップマトリックスが使用する領域が2倍になります。また、問題が起きる可能性もあります。タップしたキーコードにモディファイアを適用する必要がある場合は、[タップダンス](ja/feature_tap_dance.md#example-5-using-tap-dance-for-advanced-mod-tap-and-layer-tap-keys)を使うことができます。
さらに、モッドタップあるいはレイヤータップで少なくとも1つの右手用のモディファイアが指定された場合、指定された全てのモディファイアが右手用になるため、2つをうまく組み合わせて一致させることはできません。
## レイヤーとの連携 :id=working-with-layers
レイヤーを切り替える時は注意してください。(キーボードを取り外さずに)そのレイヤーを非アクティブにすることができずレイヤーから移動できなくなる可能性があります。最も一般的な問題を避けるためのガイドラインを作成しました。

View File

@@ -210,7 +210,7 @@ SEND_STRING(".."SS_TAP(X_END));
```
## 高度なマクロ関数
## 高度なマクロ関数 :id=advanced-macro-functions
マクロの生成に役立つ関数が幾つかあります。マクロの中にかなり高度なコードを書くことができますが、機能が複雑になりすぎる場合は、代わりにカスタムキーコードを定義することをお勧めします。マクロはシンプルにしなければなりません。

View File

@@ -1,8 +1,8 @@
# ポインティングデバイス :id=pointing-device
<!---
original document: 0.9.43:docs/feature_pointing_device.md
git diff 0.9.43 HEAD -- docs/feature_pointing_device.md | cat
original document: 0.12.41:docs/feature_pointing_device.md
git diff 0.12.41 HEAD -- docs/feature_pointing_device.md | cat
-->
ポインティングデバイスは汎用的な機能の総称です: システムポインタを移動します。マウスキーのような他のオプションも確かにありますが、これは簡単に変更可能で軽量であることを目指しています。機能を制御するためにカスタムキーを実装したり、他の周辺機器から情報を収集してここに直接挿入したりできます - QMK に処理を任せてください。
@@ -24,7 +24,7 @@ report_mouse_t (ここでは "mouseReport") が以下のプロパティを持つ
* `mouseReport.y` - これは、y軸の動き(+ 上へ、- 下へ)を表す -127 から 127 (128ではなく、USB HID 仕様で定義されています)の符号付き整数です。
* `mouseReport.v` - これは、垂直スクロール(+ 上へ、- 下へ)を表す -127 から 127 (128ではなく、USB HID 仕様で定義されています)の符号付き整数です。
* `mouseReport.h` - これは、水平スクロール(+ 右へ、- 左へ)を表す -127 から 127 (128ではなく、USB HID 仕様で定義されています)の符号付き整数です。
* `mouseReport.buttons` - これは uint8_t で、上位の5ビットを使っています。これらのビットはマウスボタンの状態を表します - ビット 3 はマウスボタン 5、ビット 7 はマウスボタン 1 です。
* `mouseReport.buttons` - これは uint8_t で、8ビット全てを使っています。これらのビットはマウスボタンの状態を表します - ビット 0 はマウスボタン 1、ビット 7 はマウスボタン 8 です。
マウスレポートに必要な変更を行ったら、それを送信する必要があります:
@@ -32,6 +32,10 @@ report_mouse_t (ここでは "mouseReport") が以下のプロパティを持つ
マウスレポートが送信されると、x、y、v、h のいずれの値も 0 に設定されます (これは `pointing_device_send()` で行われます。この挙動を回避するためにオーバーライドすることができます)。このように、ボタンの状態は持続しますが、動きは1度だけ起こります。さらにカスタマイズするために、`pointing_device_init``pointing_device_task` のどちらもオーバーライドすることができます。
さらに、デフォルトでは、`pointing_device_send()` はレポートが実際に変更された場合のみレポートを送信します。これにより、マウスレポートが継続的に送信されてホストシステムが起動されたままになることを防ぎます。この動作は、独自の `pointing_device_send()` 関数を作成することで変更できます。
また、`has_mouse_report_changed(new, old)` 関数を使って、レポートが変更されたかどうかを確認できます。(訳注:独自の `pointing_device_send()` 関数を作成する場合でも、その中で `has_mouse_report_changed(new, old)` 関数でチェックして、デフォルトの `pointing_device_send()` と類似の無駄なレポートの抑制をして、ホストシステムがスリープ状態に入れる余地を残すようにしておくのが良いでしょう。)
以下の例では、カスタムキーを使ってマウスをクリックし垂直および水平方向に127単位スクロールし、リリースされた時にそれを全て元に戻します - なぜならこれは完全に便利な機能だからです。いいですか、以下はひとつの例です:
```c

View File

@@ -1,8 +1,8 @@
# PS/2 マウスサポート :id=ps2-mouse-support
<!---
original document: 0.9.44:docs/feature_ps2_mouse.md
git diff 0.9.44 HEAD -- docs/feature_ps2_mouse.md | cat
original document: 0.13.17:docs/feature_ps2_mouse.md
git diff 0.13.17 HEAD -- docs/feature_ps2_mouse.md | cat
-->
PS/2 マウス (例えばタッチパッドあるいはトラックポイント)を複合デバイスとしてキーボードに接続することができます。
@@ -210,7 +210,7 @@ void ps2_mouse_set_sample_rate(ps2_mouse_sample_rate_t sample_rate);
この機能を有効にするには、以下のようにスクロールボタンマスクを設定する必要があります:
```c
#define PS2_MOUSE_SCROLL_BTN_MASK (1<<PS2_MOUSE_BUTTON_MIDDLE) /* Default */
#define PS2_MOUSE_SCROLL_BTN_MASK (1<<PS2_MOUSE_BTN_MIDDLE) /* Default */
```
スクロールボタン機能を無効にするには:

View File

@@ -1,8 +1,8 @@
# Raw HID
<!---
original document: 0.10.47:docs/feature_rawhid.md
git diff 0.10.47 HEAD -- docs/feature_rawhid.md | cat
original document: 0.12.41:docs/feature_rawhid.md
git diff 0.12.41 HEAD -- docs/feature_rawhid.md | cat
-->
Raw HID は、HID インタフェースを介して QMK とホストコンピュータ間の双方向通信を可能にします。これには、キーマップをその場で切り替えたり、RGB LED の色とモードを変更したりなど、多くの潜在的な使用方法があります。
@@ -34,7 +34,7 @@ void raw_hid_receive(uint8_t *data, uint8_t length) {
}
```
`raw_hid_receive` はホストから最大長 `RAW_EPSIZE` の可変サイズのパケットを受信することができます。一方、`raw_hid_send` はパケットを厳密に `RAW_EPSIZE` の長さで送信するため、長さ `RAW_EPSIZE` のデータを使う必要があります
これら2つの関数は、ホストとの間で長さ `RAW_EPSIZE` バイトのパケットを受信します (LUFA/ChibiOS/V-USB では 32、ATSAM では 64)
ホスト側での作業を進める前に、raw 対応のファームウェアを書き込むようにしてください。

View File

@@ -1,8 +1,8 @@
# QMK での速記 :id=stenography-in-qmk
<!---
original document: 0.10.33:docs/feature_stenography.md
git diff 0.10.33 HEAD -- docs/feature_stenography.md | cat
original document: 0.13.15:docs/feature_stenography.md
git diff 0.13.15 HEAD -- docs/feature_stenography.md | cat
-->
[速記](https://en.wikipedia.org/wiki/Stenotype)は裁判所のレポート、字幕および耳が不自由な人のためのリアルタイムの文字起こしで最もよく使われる記述方法です。速記では単語はスペル、音声およびショートカット(短い)ストロークが混在する音節ごとに音節化されます。プロの速記者は、標準的なタイピングで通常見られる負担を掛けずに、はるかに少ないエラー(99.9%より高い精度)で、200-300 WPM に到達できます。

View File

@@ -1,8 +1,8 @@
# スワップハンドアクション
<!---
original document: 0.8.177:docs/feature_swap_hands.md
git diff 0.8.177 HEAD -- docs/feature_swap_hands.md | cat
original document: 0.13.17:docs/feature_swap_hands.md
git diff 0.13.17 HEAD -- docs/feature_swap_hands.md | cat
-->
スワップハンドアクションにより、別のレイヤーを必要とせずに片手入力をサポートします。Makefile に `SWAP_HANDS_ENABLE` を設定し、キーマップに `hand_swap_config` エントリを定義します。これで `ACTION_SWAP_HANDS` コマンドキーが押されるたびにキーボードがミラーされます。例えば、QWERTY で "Hello, World" を入力するには、`^Ge^s^s^w^c W^wr^sd` を入力します。

View File

@@ -1,8 +1,8 @@
# タップダンス: 1つのキーが3つ、5つまたは100の異なる動作をします
<!---
original document: 0.10.33:docs/feature_tap_dance.md
git diff 0.10.33 HEAD -- docs/feature_tap_dance.md | cat
original document: 0.13.15:docs/feature_tap_dance.md
git diff 0.13.15 HEAD -- docs/feature_tap_dance.md | cat
-->
## イントロダクション :id=introduction
@@ -22,7 +22,7 @@
`TAPPING_TERM` の時間は、あなたのタップダンスのキーのタップとタップの間の時間として許可された最大の時間で、ミリ秒単位で計測されます。例えば、もし、あなたがこの上にある `#define` ステートメントを使い、1回タップすると `Space` が送信され、2回タップすると `Enter` が送信されるタップダンスキーをセットアップした場合、175ミリ秒以内に2回キーをタップすれば `ENT` だけが送信されるでしょう。もし、1回タップしてから175ミリ秒以上待ってからもう一度タップすると、`SPC SPC` が送信されます。
次に、いくつかのタップダンスのキーを定義するためには、`TD()` マクロを使うのが最も簡単です。これは数字を受け取り、この数字は後で `tap_dance-actions` 配列のインデックスとして使われます。
次に、いくつかのタップダンスのキーを定義するためには、`TD()` マクロを使うのが最も簡単です。これは数字を受け取り、この数字は後で `tap_dance_actions` 配列のインデックスとして使われます。
その後、`tap_dance_actions` 配列を使って、タップダンスキーを押した時のアクションを定義します。現在は、5つの可能なオプションがあります:
@@ -85,7 +85,7 @@ qk_tap_dance_action_t tap_dance_actions[] = {
[TD_ESC_CAPS] = ACTION_TAP_DANCE_DOUBLE(KC_ESC, KC_CAPS),
};
// キーコードの代わりにタップダンスキーを追加します
// キーマップにキーコードの代わりにタップダンスの項目を追加します
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// ...
TD(TD_ESC_CAPS)
@@ -215,20 +215,22 @@ qk_tap_dance_action_t tap_dance_actions[] = {
`keymap.c` ファイルの先頭、つまりキーマップの前に、以下のコードを追加します。
```c
typedef enum {
TD_NONE,
TD_UNKNOWN,
TD_SINGLE_TAP,
TD_SINGLE_HOLD,
TD_DOUBLE_TAP,
TD_DOUBLE_HOLD,
TD_DOUBLE_SINGLE_TAP, // Send two single taps
TD_TRIPLE_TAP,
TD_TRIPLE_HOLD
} td_state_t;
typedef struct {
bool is_press_action;
uint8_t state;
} tap;
enum {
SINGLE_TAP = 1,
SINGLE_HOLD,
DOUBLE_TAP,
DOUBLE_HOLD,
DOUBLE_SINGLE_TAP, // シングルタップを2回送信
TRIPLE_TAP,
TRIPLE_HOLD
};
td_state_t state;
} td_tap_t;
// タップダンスの列挙型
enum {
@@ -236,7 +238,7 @@ enum {
SOME_OTHER_DANCE
};
uint8_t cur_dance(qk_tap_dance_state_t *state);
td_state_t cur_dance(qk_tap_dance_state_t *state);
// xタップダンスのための関数。キーマップで利用できるようにするため、ここに置きます。
void x_finished(qk_tap_dance_state_t *state, void *user_data);
@@ -273,63 +275,63 @@ void x_reset(qk_tap_dance_state_t *state, void *user_data);
* 一般的な単語で2回続けて使われる文字でないこと。例えば 'pepper' 中の 'p'。もしタップダンス機能が
* 文字 'p' に存在する場合、'pepper' という単語は入力するのが非常にいらだたしいものになるでしょう。
*
* 3つ目の点については、'DOUBLE_SINGLE_TAP' が存在しますが、これは完全にはテストされていません
* 3つ目の点については、'TD_DOUBLE_SINGLE_TAP' が存在しますが、これは完全にはテストされていません
*
*/
uint8_t cur_dance(qk_tap_dance_state_t *state) {
td_state_t cur_dance(qk_tap_dance_state_t *state) {
if (state->count == 1) {
if (state->interrupted || !state->pressed) return SINGLE_TAP;
if (state->interrupted || !state->pressed) return TD_SINGLE_TAP;
// キーは割り込まれていませんが、まだ押し続けられています。'HOLD' を送信することを意味します。
else return SINGLE_HOLD;
else return TD_SINGLE_HOLD;
} else if (state->count == 2) {
// DOUBLE_SINGLE_TAP は "pepper" と入力することと、'pp' と入力したときに実際に
// TD_DOUBLE_SINGLE_TAP は "pepper" と入力することと、'pp' と入力したときに実際に
// ダブルタップしたい場合とを区別するためのものです。
// この戻り値の推奨されるユースケースは、'ダブルタップ' 動作やマクロではなく、
// そのキーの2つのキー入力を送信したい場合です。
if (state->interrupted) return DOUBLE_SINGLE_TAP;
else if (state->pressed) return DOUBLE_HOLD;
else return DOUBLE_TAP;
if (state->interrupted) return TD_DOUBLE_SINGLE_TAP;
else if (state->pressed) return TD_DOUBLE_HOLD;
else return TD_DOUBLE_TAP;
}
// 誰も同じ文字を3回入力しようとしていないと仮定します(少なくとも高速には)。
// タップダンスキーが 'KC_W' で、"www." と高速に入力したい場合、ここに例外を追加して
// 'TRIPLE_SINGLE_TAP' を返し、'DOUBLE_SINGLE_TAP' のようにその列挙型を定義する必要があります。
// 'TD_TRIPLE_SINGLE_TAP' を返し、'TD_DOUBLE_SINGLE_TAP' のようにその列挙型を定義する必要があります。
if (state->count == 3) {
if (state->interrupted || !state->pressed) return TRIPLE_TAP;
else return TRIPLE_HOLD;
} else return 8; // マジックナンバー。いつかこのメソッドはより多くの押下に対して機能するよう拡張されるでしょう
if (state->interrupted || !state->pressed) return TD_TRIPLE_TAP;
else return TD_TRIPLE_HOLD;
} else return TD_UNKNOWN;
}
//'x' タップダンスの 'tap' のインスタンスを生成します。
static tap xtap_state = {
//'x' タップダンスの 'td_tap_t' のインスタンスを生成します。
static td_tap_t xtap_state = {
.is_press_action = true,
.state = 0
.state = TD_NONE
};
void x_finished(qk_tap_dance_state_t *state, void *user_data) {
xtap_state.state = cur_dance(state);
switch (xtap_state.state) {
case SINGLE_TAP: register_code(KC_X); break;
case SINGLE_HOLD: register_code(KC_LCTRL); break;
case DOUBLE_TAP: register_code(KC_ESC); break;
case DOUBLE_HOLD: register_code(KC_LALT); break;
case TD_SINGLE_TAP: register_code(KC_X); break;
case TD_SINGLE_HOLD: register_code(KC_LCTRL); break;
case TD_DOUBLE_TAP: register_code(KC_ESC); break;
case TD_DOUBLE_HOLD: register_code(KC_LALT); break;
// 最後の case は高速入力用です。キーが `f` であると仮定します:
// 例えば、`buffer` という単語を入力するとき、`Esc` ではなく `ff` を送信するようにします。
// 高速入力時に `ff` と入力するには、次の文字は `TAPPING_TERM` 以内に入力する必要があります。
// `TAPPING_TERM` はデフォルトでは 200ms です。
case DOUBLE_SINGLE_TAP: tap_code(KC_X); register_code(KC_X);
case TD_DOUBLE_SINGLE_TAP: tap_code(KC_X); register_code(KC_X);
}
}
void x_reset(qk_tap_dance_state_t *state, void *user_data) {
switch (xtap_state.state) {
case SINGLE_TAP: unregister_code(KC_X); break;
case SINGLE_HOLD: unregister_code(KC_LCTRL); break;
case DOUBLE_TAP: unregister_code(KC_ESC); break;
case DOUBLE_HOLD: unregister_code(KC_LALT);
case DOUBLE_SINGLE_TAP: unregister_code(KC_X);
case TD_SINGLE_TAP: unregister_code(KC_X); break;
case TD_SINGLE_HOLD: unregister_code(KC_LCTRL); break;
case TD_DOUBLE_TAP: unregister_code(KC_ESC); break;
case TD_DOUBLE_HOLD: unregister_code(KC_LALT);
case TD_DOUBLE_SINGLE_TAP: unregister_code(KC_X);
}
xtap_state.state = 0;
xtap_state.state = TD_NONE;
}
qk_tap_dance_action_t tap_dance_actions[] = {
@@ -357,9 +359,11 @@ enum td_keycodes {
// 必要な数のタップダンス状態を含むタイプを定義します
typedef enum {
SINGLE_TAP,
SINGLE_HOLD,
DOUBLE_SINGLE_TAP
TD_NONE,
TD_UNKNOWN,
TD_SINGLE_TAP,
TD_SINGLE_HOLD,
TD_DOUBLE_SINGLE_TAP
} td_state_t;
// タップダンスの状態の型のグローバルインスタンスを作ります
@@ -368,7 +372,7 @@ static td_state_t td_state;
// タップダンス関数を宣言します:
// 現在のタップダンスの状態を特定するための関数
uint8_t cur_dance(qk_tap_dance_state_t *state);
td_state_t cur_dance(qk_tap_dance_state_t *state);
// それぞれのタップダンスキーコードに適用する `finished` と `reset` 関数
void altlp_finished(qk_tap_dance_state_t *state, void *user_data);
@@ -379,14 +383,14 @@ void altlp_reset(qk_tap_dance_state_t *state, void *user_data);
```c
// 返却するタップダンス状態を特定します
uint8_t cur_dance(qk_tap_dance_state_t *state) {
td_state_t cur_dance(qk_tap_dance_state_t *state) {
if (state->count == 1) {
if (state->interrupted || !state->pressed) return SINGLE_TAP;
else return SINGLE_HOLD;
if (state->interrupted || !state->pressed) return TD_SINGLE_TAP;
else return TD_SINGLE_HOLD;
}
if (state->count == 2) return DOUBLE_SINGLE_TAP;
else return 3; // 上記で返却する最大の状態の値より大きい任意の数
if (state->count == 2) return TD_DOUBLE_SINGLE_TAP;
else return TD_UNKNOWN; // 上記で返却する最大の状態の値より大きい任意の数
}
// 定義する各タップダンスキーコードのとりうる状態を制御します:
@@ -394,13 +398,13 @@ uint8_t cur_dance(qk_tap_dance_state_t *state) {
void altlp_finished(qk_tap_dance_state_t *state, void *user_data) {
td_state = cur_dance(state);
switch (td_state) {
case SINGLE_TAP:
case TD_SINGLE_TAP:
register_code16(KC_LPRN);
break;
case SINGLE_HOLD:
case TD_SINGLE_HOLD:
register_mods(MOD_BIT(KC_LALT)); // レイヤータップキーの場合、ここでは `layer_on(_MY_LAYER)` を使います
break;
case DOUBLE_SINGLE_TAP: // タップ時間内に2つの括弧 `((` の入れ子を可能にします
case TD_DOUBLE_SINGLE_TAP: // タップ時間内に2つの括弧 `((` の入れ子を可能にします
tap_code16(KC_LPRN);
register_code16(KC_LPRN);
}
@@ -408,13 +412,13 @@ void altlp_finished(qk_tap_dance_state_t *state, void *user_data) {
void altlp_reset(qk_tap_dance_state_t *state, void *user_data) {
switch (td_state) {
case SINGLE_TAP:
case TD_SINGLE_TAP:
unregister_code16(KC_LPRN);
break;
case SINGLE_HOLD:
case TD_SINGLE_HOLD:
unregister_mods(MOD_BIT(KC_LALT)); // レイヤータップキーの場合、ここでは `layer_off(_MY_LAYER)` を使います
break;
case DOUBLE_SINGLE_TAP:
case TD_DOUBLE_SINGLE_TAP:
unregister_code16(KC_LPRN);
}
}
@@ -431,20 +435,22 @@ qk_tap_dance_action_t tap_dance_actions[] = {
タップダンスは、MO(layer) と TG(layer) 機能を模倣することにも使用できます。この例では、1回タップすると `KC_QUOT` 、1回押してそのまま押し続けたら `MO(_MY_LAYER)` 、2回タップしたときは `TG(_MY_LAYER)` として機能するキーを設定します。
最初のステップは、あなたの `keymap.c` ファイルの最初のあたりに以下のコードを追加します。
最初のステップは、あなたの `keymap.c` ファイルの最初のあたりに以下のコードを追加することです。
```c
// 必要な数のタップダンス状態のタイプを定義します
typedef enum {
TD_NONE,
TD_UNKNOWN,
TD_SINGLE_TAP,
TD_SINGLE_HOLD,
TD_DOUBLE_TAP
} td_state_t;
typedef struct {
bool is_press_action;
uint8_t state;
} tap;
// 必要な数のタップダンス状態のタイプを定義します
enum {
SINGLE_TAP = 1,
SINGLE_HOLD,
DOUBLE_TAP
};
td_state_t state;
} td_tap_t;
enum {
QUOT_LAYR, // カスタムタップダンスキー。他のタップダンスキーはこの列挙型に追加します
@@ -453,7 +459,7 @@ enum {
// タップダンスキーで使われる関数を宣言します
// 全てのタップダンスに関連する関数
uint8_t cur_dance(qk_tap_dance_state_t *state);
td_state_t cur_dance(qk_tap_dance_state_t *state);
// 個別のタップダンスに関連する関数
void ql_finished(qk_tap_dance_state_t *state, void *user_data);
@@ -464,31 +470,31 @@ void ql_reset(qk_tap_dance_state_t *state, void *user_data);
```c
// 現在のタップダンスの状態を決定します
uint8_t cur_dance(qk_tap_dance_state_t *state) {
td_state_t cur_dance(qk_tap_dance_state_t *state) {
if (state->count == 1) {
if (!state->pressed) return SINGLE_TAP;
else return SINGLE_HOLD;
} else if (state->count == 2) return DOUBLE_TAP;
else return 8;
if (!state->pressed) return TD_SINGLE_TAP;
else return TD_SINGLE_HOLD;
} else if (state->count == 2) return TD_DOUBLE_TAP;
else return TD_UNKNOWN;
}
// この例のタップダンスキーに関連付けられた "tap" 構造体を初期化します
static tap ql_tap_state = {
static td_tap_t ql_tap_state = {
.is_press_action = true,
.state = 0
.state = TD_NONE
};
// タップダンスキーの動作をコントロールする関数
void ql_finished(qk_tap_dance_state_t *state, void *user_data) {
ql_tap_state.state = cur_dance(state);
switch (ql_tap_state.state) {
case SINGLE_TAP:
case TD_SINGLE_TAP:
tap_code(KC_QUOT);
break;
case SINGLE_HOLD:
case TD_SINGLE_HOLD:
layer_on(_MY_LAYER);
break;
case DOUBLE_TAP:
case TD_DOUBLE_TAP:
// レイヤーが既にセットされているか確認します
if (layer_state_is(_MY_LAYER)) {
// レイヤーが既にセットされていたら、オフにします。
@@ -503,10 +509,10 @@ void ql_finished(qk_tap_dance_state_t *state, void *user_data) {
void ql_reset(qk_tap_dance_state_t *state, void *user_data) {
// キーを押し続けていて今離したら、レイヤーをオフに切り替えます。
if (ql_tap_state.state == SINGLE_HOLD) {
if (ql_tap_state.state == TD_SINGLE_HOLD) {
layer_off(_MY_LAYER);
}
ql_tap_state.state = 0;
ql_tap_state.state = TD_NONE;
}
// タップダンスキーを機能に関連付けます
@@ -519,7 +525,7 @@ qk_tap_dance_action_t tap_dance_actions[] = {
`cur_dance()``ql_tap_state` の使い方は、上の例と似ています。
`ql_finished` 関数における `case:SINGLE_TAP` は、上の例と似ています。`SINGLE_HOLD` の case では、`ql_reset()` と連動してタップダンスキーを押している間 `_MY_LAYER` に切り替わり、キーを離した時に `_MY_LAYER` から離れます。これは、`MO(_MY_LAYER)` に似ています。`DOUBLE_TAP` の case では、`_MY_LAYER` がアクティブレイヤーかどうかを確認することによって動きます。そして、その結果に基づいてレイヤーのオン・オフをトグルします。これは `TG(_MY_LAYER)` に似ています。
`ql_finished` 関数における `case: TD_SINGLE_TAP` は、上の例と似ています。`TD_SINGLE_HOLD` の case では、`ql_reset()` と連動してタップダンスキーを押している間 `_MY_LAYER` に切り替わり、キーを離した時に `_MY_LAYER` から離れます。これは、`MO(_MY_LAYER)` に似ています。`TD_DOUBLE_TAP` の case では、`_MY_LAYER` がアクティブレイヤーかどうかを確認することによって動きます。そして、その結果に基づいてレイヤーのオン・オフをトグルします。これは `TG(_MY_LAYER)` に似ています。
`tap_dance_actions[]` は、上の例に似ています。 `ACTION_TAP_DANCE_FN_ADVANCED()` の代わりに `ACTION_TAP_DANCE_FN_ADVANCED_TIME()` を使ったことに注意してください。
この理由は、私は、非タップダンスキーを使うにあたり `TAPPING_TERM` が短い(175ミリ秒以内)方が好きなのですが、タップダンスのアクションを確実に完了させるには短すぎるとわかったからです——そのため、ここでは時間を275ミリ秒に増やしています。

View File

@@ -1,8 +1,8 @@
# ユーザスペース: キーマップ間でのコードの共有
<!---
original document: 0.9.43:docs/feature_userspace.md
git diff 0.9.43 HEAD -- docs/feature_userspace.md | cat
original document: 0.13.17:docs/feature_userspace.md
git diff 0.13.17 HEAD -- docs/feature_userspace.md | cat
-->
似たキーマップを複数のキーボードで使う場合、それらの間でコードを共有できるという利点が得られることがあります。`users/`に以下の構造でキーマップ(理想的には GitHub のユーザ名、`<name>`)と同じ名前の独自のフォルダを作成します:

View File

@@ -1,16 +1,17 @@
# Docker クイックスタート
<!---
original document: 0.9.32:docs/getting_started_docker.md
git diff 0.9.32 HEAD -- docs/getting_started_docker.md | cat
original document: 0.12.43:docs/getting_started_docker.md
git diff 0.12.43 HEAD -- docs/getting_started_docker.md | cat
-->
このプロジェクトは、プライマリオペレーティングシステムに大きな変更を加えることなくキーボードの新しいファームウェアを非常に簡単に構築することができる Docker ワークフローを含みます。これは、あなたがプロジェクトをクローンしビルドを実行した時に、他の人とまったく同じ環境と QMK ビルド基盤を持つことも保証します。これにより、人々はあなたが遭遇した問題の解決をより簡単に行えるようになります。
## 必要事項
主な前提条件は動作する `docker` がインストールされていることです。
主な前提条件は動作する `docker` または `podman` がインストールされていることです。
* [Docker CE](https://docs.docker.com/install/#supported-platforms)
* [Podman](https://podman.io/getting-started/installation)
## 使い方
@@ -29,7 +30,7 @@ util/docker_build.sh <keyboard>:<keymap>
これは目的のキーボード/キーマップをコンパイルし、結果として書き込み用に `.hex` あるいは `.bin` ファイルを QMK ディレクトリの中に残します。`:keymap` が省略された場合は全てのキーマップが使われます。パラメータの形式は、`make` を使ってビルドする時と同じであることに注意してください。
`target` を指定して Docker から直接キーボードをビルドし、_かつ_書き込むためのサポートもあります。
`target` を指定して Docker から直接キーボードをビルドし、_かつ_ 書き込むためのサポートもあります。
```bash
util/docker_build.sh keyboard:keymap:target
@@ -43,10 +44,17 @@ util/docker_build.sh
# パラメータを入力として読み込みます (空白にすると全てのキーボード/キーマップ)
```
`RUNTIME` 環境変数にコンテナランタイム名やパスを設定することで、使用したいコンテナランタイムを手動で設定できます。
デフォルトでは docker や podman は自動的に検出され、podman より docker が優先されます。
```bash
RUNTIME="podman" util/docker_build.sh keyboard:keymap:target
```
## FAQ
### なぜ Windows/macOS 上で書き込めないのですか?
Windows と macOS では、実行するために [Docker Machine](http://gw.tnode.com/docker/docker-machine-with-usb-support-on-windows-macos/) が必要です。これはセットアップが面倒なので、お勧めではありません: 代わりに [QMK Toolbox](https://github.com/qmk/qmk_toolbox) を使ってください。
!> Docker for Windows は[Hyper-V](https://docs.microsoft.com/en-us/virtualization/hyper-v-on-windows/quick-start/enable-hyper-v) を有効にする必要があります。これは、Windows 7、Windows 8 および **Windows 10 Home** のような Hyper-V を搭載していない Windows のバージョンでは機能しないことを意味します。
!> Docker for Windows は [Hyper-V](https://docs.microsoft.com/en-us/virtualization/hyper-v-on-windows/quick-start/enable-hyper-v) を有効にする必要があります。これは、Windows 7、Windows 8 および **Windows 10 Home** のような Hyper-V を搭載していない Windows のバージョンでは機能しないことを意味します。

View File

@@ -1,8 +1,8 @@
# QMK で GitHub を使う方法
<!---
original document: 0.9.43:docs/getting_started_github.md
git diff 0.9.43 HEAD -- docs/getting_started_github.md | cat
original document: 0.12.43:docs/getting_started_github.md
git diff 0.12.43 HEAD -- docs/getting_started_github.md | cat
-->
GitHub は慣れていない人には少し注意が必要です - このガイドは、QMK におけるフォーク、クローン、プルリクエストのサブミットの各ステップについて説明します。

View File

@@ -1,8 +1,8 @@
# より詳細な `make` 手順
<!---
original document: 0.10.33:docs/getting_started_make_guide.md
git diff 0.10.33 HEAD -- docs/getting_started_make_guide.md | cat
original document: 0.12.43:docs/getting_started_make_guide.md
git diff 0.12.43 HEAD -- docs/getting_started_make_guide.md | cat
-->
`make` コマンドの完全な構文は `<keyboard_folder>:<keymap>:<target>` です:
@@ -19,16 +19,32 @@
`<target>` は以下を意味します
* target が指定されない場合は、以下の `all` と同じです
* `all` は指定されたキーボード/リビジョン/キーマップの可能な全ての組み合わせのコンパイルを行います。例えば、`make planck/rev4:default` は1つの .hex を生成しますが、`make planck/rev4:all` は planck で利用可能な全てのキーマップについて hex を生成します。
* `flash``dfu``teensy``avrdude``dfu-util` または `bootloadHID` はファームウェアをコンパイルし、キーボードにアップロードします。コンパイルが失敗すると、何もアップロードされません。使用するプログラマはキーボードに依存します。ほとんどのキーボードでは `dfu` ですが、ChibiOS キーボードについては `dfu-util` 、標準的な Teensy については `teensy` を使います。キーボードに使うコマンドを見つけるには、キーボード固有の readme をチェックしてください。
* **注意**: 一部のオペレーティングシステムではこれらのコマンドが機能するためには root アクセスが必要です。その場合、例えば `sudo make planck/rev4:default:flash` を実行する必要があります
* `flash``dfu``teensy``avrdude``dfu-util``bootloadHID` はファームウェアをコンパイルし、キーボードにアップロードします。コンパイルが失敗すると、何もアップロードされません。使用するプログラマはキーボードに依存します。ほとんどのキーボードでは `dfu` ですが、ChibiOS キーボードについては `dfu-util` 、標準的な Teensy については `teensy` を使います。キーボードに使うコマンドを見つけるには、キーボード固有の readme をチェックしてください。
利用可能なブートローダの詳細は[ファームウェアの書き込み](ja/flashing.md)ガイドを参照してください
* **Note**: 一部のオペレーティングシステムでは、これらのコマンドが機能するためには特権アクセスが必要です。これは、root アクセスなしでこれらにアクセスするために [`udev ルール`](ja/faq_build.md#linux-udev-rules) を設定するか、あるいは root アクセスでコマンドを実行する (`sudo make planck/rev4:default:flash`) 必要があるかもしれないことを意味します。
* `clean` は、全てをゼロからビルドするためにビルド出力フォルダを掃除します。説明できない問題がある場合は、通常のコンパイルの前にこれを実行してください。
* `distclean` は、.hex ファイルと .bin ファイルを削除します。
次のターゲットは開発者向けです:
* `show_path` ソースとオブジェクトファイルのパスを表示します。
* `dump_vars` makefile 変数をダンプします。
* `objs-size` 個々のオブジェクトファイルのサイズを表示します。
* `show_build_options` 'rules.mk' のオプションセットを表示します。
* `check-md5` 生成されたバイナリファイルの md5 チェックサムを表示します。
make コマンドの最後、つまり target の後に追加のオプションを追加することもできます
* `make COLOR=false` - カラー出力をオフ
* `make SILENT=true` - エラー/警告以外の出力をオフ
* `make VERBOSE=true` - 全ての gcc のものを出力 (デバッグする必要が無い限り面白くありません)
* `make EXTRAFLAGS=-E` - コンパイルせずにコードを前処理 (#define コマンドをデバッグしようとする場合に便利)
* `make VERBOSE_LD_CMD=yes` - -v オプションを指定して ld コマンドを実行します。
* `make VERBOSE_AS_CMD=yes` - -v オプションを指定して as コマンドを実行します。
* `make VERBOSE_C_CMD=<c_source_file>` - 指定された C ソースファイルをコンパイルするときに -v オプションを追加します。
* `make DUMP_C_MACROS=<c_source_file>` - 指定された C ソースファイルをコンパイルするときにプリプロセッサマクロをダンプします。
* `make DUMP_C_MACROS=<c_source_file> > <logfile>` - 指定された C ソースファイルをコンパイルするときにプリプロセッサマクロを `<logfile>` にダンプします。
* `make VERBOSE_C_INCLUDE=<c_source_file>` - 指定された C ソースファイルをコンパイルするときにインクルードされるファイル名をダンプします。
* `make VERBOSE_C_INCLUDE=<c_source_file> 2> <logfile>` - 指定された C ソースファイルをコンパイルするときにインクルードされるファイル名を `<logfile>` にダンプします。
make コマンド自体にもいくつかの追加オプションがあります。詳細は `make --help` を入力してください。最も有用なのはおそらく `-jx` です。これは複数の CPU を使ってコンパイルしたいことを指定し、`x` は使用したい CPU の数を表します。設定すると、特に多くのキーボード/キーマップをコンパイルしている場合は、コンパイル時間を大幅に短縮することができます。通常は、コンパイル中に他の作業を行うための余裕をもたせるために、持っている CPU の数より1つ少ない値に設定します。全てのオペレーティングシステムと make バージョンがオプションをサポートしているわけではないことに注意してください。
@@ -104,7 +120,7 @@ make コマンド自体にもいくつかの追加オプションがあります
これにより、送信したい文字に対応するニーモニックを入力することで Unicode 文字を送信することができます。キーマップファイル内にマッピングテーブルを保持する必要があります。可能な全てのコードポイント( `0x10FFFF` まで)がサポートされます。
詳細と制限については、[Unicode ページ](ja/feature_unicode.md) を見てください。
詳細と制限については、[Unicode ページ](ja/feature_unicode.md)を見てください。
`AUDIO_ENABLE`
@@ -116,11 +132,11 @@ C6 ピン(抽象化が必要)でオーディオ出力できます。詳細は[
`API_SYSEX_ENABLE`
これにより Quantum SYSEX API を使って文字列を送信することができます (どこに?)
これにより Quantum SYSEX API を使って文字列を(どこかに?)送信することができます
`KEY_LOCK_ENABLE`
これは [キーロック](ja/feature_key_lock.md) を有効にします。
これは[キーロック](ja/feature_key_lock.md)を有効にします。
`SPLIT_KEYBOARD`
@@ -132,7 +148,7 @@ ARM ベースの分割キーボード用の標準分割通信ドライバはま
`CUSTOM_MATRIX`
デフォルトのマトリックス走査ルーチンを独自のコードで置き換えます。詳細については、[カスタムマトリックスページ](ja/custom_matrix.md) を見てください。
デフォルトのマトリックス走査ルーチンを独自のコードで置き換えます。詳細については、[カスタムマトリックスページ](ja/custom_matrix.md)を見てください。
`DEBOUNCE_TYPE`

View File

@@ -1,8 +1,8 @@
# Vagrant クイックスタート
<!---
original document: 0.9.10:docs/getting_started_vagrant.md
git diff 0.9.10 HEAD -- docs/getting_started_vagrant.md | cat
original document: 0.12.43:docs/getting_started_vagrant.md
git diff 0.12.43 HEAD -- docs/getting_started_vagrant.md | cat
-->
このプロジェクトは、プライマリオペレーティングシステムに大きな変更を加えることなくキーボードの新しいファームウェアを非常に簡単に構築することができる `Vagrantfile` を含みます。これは、あなたがプロジェクトをクローンしビルドを実行した時に、ビルドのために Vagrantfile を使っている他のユーザと全く同じ環境を持つことも保証します。これにより、人々はあなたが遭遇した問題の解決をより簡単に行えるようになります。
@@ -12,16 +12,16 @@
このリポジトリ内の `Vagrantfile` を使うには、[Vagrant](https://www.vagrantup.com/) およびサポートされるプロバイダがインストールされている必要があります:
* [VirtualBox](https://www.virtualbox.org/) (バージョン 5.0.12 以降)
* 'Vagrant を使うために最もアクセスしやすいプラットフォーム' として販売
* Vagrant を使うために最もアクセスしやすいプラットフォーム」とうたわれています。
* [VMware Workstation](https://www.vmware.com/products/workstation) および [Vagrant VMware プラグイン](https://www.vagrantup.com/vmware)
* (有料) VMware プラグインには、ライセンスされた VMware Workstation/Fusion のコピーが必要です。
* [Docker](https://www.docker.com/)
Vagrant 以外に、適切なプロバイダがインストールされ、その後におそらくコンピュータを再起動すると、このプロジェクトをチェックアウトしたフォルダ内の任意の場所で 'vagrant up' を単純に実行することができ、このプロジェクトをビルドするのに必要な全てのツールが含まれる環境(仮想マシンあるいはコンテナ)が開始されます。Vagrant うまく始めるためのヒントの投稿がありますが、それ以外に、以下のビルドドキュメントを参照することもできます。
Vagrant 以外に、適切なプロバイダがインストールされ、その後におそらくコンピュータを再起動すると、このプロジェクトをチェックアウトしたフォルダ内の任意の場所で 'vagrant up' を単純に実行することができ、このプロジェクトをビルドするのに必要な全てのツールが含まれる環境(仮想マシンあるいはコンテナ)が開始されます。Vagrant 起動時にうまく始めるためのヒントが表示されますが、それ以外に、以下のビルドドキュメントを参照することもできます。
## ファームウェアの書き込み
ファームウェアを書き込む"簡単"な方法は、ホスト OS からツールを使うことです:
ファームウェアを書き込む簡単な方法は、ホスト OS からツールを使うことです:
* [QMK Toolbox](https://github.com/qmk/qmk_toolbox) (推奨)
* [Teensy ローダー](https://www.pjrc.com/teensy/loader.html)

View File

@@ -2,8 +2,8 @@
<!---
grep --no-filename "^[ ]*git diff" docs/ja/*.md | sh
original document: 0.10.33:docs/hardware_avr.md
git diff 0.10.33 HEAD -- docs/hardware_avr.md | cat
original document: 0.12.41:docs/hardware_avr.md
git diff 0.12.41 HEAD -- docs/hardware_avr.md | cat
-->
このページでは QMK における AVR マイコンのサポートについて説明します。AVR マイコンには、Atmel 社製の atmega32u4、atmega32u2、at90usb1286 やその他のマイコンを含みます。AVR マイコンは、簡単に動かせるよう設計された8ビットの MCU です。キーボードでよく使用される AVR マイコンには USB 機能や大きなキーボードマトリックスのためのたくさんの GPIO を搭載しています。これらは、現在、キーボードで使われる最も一般的な MCU です。
@@ -83,7 +83,7 @@ or open the directory in your favourite text editor.
#define PRODUCT my_awesome_keyboard
```
?> Windows や macOS では、`MANUFACTURER``PRODUCT` が USBデバイスのリストに表示されます。Linux 上の `lsusb` では、代わりにデフォルトで [USB ID Repository](http://www.linux-usb.org/usb-ids.html) によって維持されているリストからこれらを取得します。`lsusb -v` を使用するとデバイスから示された値を表示します。また、接続したときのカーネルログにも表示されます。
?> Windows や macOS では、`MANUFACTURER``PRODUCT` が USBデバイスのリストに表示されます。Linux 上の `lsusb` では、代わりに [USB ID Repository](http://www.linux-usb.org/usb-ids.html) によって維持されているリストの値を優先します。デフォルトでは、リストに `VENDOR_ID` / `PRODUCT_ID` を含まない場合にのみ、`MANUFACTURER``PRODUCT` を使います。`sudo lsusb -v` を使用するとデバイスから示された値を表示します。また、接続したときのカーネルログにも表示されます。
### キーボードマトリックスの設定

View File

@@ -2,12 +2,31 @@
<!---
grep --no-filename "^[ ]*git diff" docs/ja/*.md | sh
original document: 0.10.33:docs/hardware_keyboard_guidelines.md
git diff 0.10.33 HEAD -- docs/hardware_keyboard_guidelines.md | cat
original document: 0.12.41:docs/hardware_keyboard_guidelines.md
git diff 0.12.41 HEAD -- docs/hardware_keyboard_guidelines.md | cat
-->
QMK は開始以来、コミュニティにおけるキーボードの作成や保守に貢献しているあなたのような人たちのおかげで飛躍的に成長しました。私たちが成長するにつれて、うまくやるためのいくつかのパターンを発見しました。他の人たちがあなたの苦労の恩恵を受けやすくするため、それにあわせてもらえるようお願いします。
## QMK Lint を使う
キーボードの問題をチェックできるツール、`qmk lint` を提供しています。キーボードとキーマップで作業をしている間は、頻繁に使うことをお勧めします。
チェックに合格した例:
```
$ qmk lint -kb rominronin/katana60/rev2
Ψ Lint check passed!
```
チェックに失敗した例:
```
$ qmk lint -kb clueboard/66/rev3
☒ Missing keyboards/clueboard/66/rev3/readme.md
☒ Lint check failed!
```
## あなたのキーボード/プロジェクトの名前を決める
キーボードの名前は全て小文字で、アルファベット、数字、アンダースコア(`_`)のみで構成されています。アンダースコア(`_`)で始めてはいけません。スラッシュ(`/`)はサブフォルダの区切り文字として使用されます。

View File

@@ -1,8 +1,8 @@
# キーボードマトリックスの仕組み
<!---
original document: 0.9.32:docs/how_a_matrix_works.md
git diff 0.9.32 HEAD -- docs/how_a_matrix_works.md | cat
original document: 0.13.15:docs/how_a_matrix_works.md
git diff 0.13.15 HEAD -- docs/how_a_matrix_works.md | cat
-->
キーボードスイッチのマトリックスは行と列に配置されます。マトリックス回路がなければ、各スイッチはコントローラに直接配線する必要があります。

View File

@@ -1,8 +1,8 @@
# GPIO 制御 :id=gpio-control
<!---
original document: 0.9.34:docs/internals_gpio_control.md
git diff 0.9.34 HEAD -- docs/internals_gpio_control.md | cat
original document: 0.13.15:docs/internals_gpio_control.md
git diff 0.13.15 HEAD -- docs/internals_gpio_control.md | cat
-->
QMK には、マイクロコントローラに依存しない GPIO 制御抽象レイヤーがあります。これは異なるプラットフォーム間でピン制御に簡単にアクセスできるようにするためのものです。
@@ -26,3 +26,22 @@ QMK には、マイクロコントローラに依存しない GPIO 制御抽象
## 高度な設定 :id=advanced-settings
各マイクロコントローラは GPIO に関して複数の高度な設定を持つことができます。この抽象レイヤーは、アーキテクチャー固有の機能の使用法を制限しません。上級ユーザは、目的のデバイスのデータシートを参照し、必要なライブラリを含めてください。AVR については、標準 avr/io.h ライブラリが使われます; STM32 については ChibiOS [PAL ライブラリ](https://chibios.sourceforge.net/docs3/hal/group___p_a_l.html)が使われます。
## アトミック操作 :id=atomic-operation
上記の関数は、必ずしもアトミックに動作することが保証されているわけではありません。そのため、上記の関数を複数組み合わせて使用する際に、操作の途中での割り込みを防ぎたい場合は、以下の `ATOMIC_BLOCK_FORCEON` マクロを使用してください。
例:
```c
void some_function() {
// 通常の処理
ATOMIC_BLOCK_FORCEON {
// アトミックであることが必要な処理
}
// 通常の処理
}
```
`ATOMIC_BLOCK_FORCEON` は、ブロックが実行される前に、割り込みが有効か無効かに関わらず、強制的に割り込みを無効にします。そして、ブロックが実行された後に、割り込みを有効にします。
したがって、`ATOMIC_BLOCK_FORCEON`は、ブロックの実行前に割り込みが有効になっていることがわかっている場合や、ブロックの完了時に割り込みを有効にしても問題ないことがわかっている場合のみ使用できることに注意してください。

261
docs/ja/keycodes_basic.md Normal file
View File

@@ -0,0 +1,261 @@
# 基本的なキーコード
<!---
original document: 0.11.25:docs/keycodes_basic.md
git diff 0.11.25 HEAD -- docs/keycodes_basic.md | cat
-->
基本的なキーコードのセットは、`KC_NO``KC_TRNS``0xA5-DF` の範囲のキーコードを除いて、[HID Keyboard/Keypad Usage Page (0x07)](https://www.usb.org/sites/default/files/documents/hut1_12v2.pdf) に基づいています。
## 文字と数字
|キー |説明 |
|------|----------|
|`KC_A`|`a``A`|
|`KC_B`|`b``B`|
|`KC_C`|`c``C`|
|`KC_D`|`d``D`|
|`KC_E`|`e``E`|
|`KC_F`|`f``F`|
|`KC_G`|`g``G`|
|`KC_H`|`h``H`|
|`KC_I`|`i``I`|
|`KC_J`|`j``J`|
|`KC_K`|`k``K`|
|`KC_L`|`l``L`|
|`KC_M`|`m``M`|
|`KC_N`|`n``N`|
|`KC_O`|`o``O`|
|`KC_P`|`p``P`|
|`KC_Q`|`q``Q`|
|`KC_R`|`r``R`|
|`KC_S`|`s``S`|
|`KC_T`|`t``T`|
|`KC_U`|`u``U`|
|`KC_V`|`v``V`|
|`KC_W`|`w``W`|
|`KC_X`|`x``X`|
|`KC_Y`|`y``Y`|
|`KC_Z`|`z``Z`|
|`KC_1`|`1``!`|
|`KC_2`|`2``@`|
|`KC_3`|`3``#`|
|`KC_4`|`4``$`|
|`KC_5`|`5``%`|
|`KC_6`|`6``^`|
|`KC_7`|`7``&`|
|`KC_8`|`8``*`|
|`KC_9`|`9``(`|
|`KC_0`|`0``)`|
## ファンクションキー
|キー |説明 |
|--------|-----|
|`KC_F1` |F1 |
|`KC_F2` |F2 |
|`KC_F3` |F3 |
|`KC_F4` |F4 |
|`KC_F5` |F5 |
|`KC_F6` |F6 |
|`KC_F7` |F7 |
|`KC_F8` |F8 |
|`KC_F9` |F9 |
|`KC_F10`|F10 |
|`KC_F11`|F11 |
|`KC_F12`|F12 |
|`KC_F13`|F13 |
|`KC_F14`|F14 |
|`KC_F15`|F15 |
|`KC_F16`|F16 |
|`KC_F17`|F17 |
|`KC_F18`|F18 |
|`KC_F19`|F19 |
|`KC_F20`|F20 |
|`KC_F21`|F21 |
|`KC_F22`|F22 |
|`KC_F23`|F23 |
|`KC_F24`|F24 |
## パンクチュエーション
|キー |エイリアス |説明 |
|-----------------|-------------------|----------------------------------------------|
|`KC_ENTER` |`KC_ENT` |Return (Enter) |
|`KC_ESCAPE` |`KC_ESC` |Escape |
|`KC_BSPACE` |`KC_BSPC` |Delete (Backspace) |
|`KC_TAB` | |Tab |
|`KC_SPACE` |`KC_SPC` |Spacebar |
|`KC_MINUS` |`KC_MINS` |`-``_` |
|`KC_EQUAL` |`KC_EQL` |`=``+` |
|`KC_LBRACKET` |`KC_LBRC` |`[``{` |
|`KC_RBRACKET` |`KC_RBRC` |`]``}` |
|`KC_BSLASH` |`KC_BSLS` |`\``\|` |
|`KC_NONUS_HASH` |`KC_NUHS` |Non-US `#``~` |
|`KC_SCOLON` |`KC_SCLN` |`;``:` |
|`KC_QUOTE` |`KC_QUOT` |`'``"` |
|`KC_GRAVE` |`KC_GRV`, `KC_ZKHK`|<code>&#96;</code>`~`, JIS 全角/半角 |
|`KC_COMMA` |`KC_COMM` |`,``<` |
|`KC_DOT` | |`.``>` |
|`KC_SLASH` |`KC_SLSH` |`/``?` |
|`KC_NONUS_BSLASH`|`KC_NUBS` |Non-US `\``\|` |
## ロックキー
|キー |エイリアス |説明 |
|-------------------|--------------------|---------------------------------------|
|`KC_CAPSLOCK` |`KC_CLCK`, `KC_CAPS`|Caps Lock |
|`KC_SCROLLLOCK` |`KC_SLCK`, `KC_BRMD`|Scroll Lock, 画面の明るさダウン (macOS)|
|`KC_NUMLOCK` |`KC_NLCK` |テンキー Num Lock と Clear |
|`KC_LOCKING_CAPS` |`KC_LCAP` |Caps Lock のロック |
|`KC_LOCKING_NUM` |`KC_LNUM` |Num Lock のロック |
|`KC_LOCKING_SCROLL`|`KC_LSCR` |Scroll Lock のロック |
## 修飾キー
|キー |エイリアス |説明 |
|-----------|--------------------|---------------------------------|
|`KC_LCTRL` |`KC_LCTL` |左 Control |
|`KC_LSHIFT`|`KC_LSFT` |左 Shift |
|`KC_LALT` |`KC_LOPT` |左 Alt (Option) |
|`KC_LGUI` |`KC_LCMD`, `KC_LWIN`|左 GUI (Windows/Command/Meta キー)|
|`KC_RCTRL` |`KC_RCTL` |右 Control |
|`KC_RSHIFT`|`KC_RSFT` |右 Shift |
|`KC_RALT` |`KC_ROPT`, `KC_ALGR`|右 Alt (Option/AltGr) |
|`KC_RGUI` |`KC_RCMD`, `KC_RWIN`|右 GUI (Windows/Command/Meta キー)|
## 国際化対応キー
|キー |エイリアス|説明 |
|----------|----------|---------------------|
|`KC_INT1` |`KC_RO` |JIS `\`` _` |
|`KC_INT2` |`KC_KANA` |JIS カタカナ/ひらがな|
|`KC_INT3` |`KC_JYEN` |JIS `¥``\ |` |
|`KC_INT4` |`KC_HENK` |JIS 変換 |
|`KC_INT5` |`KC_MHEN` |JIS 無変換 |
|`KC_INT6` | |JIS テンキー `,` |
|`KC_INT7` | |International 7 |
|`KC_INT8` | |International 8 |
|`KC_INT9` | |International 9 |
|`KC_LANG1`|`KC_HAEN` |ハングル/英語 |
|`KC_LANG2`|`KC_HANJ` |韓文漢字 |
|`KC_LANG3`| |JIS カタカナ |
|`KC_LANG4`| |JIS ひらがな |
|`KC_LANG5`| |JIS 全角/半角 |
|`KC_LANG6`| |Language 6 |
|`KC_LANG7`| |Language 7 |
|`KC_LANG8`| |Language 8 |
|`KC_LANG9`| |Language 9 |
## コマンドキー
|キー |エイリアス |説明 |
|------------------|------------------------------|-------------------------------------------------------|
|`KC_PSCREEN` |`KC_PSCR` |Print Screen |
|`KC_PAUSE` |`KC_PAUS`, `KC_BRK`, `KC_BRMU`|Pause, 画面の明るさアップ (macOS) |
|`KC_INSERT` |`KC_INS` |Insert |
|`KC_HOME` | |Home |
|`KC_PGUP` | |Page Up |
|`KC_DELETE` |`KC_DEL` |Forward Delete |
|`KC_END` | |End |
|`KC_PGDOWN` |`KC_PGDN` |Page Down |
|`KC_RIGHT` |`KC_RGHT` |右矢印 |
|`KC_LEFT` | |左矢印 |
|`KC_DOWN` | |下矢印 |
|`KC_UP` | |上矢印 |
|`KC_APPLICATION` |`KC_APP` |アプリケーションキー (Windows コンテキストメニューキー)|
|`KC_POWER` | |システム電源 |
|`KC_EXECUTE` |`KC_EXEC` |Execute |
|`KC_HELP` | |Help |
|`KC_MENU` | |Menu |
|`KC_SELECT` |`KC_SLCT` |Select |
|`KC_STOP` | |Stop |
|`KC_AGAIN` |`KC_AGIN` |Again |
|`KC_UNDO` | |アンドゥ |
|`KC_CUT` | |カット |
|`KC_COPY` | |コピー |
|`KC_PASTE` |`KC_PSTE` |ペースト |
|`KC_FIND` | |検索 |
|`KC__MUTE` | |ミュート |
|`KC__VOLUP` | |音量アップ |
|`KC__VOLDOWN` | |音量ダウン |
|`KC_ALT_ERASE` |`KC_ERAS` |Alternate Erase |
|`KC_SYSREQ` | |SysReq/Attention |
|`KC_CANCEL` | |Cancel |
|`KC_CLEAR` |`KC_CLR` |Clear |
|`KC_PRIOR` | |Prior |
|`KC_RETURN` | |Return |
|`KC_SEPARATOR` | |Separator |
|`KC_OUT` | |Out |
|`KC_OPER` | |Oper |
|`KC_CLEAR_AGAIN` | |Clear/Again |
|`KC_CRSEL` | |CrSel/Props |
|`KC_EXSEL` | |ExSel |
## メディアキー
これらのキーコードは、HID Keyboard/Keypad usage ページにはありません。`SYSTEM_` キーコードは、Generic Desktop ページで見つかります。また、その他は Consumer ページにあります。
?> これらのキーコードのいくつかは、OS によって異なる動作をする可能性があります。例として、macOS では `KC_MEDIA_FAST_FORWARD``KC_MEDIA_REWIND``KC_MEDIA_NEXT_TRACK``KC_MEDIA_PREV_TRACK` は、押している間は現在の曲の中でスキップしますが、タップした時は曲全体をスキップします。
|キー |エイリアス |説明 |
|-----------------------|-----------|----------------------|
|`KC_SYSTEM_POWER` |`KC_PWR` |システム電源オフ |
|`KC_SYSTEM_SLEEP` |`KC_SLEP` |システムスリープ |
|`KC_SYSTEM_WAKE` |`KC_WAKE` |システムスリープ解除 |
|`KC_AUDIO_MUTE` |`KC_MUTE` |ミュート |
|`KC_AUDIO_VOL_UP` |`KC_VOLU` |音量アップ |
|`KC_AUDIO_VOL_DOWN` |`KC_VOLD` |音量ダウン |
|`KC_MEDIA_NEXT_TRACK` |`KC_MNXT` |次の曲へ |
|`KC_MEDIA_PREV_TRACK` |`KC_MPRV` |前の曲へ |
|`KC_MEDIA_STOP` |`KC_MSTP` |再生停止 |
|`KC_MEDIA_PLAY_PAUSE` |`KC_MPLY` |再生/一時停止 |
|`KC_MEDIA_SELECT` |`KC_MSEL` |Media Player 起動 |
|`KC_MEDIA_EJECT` |`KC_EJCT` |イジェクト |
|`KC_MAIL` | |メール起動 |
|`KC_CALCULATOR` |`KC_CALC` |電卓起動 |
|`KC_MY_COMPUTER` |`KC_MYCM` |マイコンピュータを開く|
|`KC_WWW_SEARCH` |`KC_WSCH` |ブラウザ検索 |
|`KC_WWW_HOME` |`KC_WHOM` |ブラウザホーム画面 |
|`KC_WWW_BACK` |`KC_WBAK` |ブラウザ戻る |
|`KC_WWW_FORWARD` |`KC_WFWD` |ブラウザ進む |
|`KC_WWW_STOP` |`KC_WSTP` |ブラウザ読み込み中止 |
|`KC_WWW_REFRESH` |`KC_WREF` |ブラウザ再読み込み |
|`KC_WWW_FAVORITES` |`KC_WFAV` |ブラウザお気に入り |
|`KC_MEDIA_FAST_FORWARD`|`KC_MFFD` |次の曲へ |
|`KC_MEDIA_REWIND` |`KC_MRWD` |前の曲へ |
|`KC_BRIGHTNESS_UP` |`KC_BRIU` |画面の明るさアップ |
|`KC_BRIGHTNESS_DOWN` |`KC_BRID` |画面の明るさダウン |
## テンキー
|キー |エイリアス |説明 |
|-------------------|-----------|-------------------------------|
|`KC_KP_SLASH` |`KC_PSLS` |テンキー `/` |
|`KC_KP_ASTERISK` |`KC_PAST` |テンキー `*` |
|`KC_KP_MINUS` |`KC_PMNS` |テンキー `-` |
|`KC_KP_PLUS` |`KC_PPLS` |テンキー `+` |
|`KC_KP_ENTER` |`KC_PENT` |テンキー Enter |
|`KC_KP_1` |`KC_P1` |テンキー `1` と End |
|`KC_KP_2` |`KC_P2` |テンキー `2` と 下矢印 |
|`KC_KP_3` |`KC_P3` |テンキー `3` と Page Down |
|`KC_KP_4` |`KC_P4` |テンキー `4` と 左矢印 |
|`KC_KP_5` |`KC_P5` |テンキー `5` |
|`KC_KP_6` |`KC_P6` |テンキー `6` と 右矢印 |
|`KC_KP_7` |`KC_P7` |テンキー `7` と Home |
|`KC_KP_8` |`KC_P8` |テンキー `8` と 上矢印 |
|`KC_KP_9` |`KC_P9` |テンキー `9` と Page Up |
|`KC_KP_0` |`KC_P0` |テンキー `0` と Insert |
|`KC_KP_DOT` |`KC_PDOT` |テンキー `.` と Delete |
|`KC_KP_EQUAL` |`KC_PEQL` |テンキー `=` |
|`KC_KP_COMMA` |`KC_PCMM` |テンキー `,` |
|`KC_KP_EQUAL_AS400`| |AS/400 キーボードのテンキー `=`|
## 特別なキー
これらのキーコードに加えて、`0xA5-DF` の範囲のキーコードは、内部処理のために予約されています。
|キー |エイリアス |説明 |
|----------------|--------------------|-----------------------------------|
|`KC_NO` |`XXXXXXX` |このキーを無視します (NOOP) |
|`KC_TRANSPARENT`|`KC_TRNS`, `_______`|次に低いレイヤーの非透過キーを使う |

View File

@@ -1,8 +1,8 @@
# モッドタップ
<!---
original document: 0.9.34:docs/mod_tap.md
git diff 0.9.34 HEAD -- docs/mod_tap.md | cat
original document: 0.10.36:docs/mod_tap.md
git diff 0.10.36 HEAD -- docs/mod_tap.md | cat
-->
モッドタップキー `MT(mod, kc)` は、押したままの時にモディファイアのように機能し、タップされた時に通常のキーのように振舞います。別の言い方をすると、タップした時に Escape を送信しますが、押したままの時に Control あるいは Shift キーとして機能するキーを持つことができます。
@@ -32,23 +32,26 @@ MT(MOD_LCTL | MOD_LSFT, KC_ESC)
便利なように、QMK はキーマップで一般的な組み合わせをよりコンパクトにするためのモッドタップショートカットを含んでいます:
| キー | エイリアス | 説明 |
|--------------|-----------------------------|-------------------------------------------------------------|
| `LCTL_T(kc)` | `CTL_T(kc)` | 押したままの場合は左 Control、タップした場合は `kc` |
| `LSFT_T(kc)` | `SFT_T(kc)` | 押したままの場合は左 Shift、タップした場合は `kc` |
| `LALT_T(kc)` | `LOPT_T(kc)`, `ALT_T(kc)`, `OPT_T(kc)` | 押したままの場合は左 Alt、タップした場合は `kc` |
| `LGUI_T(kc)` | `LCMD_T(kc)`, `LWIN_T(kc)`, `GUI_T(kc)`, `CMD_T(kc)`, `WIN_T(kc)` | 押したままの場合は左 GUI、タップした場合は `kc` |
| `RCTL_T(kc)` | | 押したままの場合は右 Control、タップした場合は `kc` |
| `RSFT_T(kc)` | | 押したままの場合は右 Shift、タップした場合は `kc` |
| `RALT_T(kc)` | `ROPT_T(kc)`, `ALGR_T(kc)` | 押したままの場合は右 Alt、タップした場合は `kc` |
| `RGUI_T(kc)` | `RCMD_T(kc)`, `RWIN_T(kc)` | 押したままの場合は右 GUI、タップした場合は `kc` |
| `SGUI_T(kc)` | `SCMD_T(kc)`, `SWIN_T(kc)` | 押したままの場合は左 Shift と左 GUI、タップした場合は `kc` |
| `LCA_T(kc)` | | 押したままの場合は左 Control と左 Alt、タップした場合は `kc` |
| `LCAG_T(kc)` | | 押したままの場合は左 Control、左 Alt と左 GUI、タップした場合は `kc` |
| `RCAG_T(kc)` | | 押したままの場合は右 Control、右 Alt と右 GUI、タップした場合は `kc` |
| `C_S_T(kc)` | | 押したままの場合は Control と Shift、タップした場合は `kc` |
| `MEH_T(kc)` | | 押したままの場合は左 Control、左 Shift と左 Alt、タップした場合は `kc` |
| `HYPR_T(kc)` | `ALL_T(kc)` | 押したままの場合は Control、左 Shift、左 Alt と GUI、タップした場合は `kc` - より詳しくは[ここ](https://brettterpstra.com/2012/12/08/a-useful-caps-lock-key/)を見てください |
| キー | エイリアス | 説明 |
| ------------ | ----------------------------------------------------------------- | ---------------------------------------------------------------------- |
| `LCTL_T(kc)` | `CTL_T(kc)` | 押したままの場合は左 Control、タップした場合は `kc` |
| `LSFT_T(kc)` | `SFT_T(kc)` | 押したままの場合は左 Shift、タップした場合は `kc` |
| `LALT_T(kc)` | `LOPT_T(kc)`, `ALT_T(kc)`, `OPT_T(kc)` | 押したままの場合は左 Alt、タップした場合は `kc` |
| `LGUI_T(kc)` | `LCMD_T(kc)`, `LWIN_T(kc)`, `GUI_T(kc)`, `CMD_T(kc)`, `WIN_T(kc)` | 押したままの場合は左 GUI、タップした場合は `kc` |
| `RCTL_T(kc)` | | 押したままの場合は右 Control、タップした場合は `kc` |
| `RSFT_T(kc)` | | 押したままの場合は右 Shift、タップした場合は `kc` |
| `RALT_T(kc)` | `ROPT_T(kc)`, `ALGR_T(kc)` | 押したままの場合は右 Alt、タップした場合は `kc` |
| `RGUI_T(kc)` | `RCMD_T(kc)`, `RWIN_T(kc)` | 押したままの場合は右 GUI、タップした場合は `kc` |
| `SGUI_T(kc)` | `SCMD_T(kc)`, `SWIN_T(kc)` | 押したままの場合は左 Shift と左 GUI、タップした場合は `kc` |
| `LCA_T(kc)` | | 押したままの場合は左 Control と左 Alt、タップした場合は `kc` |
| `LSA_T(kc)` | | 押したままの場合は左 Shift と Alt、タップした場合は `kc` |
| `RSA_T(kc)` | `SAGR_T(kc)` | 押したままの場合は右 Shift と Alt (AltGr)、タップした場合は `kc` |
| `RCS_T(kc)` | | 押したままの場合は Control と Shift、タップした場合は `kc` |
| `LCAG_T(kc)` | | 押したままの場合は左 Control、左 Alt と左 GUI、タップした場合は `kc` |
| `RCAG_T(kc)` | | 押したままの場合は Control、 Alt と GUI、タップした場合は `kc` |
| `C_S_T(kc)` | | 押したままの場合は左 Control と左 Shift、タップした場合は `kc` |
| `MEH_T(kc)` | | 押したままの場合は左 Control、左 Shift と左 Alt、タップした場合は `kc` |
| `HYPR_T(kc)` | `ALL_T(kc)` | 押したままの場合は左 Control、左 Shift、左 Alt と左 GUI、タップした場合は `kc` - より詳しくは[ここ](https://brettterpstra.com/2012/12/08/a-useful-caps-lock-key/)を見てください |
## 注意事項
@@ -57,3 +60,7 @@ MT(MOD_LCTL | MOD_LSFT, KC_ESC)
さらに、Windows でリモートデスクトップ接続を使う場合に、問題が発生する場合があります。これらのコードはシフトを非常に高速に送信するため、リモートデスクトップはコードを見逃すかもしれません。
これを修正するには、リモートデスクトップ接続を開き、「オプションの表示」を開き、「ローカル リソース」タブを開きます。キーボードセクションで、ドロップダウンを「このコンピューター」に変更します。これにより問題が修正され、キャラクタが正しく動作するようになります。
## 他のリソース
モッドタップの動作を調整する追加フラグについては、[タップホールド設定オプション](ja/tap_hold.md)を参照してください。

View File

@@ -1,9 +1,9 @@
# QMK 初心者ガイド
# QMK チュートリアル
<!---
grep --no-filename "^[ ]*git diff" docs/ja/*.md | sh
original document: 0.9.0:docs/newbs.md
git diff 0.9.0 HEAD -- docs/newbs.md | cat
original document: 0.12.45:docs/newbs.md
git diff 0.12.45 HEAD -- docs/newbs.md | cat
-->
キーボードには、コンピュータ入っているものと似たようなプロセッサが入っています。
@@ -19,20 +19,16 @@ QMK は、簡単なことは簡単に、そして、難しいことを可能な
QMK は[多くの趣味のキーボード](https://qmk.fm/keyboards/)をサポートしています。
現在使用しているキーボードが QMK を実行できない場合、QMK を実行できるキーボードの選択肢はたくさんあります。
## このガイドは私のためにあるのでしょうか?
このガイドは、ソースコードを使ってキーボードのファームウェアを構築したいと考えている人に適しています。
もしあなたがすでにプログラマーであれば、このプロセスはとても身近で簡単に理解できるでしょう。
もし、プログラミングの考え方に抵抗があるのであれば、代わりに[私たちのオンラインGUI](ja/newbs_building_firmware_configurator.md)を見てみてください。
?> **このガイドは私のためにあるのでしょうか?**<br>
もし、プログラミングの考え方に抵抗があるのであれば、代わりに[私たちのオンライン GUI](ja/newbs_building_firmware_configurator.md) を見てみてください。
## 概要
このガイドには4つの主要なセクションがあります
このガイドは、ソースコードを使ってキーボードのファームウェアを構築したいと考えている人に適しています。 もしあなたがすでにプログラマーであれば、このプロセスはとても身近で簡単に理解できるでしょう。このガイドには3つの主要なセクションがあります:
1. [環境設定](ja/newbs_getting_started.md)
2. [コマンドラインを使用して初めてのファームウェアを構築する](ja/newbs_building_firmware.md)
3. [ファームウェアを書きこむ](ja/newbs_flashing.md)
4. [テストとデバッグ](ja/newbs_testing_debugging.md)
このガイドは、これまでソフトウェアをコンパイルしたことがない人を支援することに特化しています。
その観点から選択と推奨を行います。
@@ -41,8 +37,4 @@ QMK は[多くの趣味のキーボード](https://qmk.fm/keyboards/)をサポ
## 追加のリソース
このガイドの他にも、QMK の学習に役立つリソースがいくつかあります。[学習リソース](ja/newbs_learn_more_resources.md)のページにまとめました。
## オープンソース
QMKは GNU General Public License でリリースされているオープンソース・ソフトウェアです。
このガイドの他にも、QMK の学習に役立つリソースがいくつかあります。[シラバス](ja/syllabus.md)と[学習リソース](ja/newbs_learn_more_resources.md)のページにまとめました。

View File

@@ -2,13 +2,13 @@
<!---
grep --no-filename "^[ ]*git diff" docs/ja/*.md | sh
original document: 0.9.0:docs/newbs_building_firmware_configurator.md
git diff 0.9.0 HEAD -- docs/newbs_building_firmware_configurator.md | cat
original document: 0.12.45:docs/newbs_building_firmware_configurator.md
git diff 0.12.45 HEAD -- docs/newbs_building_firmware_configurator.md | cat
-->
[![QMK Configurator Screenshot](https://i.imgur.com/anw9cOL.png)](https://config.qmk.fm/)
[QMK Configurator](https://config.qmk.fm) は、QMKファームウェアの hex ファイルを生成するオンライングラフィカルユーザーインターフェイスです。
[QMK Configurator](https://config.qmk.fm) は、QMKファームウェアの `.hex``.bin` ファイルを生成するオンライングラフィカルユーザーインターフェイスです。
[ビデオチュートリアル](https://www.youtube.com/watch?v=-imgglzDMdY) を見てください。
多くの人は、それが自分のキーボードのプログラミングを始めるのに十分な情報であることに気づくでしょう。

View File

@@ -1,12 +1,12 @@
# ファームウェアを書き
# ファームウェアを書き
<!---
grep --no-filename "^[ ]*git diff" docs/ja/*.md | sh
original document: 0.9.44:docs/newbs_flashing.md
git diff 0.9.44 HEAD -- docs/newbs_flashing.md | cat
original document: 0.12.45:docs/newbs_flashing.md
git diff 0.12.45 HEAD -- docs/newbs_flashing.md | cat
-->
カスタムファームウェアは出来たので、キーボード書き込みたくなるでしょう/フラッシュしたくなるでしょう
カスタムファームウェアは出来たので、いよいよキーボードへの書き込み(フラッシュ)です
## キーボードを DFU (Bootloader) モードにする
@@ -50,18 +50,22 @@ Finder またはエクスプローラーでファームウェアのファイル
Windows か macOS を使用している場合、現在のフォルダをエクスプローラーか Finder で簡単に開くためのコマンドがあります。
#### Windows
<!-- tabs:start -->
#### ** Windows **
```
start .
```
#### macOS
#### ** macOS **
```
open .
```
<!-- tabs:end -->
ファームウェアファイルは常に以下の命名形式に従っています:
```
@@ -117,11 +121,13 @@ QMK Toolbox の `Flash` ボタンをクリックします。次のような出
WARNING: This board's bootloader is not specified or is not supported by the ":flash" target at this time.
この場合、あなたは明示的にブートローダを指定する方法を使わなければなりません。詳細は、[ファームウェアのフラッシュ](ja/flashing.md) ガイドを参照してください。
この場合、あなたは明示的にブートローダを指定する方法を使わなければなりません。詳細は、[ファームウェアのフラッシュ](ja/flashing.md)ガイドを参照してください。
## テストしましょう!
おめでとうございます! カスタムファームウェアがキーボードにプログラムされました!
おめでとうございます!カスタムファームウェアがキーボードにプログラムされ、テストする準備ができました!
使ってみて、すべてがあなたの望むように動作するかどうか確認してください
この初心者ガイドを完全なものにするために [テストとデバッグ](ja/newbs_testing_debugging.md) を書いたので、ファームウェアの検証とカスタム機能のトラブルシューティング方法について学ぶには、こちらをご覧ください
少し運が良ければ全てが完璧に機能しますが、そうでない場合は何が問題なのかを理解するのに役立つ手順があります
通常、キーボードのテストは非常に簡単です。全てのキーをひとつずつ押して、期待するキーが送信されることを確認します。例え QMK で動作していない場合でも、[QMK Configurator](https://config.qmk.fm/#/test/) のテストモードを使用すると、キーボードをチェックできます
まだ動作しませんか?詳細については FAQ トピックを参照するか、[Discord でチャット](https://discord.gg/Uq7gcHh)してください。

View File

@@ -2,125 +2,180 @@
<!---
grep --no-filename "^[ ]*git diff" docs/ja/*.md | sh
original document: 0.9.44:docs/newbs_getting_started.md
git diff 0.9.44 HEAD -- docs/newbs_getting_started.md | cat
original document: 0.13.20:docs/newbs_getting_started.md
git diff 0.13.20 HEAD -- docs/newbs_getting_started.md | cat
-->
キーマップをビルドする前に、いくつかのソフトウェアをインストールしてビルド環境を構築する必要があります。
ファームウェアをコンパイルするキーボードの数に関わらず、この作業を一度だけ実行する必要があります。
## 1. ソフトウェアのダウンロード
## 1. 前提条件
始めるために必要なソフトウェアがいくつかあります。
### テキストエディタ
* [テキストエディタ](ja/newbs_learn_more_resources.md#text-editor-resources)
* プレーンテキストファイルを編集して保存できるプログラムが必要です。多くの OS に付属するデフォルトのエディタはプレーンテキストファイルを保存しないため、選択したエディタがプレーンテキストファイルを保存することを確認する必要があります。
* [Toolbox (オプション)](https://github.com/qmk/qmk_toolbox)
* Windows と macOS で使える GUI を備えたプログラムで、カスタムキーボードのプログラミングとデバッグの両方ができます。
**プレーンテキスト** ファイルを編集して保存できるプログラムが必要です。
Windows の場合、メモ帳が使えます。Linux の場合、gedit が使えます。どちらもシンプルですが機能的なテキストエディタです。
macOS では、デフォルトのテキストエディットアプリに注意してください。_フォーマット_ メニューから _標準テキストにする_ を選択しない限り、プレーンテキストとして保存されません。
[Sublime Text](https://www.sublimetext.com/) や [VS Code](https://code.visualstudio.com/) のような専用のテキストエディタをダウンロードしてインストールすることもできます。これらのプログラムはコードを編集するために特別に作成されているため、これはプラットフォームに関係なくベストな方法です。
?> どのエディタを使えば良いか分からない場合、Laurence Bradford が書いたこの記事 [a great introduction](https://learntocodewith.me/programming/basics/text-editors/) を読んでください。
### QMK Toolbox
QMK Toolbox は、Windows と macOS で使える GUI を備えたプログラムで、カスタムキーボードのプログラミングとデバッグの両方ができます。
このプログラムは、キーボードに簡単にファームウェアを書き込んだり、出力されるデバッグメッセージを確認する際に、かけがえのないものであることがわかるでしょう。
[QMK Toolbox の最新版](https://github.com/qmk/qmk_toolbox/releases/latest)
* Windows 版: `qmk_toolbox.exe` (portable) または `qmk_toolbox_install.exe` (installer)
* macOS 版: `QMK.Toolbox.app.zip` (portable) または `QMK.Toolbox.pkg` (installer)
### Unix ライクな環境
Linux や macOS には既に実行可能な unix シェルが付属しています。ビルド環境を構築するだけで済みます。
Windows では、MSYS2 や WSL をインストールして、これらの環境を使う必要があります。MSYS2 の構築手順を以下に示します。
?> もし、Linux か Unix のコマンドを使ったことがない場合、こちらで基本的な概念や各種コマンドを学んでください。[これらの教材](ja/newbs_learn_more_resources.md#command-line-resources)で QMK を使うのに必要なことを学ぶことができます。
## 2. ビルド環境を準備する :id=set-up-your-environment
私たちは、QMK を可能な限り簡単に構築できるように努力しています。
Linux か Unix 環境を用意するだけで、QMK に残りをインストールさせることができます。
私たちは、QMK を可能な限り簡単に構築できるように努力しています。Linux か Unix 環境を用意するだけで、QMK に残りをインストールさせることができます。
?> もし、Linux か Unix のコマンドを使ったことがない場合、こちらで基本的な概念や各種コマンドを学んでください。これらの教材で QMK を使うのに必要なことを学ぶことができます:<br>
[Must Know Linux Commands](https://www.guru99.com/must-know-linux-commands.html)<br>
[Some Basic Unix Commands](https://www.tjhsst.edu/~dhyatt/superap/unixcmd.html)
<!-- tabs:start -->
### Windows
### ** Windows **
MSYS2 と Git と QMK CLI のインストールが必要です。
QMK は、MSYS2、CLI、および必要な全ての依存関係のバンドルを保守しています。また、正しい環境で直接起動するための便利な `QMK MSYS` ターミナルショートカットも提供しています。
[MSYS2 homepage](https://www.msys2.org) のインストール手順に従ってください。開いている MSYS2 の全ターミナル画面を閉じて、新しい MinGW 64-bit ターミナル画面を開きます。**注意: これはインストールが完了した時に開く MSYS ターミナルと同じ *ではありません*。**
#### 前提条件
[QMK MSYS](https://msys.qmk.fm/) をインストールする必要があります。最新リリースは[ここ](https://github.com/qmk/qmk_distro_msys/releases/latest)から入手できます。
または、MSYS2 を手動でインストールしたい場合、次のセクションでプロセスを説明します。
<details>
<summary>手動インストール</summary>
?> `QMK MSYS` を使う場合、次のステップは無視してください。
#### 前提条件
MSYS2 と Git と Python をインストールする必要があります。https://www.msys2.org のインストール手順に従ってください。
MSYS2 をインストールしたら、開いている MSYS の全ターミナル画面を閉じて、新しい MinGW 64-bit ターミナル画面を開きます。
!> **注意:** MinGW 64-bit ターミナルは、インストールが完了した時に開く MSYS ターミナルと*同じではありません*。プロンプトには、「MSYS」ではなく、紫色のテキストで「MINGW64」と表示されます。違いについての詳細は[このページ](https://www.msys2.org/wiki/MSYS2-introduction/#subsystems)を参照してください。
それから、次のように実行します:
pacman --needed --noconfirm --disable-download-timeout -S git mingw-w64-x86_64-toolchain mingw-w64-x86_64-python3-pip
#### インストール
次のコマンドを実行して、QMK CLI をインストールします:
python3 -m pip install qmk
### macOS
</details>
Homebrew のインストールが必要です。[Homebrew homepage](https://brew.sh) の手順に従ってください。
### ** macOS **
Homebrew をインストールした後で、以下のコマンドを実行します:
QMK は CLI と全ての必要な依存関係を自動的にインストールする Homebrew tap と formula を保守しています
#### 前提条件
Homebrew のインストールが必要です。https://brew.sh の手順に従ってください。
#### インストール
次のコマンドを実行して、QMK CLI をインストールします:
brew install qmk/qmk/qmk
### Linux
### ** Linux/WSL **
?> **WSL ユーザーへの注意**: デフォルトでは、インストールプロセスは QMK リポジトリを WSL ホームディレクトリに clone しますが、手動で clone した場合、Windows ファイルシステムではなく、WSL インスタンス内にある(つまり `/mnt` 内にない)ことを確認してください。これは、現在アクセスが[非常に遅い](https://github.com/microsoft/WSL/issues/4197)ためです。
#### 前提条件
Git と Python をインストールする必要があります。両方とも既にインストールされている可能性は高いですが、そうでない場合、次のコマンドのいずれかでそれらをインストールできます:
* Debian / Ubuntu / Devuan: `sudo apt install git python3 python3-pip`
* Fedora / Red Hat / CentOS: `sudo yum install git python3 python3-pip`
* Arch / Manjaro: `sudo pacman -S git python python-pip python-setuptools libffi`
* Debian / Ubuntu / Devuan: `sudo apt install -y git python3-pip`
* Fedora / Red Hat / CentOS: `sudo yum -y install git python3-pip`
* Arch / Manjaro: `sudo pacman --needed --noconfirm -S git python-pip libffi`
* Void: `sudo xbps-install -y git python3-pip`
* Solus: `sudo eopkg -y install git python3`
* Sabayon: `sudo equo install dev-vcs/git dev-python/pip`
* Gentoo: `sudo emerge dev-vcs/git dev-python/pip`
グローバル CLI をインストールして、システムをブートストラップします:
#### インストール
`python3 -m pip install --user qmk` (Arch ベースのディストリビューションでは AUR から `qmk` パッケージを試すこともできます(**メモ**: コミュニティメンバーによって保守されています): `yay -S qmk`)
### FreeBSD
Git と Python をインストールする必要があります。両方とも既にインストールされている可能性は高いですが、そうでない場合、次のコマンドを実行してそれらをインストールします:
pkg install git python3
ローカルにインストールした Python パッケージが利用できるように、`$HOME/.local/bin``$PATH` に追加されていることを確認してください。
インストール完了後、QMK CLI をインストールできます:
次のコマンドを実行して、QMK CLI をインストールします:
python3 -m pip install --user qmk
#### コミュニティパッケージ
これらのパッケージはコミュニティメンバーによって保守されているため、最新ではないか、完全には機能しない可能性があります。問題が発生した場合は、それぞれのメンテナに報告してください。
Arch ベースのディストリビューションでは、公式リポジトリから CLI をインストールできます(注意: 執筆時点では、このパッケージは一部の依存関係をオプションとしてマークしていますが、そうではありません):
sudo pacman -S qmk
AUR から `qmk-git` パッケージを試すこともできます:
yay -S qmk-git
### ** FreeBSD **
#### インストール
次のコマンドを実行して、QMK CLI の FreeBSD パッケージをインストールします:
pkg install -g "py*-qmk"
注意: インストールの最後に表示された指示に従うことを忘れないでください(再度表示するには、`pkg info -Dg "py*-qmk"` を使ってください)。
<!-- tabs:end -->
## 3. QMK の設定を行う :id=set-up-qmk
<!-- tabs:start -->
### ** Windows **
QMK のインストール後に、このコマンドで設定できます:
qmk setup
ほとんどの場合、全てのプロンプトに Yes と答えます。
ほとんどの場合、全てのプロンプトに `y` と答えます。
### ** macOS **
QMK のインストール後に、このコマンドで設定できます:
qmk setup
ほとんどの場合、全てのプロンプトに `y` と答えます。
### ** Linux/WSL **
QMK のインストール後に、このコマンドで設定できます:
qmk setup
ほとんどの場合、全てのプロンプトに `y` と答えます。
?>**Debian、Ubuntu、それらの派生に関する注意**:
次のようなエラーが表示される可能性があります: `bash: qmk: command not found`.
これは Debian の Bash 4.4 リリースで導入された [バグ](https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=839155) で、`$HOME/.local/bin` が PATH から削除されました。このバグは後に Debian や Ubuntu で修正されました。
これは Debian の Bash 4.4 リリースで導入された[バグ](https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=839155)で、`$HOME/.local/bin` が PATH から削除されました。このバグは後に Debian や Ubuntu で修正されました。
残念なことに、Ubuntu はこのバグを再導入し、[まだ修正していません](https://bugs.launchpad.net/ubuntu/+source/bash/+bug/1588562)。
幸い、修正は簡単です。これをあなたのユーザで実行します: `echo 'PATH="$HOME/.local/bin:$PATH"' >> $HOME/.bashrc && source $HOME/.bashrc`
?>**FreeBSD に関する注意**:
まず、`root` 以外のユーザで `qmk setup` を実行することをお勧めしますが、これはおそらく `pkg` を使って基本システムにインストールする必要があるパッケージを識別します。
しかし、特権のないユーザで実行すると、インストールはおそらく失敗します。
基本的な依存関係を手動でインストールするには、`./util/qmk_install.sh``root` として実行するか、`sudo` をつけて実行します。
それが完了したら、`qmk setup` を再実行して設定と確認を完了させます。
### ** FreeBSD **
?> 既に [GitHub の使いかた](ja/getting_started_github.md)を知っているなら、fork を作成し、`qmk setup <github_username>/qmk_firmware` を使って個人用の fork から clone することをお勧めします。この一文の意味が分からない場合、このメッセージは無視してかまいません。
QMK のインストール後に、このコマンドで設定できます:
qmk setup
ほとんどの場合、全てのプロンプトに `y` と答えます。
<!-- tabs:end -->
?> qmk ホームフォルダは、セットアップ時に `qmk setup -H <path>` を使って指定し、[cli 構成](ja/cli_configuration.md?id=single-key-example)と変数 `user.qmk_home` を使って変更できます。利用可能な全てのオプションについては、`qmk setup --help` を実行します。
?> 既に GitHub の使い方を知っている場合、[これらの手順に従うことをお勧めします](ja/getting_started_github.md)。そして `qmk setup <github_username>/qmk_firmware` を使って個人用の fork から clone します。この一文の意味が分からない場合、このメッセージは無視してかまいません。
## 4. ビルド環境の確認
これで QMK のビルド環境が用意できたので、キーボードのファームウェアをビルドできます。
キーボードのデフォルトキーマップをビルドすることから始めます。次の形式のコマンドでビルドできるはずです。
これで QMK のビルド環境が用意できたので、キーボードのファームウェアをビルドできます。キーボードのデフォルトキーマップをビルドすることから始めます。次の形式のコマンドでビルドできるはずです:
qmk compile -kb <keyboard> -km default
例えば、Clueboard 66% のファームウェアをビルドする場合:
例えば、Clueboard 66% のファームウェアをビルドする場合、次のようにします:
qmk compile -kb clueboard/66/rev3 -km default
@@ -152,5 +207,4 @@ QMK を初めて使うほとんどの人は、キーボードを1つしか持っ
# キーマップの作成
これであなた専用のキーマップを作成する準備ができました!
次は [初めてのファームウェアの構築](ja/newbs_building_firmware.md) で専用のキーマップを作成します。
これであなた専用のキーマップを作成する準備ができました!次は[初めてのファームウェアの構築](ja/newbs_building_firmware.md)で専用のキーマップを作成します。

View File

@@ -2,13 +2,13 @@
<!---
grep --no-filename "^[ ]*git diff" docs/ja/*.md | sh
original document: 0.9.0:docs/newbs_learn_more_resources.md
git diff 0.9.0 HEAD -- docs/newbs_learn_more_resources.md | cat
original document: 0.12.45:docs/newbs_learn_more_resources.md
git diff 0.12.45 HEAD -- docs/newbs_learn_more_resources.md | cat
-->
これらのリソースは、QMK コミュニティの新しいメンバーに、初心者向けドキュメントで提供されている情報に対する理解を深めることを目的としています。
## QMK に関するリソース:
## QMK に関するリソース
### 英語 :id=english-resources-qmk
@@ -18,17 +18,35 @@
_日本語のリソース情報を募集中です。_
## コマンドラインに関するリソース:
## コマンドラインに関するリソース :id=command-line-resources
### 英語 :id=english-resources-cli
* [Good General Tutorial on Command Line](https://www.codecademy.com/learn/learn-the-command-line)
* [Must Know Linux Commands](https://www.guru99.com/must-know-linux-commands.html)<br>
* [Some Basic Unix Commands](https://www.tjhsst.edu/~dhyatt/superap/unixcmd.html)
### 日本語 :id=japanese-resources-cli
_日本語のリソース情報を募集中です。_
## Git に関するリソース:
## テキストエディタに関するリソース :id=text-editor-resources
どのテキストエディタを使えば良いか分かりませんか?
### 英語 :id=english-resources-text-editor
* [a great introduction to the subject](https://learntocodewith.me/programming/basics/text-editors/)
### 日本語 :id=japanese-resources-text-editor
_日本語のリソース情報を募集中です。_
コーディング用に特別に作成されたエディタ:
* [Sublime Text](https://www.sublimetext.com/)
* [VS Code](https://code.visualstudio.com/)
## Git に関するリソース
### 英語 :id=english-resources-git

View File

@@ -2,105 +2,14 @@
<!---
grep --no-filename "^[ ]*git diff" docs/ja/*.md | sh
original document: 0.9.0:docs/newbs_testing_debugging.md
git diff 0.9.0 HEAD -- docs/newbs_testing_debugging.md | cat
original document: 0.12.45:docs/newbs_testing_debugging.md
git diff 0.12.45 HEAD -- docs/newbs_testing_debugging.md | cat
-->
カスタムファームウェアをキーボードへ書き込んだら、テストする準備が整います。運が良ければ全て問題なく動作しているはずですが、もしそうでなければこのドキュメントがどこが悪いのか調べるのに役立ちます。
## テスト
通常、キーボードをテストするのは非常に簡単です。
全てのキーをひとつずつ押して、期待されるキーが送信されていることを確認します。
QMK を実行していなくても、[QMK Configurator](https://config.qmk.fm/#/test/) のテストモードを使ってキーボードを確認することができます。
[ここに移動しました](ja/faq_misc.md#testing)
## デバッグ :id=debugging
`rules.mk``CONSOLE_ENABLE = yes`の設定をするとキーボードはデバッグ情報を出力します。デフォルトの出力は非常に限られたものですが、デバッグモードをオンにすることでデバッグ情報の量を増やすことが出来ます。キーマップの`DEBUG`キーコードを使用するか、デバッグモードを有効にする [コマンド](ja/feature_command.md) 機能を使用するか、以下のコードをキーマップに追加します。
```c
void keyboard_post_init_user(void) {
// Customise these values to desired behaviour
debug_enable=true;
debug_matrix=true;
//debug_keyboard=true;
//debug_mouse=true;
}
```
## デバッグツール :id=debugging-tools
キーボードのデバッグに使えるツールは2つあります。
### QMK Toolboxを使ったデバッグ
互換性のある環境では、[QMK Toolbox](https://github.com/qmk/qmk_toolbox)を使うことでキーボードからのデバッグメッセージを表示できます。
### hid_listenを使ったデバッグ
ターミナルベースの方法がお好みですかPJRC が提供する[hid_listen](https://www.pjrc.com/teensy/hid_listen.html)もデバッグメッセージの表示に使用できます。ビルド済みの実行ファイルは Windows, Linux, MacOS 用が用意されています。
## 独自のデバッグメッセージを送信する
[custom code](ja/custom_quantum_functions.md)内からデバッグメッセージを出力すると便利な場合があります。それはとても簡単です。ファイルの先頭に`print.h`のインクルードを追加します:
```c
#include "print.h"
```
そのあとは、いくつかの異なった print 関数を使用することが出来ます。
* `print("string")`: シンプルな文字列を出力します
* `uprintf("%s string", var)`: フォーマットされた文字列を出力します
* `dprint("string")` デバッグモードが有効な場合のみ、シンプルな文字列を出力します
* `dprintf("%s string", var)`: デバッグモードが有効な場合のみ、フォーマットされた文字列を出力します
## デバッグの例
以下は現実世界での実際のデバッグ手法の例を集めたものです。追加情報は[Debugging/Troubleshooting QMK](ja/faq_debug.md)を参照してください。
### マトリックス上のどの場所でキー押下が起こったか?
移植する、PCBの問題を診断する場合、キー入力が正しくスキャンされているかどうかを確認することが役立つ場合があります。この手法でのロギングを有効化するには、`keymap.c`へ以下のコードを追加します。
```c
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
// コンソールが有効化されている場合、マトリックス上の位置とキー押下状態を出力します
#ifdef CONSOLE_ENABLE
uprintf("KL: kc: %u, col: %u, row: %u, pressed: %u\n", keycode, record->event.key.col, record->event.key.row, record->event.pressed);
#endif
return true;
}
```
出力の例
```text
Waiting for device:.......
Listening:
KL: kc: 169, col: 0, row: 0, pressed: 1
KL: kc: 169, col: 0, row: 0, pressed: 0
KL: kc: 174, col: 1, row: 0, pressed: 1
KL: kc: 174, col: 1, row: 0, pressed: 0
KL: kc: 172, col: 2, row: 0, pressed: 1
KL: kc: 172, col: 2, row: 0, pressed: 0
```
### キースキャンにかかる時間の測定
パフォーマンスの問題をテストする場合、スイッチマトリックスをスキャンする頻度を知ることが役立ちます。この手法でのロギングを有効化するには`config.h`へ以下のコードを追加します。
```c
#define DEBUG_MATRIX_SCAN_RATE
```
出力例
```text
> matrix scan frequency: 315
> matrix scan frequency: 313
> matrix scan frequency: 316
> matrix scan frequency: 316
> matrix scan frequency: 316
> matrix scan frequency: 316
```
[ここに移動しました](ja/faq_debug.md#debugging)

View File

@@ -1,8 +1,8 @@
# ワンショットキー
<!---
original document: 0.9.34:docs/one_shot_keys.md
git diff 0.9.34 HEAD -- docs/one_shot_keys.md | cat
original document: 0.12.41:docs/one_shot_keys.md
git diff 0.12.41 HEAD -- docs/one_shot_keys.md | cat
-->
ワンショットキーは次のキーが押されるまでアクティブのままになり、そのあと放されるキーです。これにより一度に1つ以上のキーを押すことなく、キーボードの組み合わせを入力することができます。これらのキーは通常「スティッキーキー」あるいは「デッドキー」と呼ばれます。
@@ -27,7 +27,7 @@
ワンショットレイヤーについては、キーを押した時に `set_oneshot_layer(LAYER, ONESHOT_START)` を呼び出し、キーを放した時に `clear_oneshot_layer_state(ONESHOT_OTHER_KEY_PRESSED)` を呼び出す必要があります。ワンショットをキャンセルする場合は、`reset_oneshot_layer()` を呼び出してください。
ワンショットモッドについては、設定するためには `set_oneshot_mods(MOD)` を呼び出し、キャンセルするためには `clear_oneshot_mods()` を呼び出す必要があります。
ワンショットモッドについては、設定するためには `set_oneshot_mods(MOD_BIT(KC_*))` を呼び出し、キャンセルするためには `clear_oneshot_mods()` を呼び出す必要があります。
!> リモートデスクトップ接続で OSM 変換に問題がある場合は、設定を開いて「ローカル リソース」タブに移動し、キーボードセクションでドロップダウンを「このコンピューター」に変更することで修正することができます。これにより問題が修正され、OSM がリモートデスクトップ上で適切に動作するようになります。

View File

@@ -1,8 +1,8 @@
# QMK 開発のための Eclipse セットアップ
<!---
original document: 0.9.34:docs/other_eclipse.md
git diff 0.9.34 HEAD -- docs/other_eclipse.md | cat
original document: 0.12.41:docs/other_eclipse.md
git diff 0.12.41 HEAD -- docs/other_eclipse.md | cat
-->
[Eclipse][1]は Java 開発のために広く使われているオープンソースの [統合開発環境](https://en.wikipedia.org/wiki/Integrated_development_environment) (IDE) ですが、他の言語および用途のためにカスタマイズできる拡張可能なプラグインシステムがあります。
@@ -55,7 +55,7 @@ Workspace 選択で入力を促された場合は、Eclipse メタデータと
### [ANSI Escape in Console](https://marketplace.eclipse.org/content/ansi-escape-console)
このプラグインは QMK makefile によって生成された色付きビルド出力を適切に表示するために必要です。
1. <kbd><kbd>Help</kbd> > <kbd>Eclipse Marketplace…</kbd></kbd> を開きます
1. <kbd>Help</kbd> > <kbd>Eclipse Marketplace…</kbd> を開きます
2. _ANSI Escape in Console_ を検索します
3. プラグインの <samp>Install</samp> ボタンをクリックします
4. 指示に従い、未署名コンテンツのセキュリティ警告に再度同意します。
@@ -64,7 +64,7 @@ Workspace 選択で入力を促された場合は、Eclipse メタデータと
# QMK 用の Eclipse の設定
## プロジェクトのインポート
1. <kbd><kbd>File</kbd> > <kbd>New</kbd> > <kbd>Makefile Project with Existing Code</kbd></kbd> をクリックします
1. <kbd>File</kbd> > <kbd>New</kbd> > <kbd>Makefile Project with Existing Code</kbd> をクリックします
2. 次の画面で:
* _Existing Code Location_ としてリポジトリをクローンしたディレクトリを選択します。
* (オプション) プロジェクトに別の名前を付けます¹ 例えば _QMK_ あるいは _Quantum_;
@@ -78,16 +78,12 @@ Workspace 選択で入力を促された場合は、Eclipse メタデータと
¹ カスタム名でプロジェクトをインポートすると問題が発生するかもしれません。正しく動作しない場合は、デフォルトのプロジェクト名 (つまり、ディレクトリの名前、おそらく `qmk_firmware`) のままにしてみてください。
## キーボードのビルド
ここで、プロジェクトをクリーンし、選択したキーマップをビルドする make target を設定します。
1. 画面の右側で、<kbd>Make Target</kbd> タブを選択します
2. フォルダツリーを選択したキーボードまで展開します。例えば、`qmk_firmware/keyboards/ergodox`
3. キーボードフォルダを右クリックして、<kbd>New…</kbd> を選択します (あるいはフォルダを選択し、ツリーの上にある <kbd>New Make Target</kbd> アイコンをクリックします)
4. ビルド target の名前を選択します。例えば、_clean \<your keymap\>_
5. Make Target: これはコマンドラインからビルドする時に `make` に渡す引数です。target 名がこれらの引数と一致しない場合は、<kbd>Same as target name</kbd> のチェックを外し、正しい引数を入力します。例えば、`clean <your keymap>`
6. 他のオプションはチェックしたままにして、<kbd>OK</kbd> をクリックします。これで、選択されたキーボードの下に、make target が表示されます。
7. (オプション) target ツリーの上にある <kbd>Hide Empty Folders</kbd> アイコンボタンを、ビルド target だけが表示されるように切り替えます。
8. 作成したビルド target をダブルクリックし、ビルドを起動します。
9. 下部の <kbd>Console</kbd> ビューを選択し、実行中のビルドを眺めます。
プロジェクトのデフォルトの make 対象を `all` から私たちが取り組んでいる特定のキーボードとキーマップの組み合わせ、例えば `kinesis/kint36:stapelberg` に変更します。このようにすると、プロジェクトのクリーニングやビルドのようなプロジェクト全体のアクションは迅速に完了し、長い時間がかかったり Eclipse が完全にロックしたりすることがなくなります。
1. プロジェクト内の editor タブへフォーカスします
2. `Project` > `Properties` ウィンドウを開き、`C/C++ Build` リストエントリを選択して、`Behavior` タブに切り替えます。
3. 有効な全てのビルドのデフォルトの `Make build target` テキストフィールドを、`all` から例えば `kinesis/kint41:stapelberg` に変更します。
4. `Project` > `Clean...` を選択して、セットアップが動作することを確認します。
[1]: https://en.wikipedia.org/wiki/Eclipse_(software)

View File

@@ -1,8 +1,8 @@
# QMK 開発用の Visual Studio Code のセットアップ
<!---
original document: 0.10.33:docs/other_vscode.md
git diff 0.10.33 HEAD -- docs/other_vscode.md | cat
original document: 0.13.17:docs/other_vscode.md
git diff 0.13.17 HEAD -- docs/other_vscode.md | cat
-->
[Visual Studio Code](https://code.visualstudio.com/) (VS Code) は多くの異なるプログラミング言語をサポートするオープンソースのコードエディタです。
@@ -110,7 +110,6 @@ VS Code のようなフル機能のエディタの使用は、プレーンテキ
* [GitHub Markdown Preview](https://marketplace.visualstudio.com/items?itemName=bierner.github-markdown-preview) - _[オプション]_ - VS Code の markdown プレビューを GithHub のようにします。
* [VS Live Share Extension Pack](https://marketplace.visualstudio.com/items?itemName=MS-vsliveshare.vsliveshare-pack) - _[オプション]_ - この拡張により、他の誰かがあなたのワークスペースにアクセスし(あるいは、あなたが他の誰かのワークスペースにアクセスし)、手伝うことができます。あなたが問題を抱えており、他の誰かの助けが必要な場合に便利です。
* [VIM Keymap](https://marketplace.visualstudio.com/items?itemName=GiuseppeCesarano.vim-keymap) - _[オプション]_ - VIM スタイルのキーバインドを好む人向け。これには他のオプションもあります。
* [Travis CI Status](https://marketplace.visualstudio.com/items?itemName=felixrieseberg.vsc-travis-ci-status) - _[オプション]_ - セットアップした場合、現在の Travis CI の状態を表示します。
いずれかの拡張機能をインストールしたら、再起動します。

View File

@@ -2,8 +2,8 @@
<!---
grep --no-filename "^[ ]*git diff" docs/ja/*.md | sh
original document: 0.9.46:docs/proton_c_conversion.md
git diff 0.9.46 HEAD -- docs/proton_c_conversion.md | cat
original document: 0.13.17:docs/proton_c_conversion.md
git diff 0.13.17 HEAD -- docs/proton_c_conversion.md | cat
-->
Proton C は Pro Micro の差し替え可能品であるため、簡単に使用することができます。

View File

@@ -1,8 +1,8 @@
# キーボードをより良くするための便利なコア関数のリスト
<!---
original document: 0.10.33:docs/ref_functions.md
git diff 0.10.33 HEAD -- docs/ref_functions.md | cat
original document: 0.12.41:docs/ref_functions.md
git diff 0.12.41 HEAD -- docs/ref_functions.md | cat
-->
QMK には、信じられないほど便利な、またはあなたが望んでいた機能を少し追加する、隠された関数がたくさんあります。特定の機能に固有の関数はそれぞれの機能のページにあるため、ここには含まれていません。
@@ -98,7 +98,7 @@ layer_state_t layer_state_set_user(layer_state_t state) {
## EEPROM (永続ストレージ)の消去
オーディオ、RGB アンダーグロー、バックライト、キーの動作に問題がある場合は、EEPROM (永続的な設定のストレージ)をリセットすることができます。ブートマジックはこれを行う方法の1つですが、有効になっていない場合はカスタムマクロを使って行うことができます。
オーディオ、RGB アンダーグロー、バックライト、キーの動作に問題がある場合は、EEPROM (永続的な設定のストレージ)をリセットすることができます。EEPROM を強制的にリセットするには、[`EEP_RST` キーコード](ja/quantum_keycodes.md)あるいは[ブートマジック](ja/feature_bootmagic.md)機能を使います。それらのいずれも選択肢にない場合はカスタムマクロを使って行うことができます。
EEPROM を消去するには、関数またはマクロから `eeconfig_init()` を実行し、ほとんどの設定をデフォルトにリセットします。

View File

@@ -1,8 +1,8 @@
# QMK Configurator でのキーボードのサポート
<!---
original document: 0.9.46:docs/reference_configurator_support.md
git diff 0.9.46 HEAD -- docs/reference_configurator_support.md | cat
original document: 0.13.15:docs/reference_configurator_support.md
git diff 0.13.15 HEAD -- docs/reference_configurator_support.md | cat
-->
このページは [QMK Configurator](https://config.qmk.fm/) でキーボードを適切にサポートする方法について説明します。

View File

@@ -1,8 +1,8 @@
# QMK 用語集
<!---
original document: 0.9.46:docs/reference_glossary.md
git diff 0.9.46 HEAD -- docs/reference_glossary.md | cat
original document: 0.13.15:docs/reference_glossary.md
git diff 0.13.15 HEAD -- docs/reference_glossary.md | cat
-->
## ARM

View File

@@ -1,8 +1,8 @@
# タップホールド設定オプション
<!---
original document: 0.10.33:docs/tap_hold.md
git diff 0.10.33 HEAD -- docs/tap_hold.md | cat
original document: 0.12.41:docs/tap_hold.md
git diff 0.12.41 HEAD -- docs/tap_hold.md | cat
-->
タップホールドオプションは素晴らしいものですが、問題が無いわけではありません。デフォルト設定を適切なものにしようとしましたが、一部の人にとってまだ問題を引き起こすかもしれません。
@@ -92,7 +92,7 @@ bool get_permissive_hold(uint16_t keycode, keyrecord_t *record) {
#define IGNORE_MOD_TAP_INTERRUPT
```
許容ホールドと同様に、これは高速なタイピストのためのファームウェアの処理方法を変更します。モッドタップキーを押し、他のキーを押し、モッドタップキーを放し、通常のキーを放すと、通常は両方のキーのタッピング機能が出力されます。これはローリングコンボキーには望ましくないかもしれません
許容ホールドと同様に、これは高速なタイピストのためのファームウェアの処理方法を変更します。モッドタップキーを押し、他のキーを押し、モッドタップキーを放し、通常のキーを放すと、`TAPPING_TERM` 内で押された場合でも、通常はモッドと通常のキーが出力されます。これはローリングコンボキーや、頻繁に使用するキー(例えば、`RCTL_T(KC_QUOT)`)にモッドタップを使う高速なタイピストには望ましくない場合があります
`モッドタップ割り込みの無視`を設定するには、両方のキーを `TAPPING_TERM` の間ホールドすると、(その修飾キーの)ホールド機能を実行する必要があります。
@@ -103,7 +103,7 @@ bool get_permissive_hold(uint16_t keycode, keyrecord_t *record) {
- `SFT_T(KC_A)` を放す
- `KC_X` を放す
通常、これは `X` (`SHIFT`+`x`) を送信します。`モッドタップ割り込みの無視` を有効にすると、ホールドアクションを登録するには、両方のキーを `TAPPING_TERM` の間ホールドする必要があります。この場合、素早いタップは `ax` を送信しますが、両方をホールドすると、`X` (`SHIFT`+`x`) を出力します。
通常、これは大文字の `X` (`SHIFT`+`x`)、またはモッド + キーを送信します。`モッドタップ割り込みの無視` を有効にすると、ホールドアクションを登録するには、両方のキーを `TAPPING_TERM` の間ホールドする必要があります。この場合、素早いタップは `ax` を送信しますが、両方をホールドすると、大文字の `X` (`SHIFT`+`x`) を出力します。
?> __注意__: これはモディファイアにのみ関係し、レイヤー切り替えキーには関係しません。
@@ -137,8 +137,7 @@ bool get_ignore_mod_tap_interrupt(uint16_t keycode, keyrecord_t *record) {
#define TAPPING_FORCE_HOLD
```
タップの後でユーザがキーをホールドすると、ホールド機能がアクティブになるのではなく、デフォルトでタッピング機能が繰り返されます。これにより、デュアルロールキーのタッピング機能を自動繰り返しする機能を維持することができます。
`TAPPING_FORCE_HOLD` は、デュアルロールキーをタップした後ホールドした場合、ユーザがホールド機能をアクティブにする機能を削除します。
タップの後でユーザがキーをホールドすると、ホールド機能がアクティブになるのではなく、デフォルトでタッピング機能が繰り返されます。これにより、デュアルロールキーのタッピング機能を自動繰り返しする機能を維持することができます。`TAPPING_FORCE_HOLD` は、デュアルロールキーをタップした後ホールドした場合、ユーザがホールド機能をアクティブにする機能を削除します。
例:
@@ -185,6 +184,25 @@ bool get_tapping_force_hold(uint16_t keycode, keyrecord_t *record) {
例えば、他のキーを押すことなく `LT(2, KC_SPACE)` を押したり放したりしても何も起こりません。これを有効にすると、代わりに `KC_SPACE` を送信します。
この機能をより細かく制御するために、以下を `config.h` に追加することができます:
```c
#define RETRO_TAPPING_PER_KEY
```
そして、以下の関数をキーマップに追加します:
```c
bool get_retro_tapping(uint16_t keycode, keyrecord_t *record) {
switch (keycode) {
case LT(2, KC_SPACE):
return true;
default:
return false;
}
}
```
## キー別の関数にキーレコードを含めるのはなぜですか?
「キー別」の関数全てにキーレコードを含んでいることに気付いたかもしれません。そしてなぜそうしたのか不思議に思っているかもしれません。

View File

@@ -1,8 +1,8 @@
# QMK のコードの理解
<!---
original document: 0.9.55:docs/understanding_qmk.md
git diff 0.9.55 HEAD -- docs/understanding_qmk.md | cat
original document: 0.13.15:docs/understanding_qmk.md
git diff 0.13.15 HEAD -- docs/understanding_qmk.md | cat
-->
このドキュメントでは、QMK ファームウェアがどのように機能するかを非常に高いレベルから説明しようとしています。基本的なプログラミングの概念を理解していることを前提としていますが、(実例を示す必要がある場合を除き) C に精通していることを前提にはしていません。以下のドキュメントの基本的な知識があることを前提としています。

View File

@@ -354,6 +354,157 @@ See also: [Leader Key](feature_leader_key.md)
|---------|------------------------|
|`KC_LEAD`|Begins a leader sequence|
## MIDI :id=midi
See also: [MIDI](feature_midi.md)
|Key |Aliases |Description |
|------------|---------|---------------------------------|
|`MI_ON` | |Turn MIDI on |
|`MI_OFF` | |Turn MIDI off |
|`MI_TOG` | |Toggle MIDI enabled |
|`MI_C` | |C octave 0 |
|`MI_Cs` |`MI_Db` |C♯/D♭ octave 0 |
|`MI_D` | |D octave 0 |
|`MI_Ds` |`MI_Eb` |D♯/E♭ octave 0 |
|`MI_E` | |E octave 0 |
|`MI_F` | |F octave 0 |
|`MI_Fs` |`MI_Gb` |F♯/G♭ octave 0 |
|`MI_G` | |G octave 0 |
|`MI_Gs` |`MI_Gs` |G♯/A♭ octave 0 |
|`MI_A` | |A octave 0 |
|`MI_As` |`MI_Bb` |A♯/B♭ octave 0 |
|`MI_B` | |B octave 0 |
|`MI_C_1` | |C octave 1 |
|`MI_Cs_1` |`MI_Db_1`|C♯/D♭ octave 1 |
|`MI_D_1` | |D octave 1 |
|`MI_Ds_1` |`MI_Eb_1`|D♯/E♭ octave 1 |
|`MI_E_1` | |E octave 1 |
|`MI_F_1` | |F octave 1 |
|`MI_Fs_1` |`MI_Gb_1`|F♯/G♭ octave 1 |
|`MI_G_1` | |G octave 1 |
|`MI_Gs_1` |`MI_Ab_1`|G♯/A♭ octave 1 |
|`MI_A_1` | |A octave 1 |
|`MI_As_1` |`MI_Bb_1`|A♯/B♭ octave 1 |
|`MI_B_1` | |B octave 1 |
|`MI_C_2` | |C octave 2 |
|`MI_Cs_2` |`MI_Db_2`|C♯/D♭ octave 2 |
|`MI_D_2` | |D octave 2 |
|`MI_Ds_2` |`MI_Eb_2`|D♯/E♭ octave 2 |
|`MI_E_2` | |E octave 2 |
|`MI_F_2` | |F octave 2 |
|`MI_Fs_2` |`MI_Gb_2`|F♯/G♭ octave 2 |
|`MI_G_2` | |G octave 2 |
|`MI_Gs_2` |`MI_Ab_2`|G♯/A♭ octave 2 |
|`MI_A_2` | |A octave 2 |
|`MI_As_2` |`MI_Bb_2`|A♯/B♭ octave 2 |
|`MI_B_2` | |B octave 2 |
|`MI_C_3` | |C octave 3 |
|`MI_Cs_3` |`MI_Db_3`|C♯/D♭ octave 3 |
|`MI_D_3` | |D octave 3 |
|`MI_Ds_3` |`MI_Eb_3`|D♯/E♭ octave 3 |
|`MI_E_3` | |E octave 3 |
|`MI_F_3` | |F octave 3 |
|`MI_Fs_3` |`MI_Gb_3`|F♯/G♭ octave 3 |
|`MI_G_3` | |G octave 3 |
|`MI_Gs_3` |`MI_Ab_3`|G♯/A♭ octave 3 |
|`MI_A_3` | |A octave 3 |
|`MI_As_3` |`MI_Bb_3`|A♯/B♭ octave 3 |
|`MI_B_3` | |B octave 3 |
|`MI_C_4` | |C octave 4 |
|`MI_Cs_4` |`MI_Db_4`|C♯/D♭ octave 4 |
|`MI_D_4` | |D octave 4 |
|`MI_Ds_4` |`MI_Eb_4`|D♯/E♭ octave 4 |
|`MI_E_4` | |E octave 4 |
|`MI_F_4` | |F octave 4 |
|`MI_Fs_4` |`MI_Gb_4`|F♯/G♭ octave 4 |
|`MI_G_4` | |G octave 4 |
|`MI_Gs_4` |`MI_Ab_4`|G♯/A♭ octave 4 |
|`MI_A_4` | |A octave 4 |
|`MI_As_4` |`MI_Bb_4`|A♯/B♭ octave 4 |
|`MI_B_4` | |B octave 4 |
|`MI_C_5` | |C octave 5 |
|`MI_Cs_5` |`MI_Db_5`|C♯/D♭ octave 5 |
|`MI_D_5` | |D octave 5 |
|`MI_Ds_5` |`MI_Eb_5`|D♯/E♭ octave 5 |
|`MI_E_5` | |E octave 5 |
|`MI_F_5` | |F octave 5 |
|`MI_Fs_5` |`MI_Gb_5`|F♯/G♭ octave 5 |
|`MI_G_5` | |G octave 5 |
|`MI_Gs_5` |`MI_Ab_5`|G♯/A♭ octave 5 |
|`MI_A_5` | |A octave 5 |
|`MI_As_5` |`MI_Bb_5`|A♯/B♭ octave 5 |
|`MI_B_5` | |B octave 5 |
|`MI_OCT_N2` | |Set octave to -2 |
|`MI_OCT_N1` | |Set octave to -1 |
|`MI_OCT_0` | |Set octave to 0 |
|`MI_OCT_1` | |Set octave to 1 |
|`MI_OCT_2` | |Set octave to 2 |
|`MI_OCT_3` | |Set octave to 3 |
|`MI_OCT_4` | |Set octave to 4 |
|`MI_OCT_5` | |Set octave to 5 |
|`MI_OCT_6` | |Set octave to 6 |
|`MI_OCT_7` | |Set octave to 7 |
|`MI_OCTD` | |Move down an octave |
|`MI_OCTU` | |Move up an octave |
|`MI_TRNS_N6`| |Set transposition to -6 semitones|
|`MI_TRNS_N5`| |Set transposition to -5 semitones|
|`MI_TRNS_N4`| |Set transposition to -4 semitones|
|`MI_TRNS_N3`| |Set transposition to -3 semitones|
|`MI_TRNS_N2`| |Set transposition to -2 semitones|
|`MI_TRNS_N1`| |Set transposition to -1 semitone |
|`MI_TRNS_0` | |No transposition |
|`MI_TRNS_1` | |Set transposition to +1 semitone |
|`MI_TRNS_2` | |Set transposition to +2 semitones|
|`MI_TRNS_3` | |Set transposition to +3 semitones|
|`MI_TRNS_4` | |Set transposition to +4 semitones|
|`MI_TRNS_5` | |Set transposition to +5 semitones|
|`MI_TRNS_6` | |Set transposition to +6 semitones|
|`MI_TRNSD` | |Decrease transposition |
|`MI_TRNSU` | |Increase transposition |
|`MI_VEL_0` | |Set velocity to 0 |
|`MI_VEL_1` | |Set velocity to 12 |
|`MI_VEL_2` | |Set velocity to 25 |
|`MI_VEL_3` | |Set velocity to 38 |
|`MI_VEL_4` | |Set velocity to 51 |
|`MI_VEL_5` | |Set velocity to 64 |
|`MI_VEL_6` | |Set velocity to 76 |
|`MI_VEL_7` | |Set velocity to 89 |
|`MI_VEL_8` | |Set velocity to 102 |
|`MI_VEL_9` | |Set velocity to 114 |
|`MI_VEL_10` | |Set velocity to 127 |
|`MI_VELD` | |Decrease velocity |
|`MI_VELU` | |Increase velocity |
|`MI_CH1` | |Set channel to 1 |
|`MI_CH2` | |Set channel to 2 |
|`MI_CH3` | |Set channel to 3 |
|`MI_CH4` | |Set channel to 4 |
|`MI_CH5` | |Set channel to 5 |
|`MI_CH6` | |Set channel to 6 |
|`MI_CH7` | |Set channel to 7 |
|`MI_CH8` | |Set channel to 8 |
|`MI_CH9` | |Set channel to 9 |
|`MI_CH10` | |Set channel to 10 |
|`MI_CH11` | |Set channel to 11 |
|`MI_CH12` | |Set channel to 12 |
|`MI_CH13` | |Set channel to 13 |
|`MI_CH14` | |Set channel to 14 |
|`MI_CH15` | |Set channel to 15 |
|`MI_CH16` | |Set channel to 16 |
|`MI_CHD` | |Decrease channel |
|`MI_CHU` | |Increase channel |
|`MI_ALLOFF` | |Stop all notes |
|`MI_SUS` | |Sustain |
|`MI_PORT` | |Portmento |
|`MI_SOST` | |Sostenuto |
|`MI_SOFT` | |Soft Pedal |
|`MI_LEG` | |Legato |
|`MI_MOD` | |Modulation |
|`MI_MODSD` | |Decrease modulation speed |
|`MI_MODSU` | |Increase modulation speed |
|`MI_BENDD` | |Bend pitch down |
|`MI_BENDU` | |Bend pitch up |
## Mouse Keys :id=mouse-keys
See also: [Mouse Keys](feature_mouse_keys.md)
@@ -381,26 +532,29 @@ See also: [Mouse Keys](feature_mouse_keys.md)
See also: [Modifier Keys](feature_advanced_keycodes.md#modifier-keys)
|Key |Aliases |Description |
|----------|-------------------------------|------------------------------------------------------|
|`LCTL(kc)`|`C(kc)` |Hold Left Control and press `kc` |
|`LSFT(kc)`|`S(kc)` |Hold Left Shift and press `kc` |
|`LALT(kc)`|`A(kc)`, `LOPT(kc)` |Hold Left Alt and press `kc` |
|`LGUI(kc)`|`G(kc)`, `LCMD(kc)`, `LWIN(kc)`|Hold Left GUI and press `kc` |
|`RCTL(kc)`| |Hold Right Control and press `kc` |
|`RSFT(kc)`| |Hold Right Shift and press `kc` |
|`RALT(kc)`|`ROPT(kc)`, `ALGR(kc)` |Hold Right Alt (AltGr) and press `kc` |
|`RGUI(kc)`|`RCMD(kc)`, `LWIN(kc)` |Hold Right GUI and press `kc` |
|`SGUI(kc)`|`SCMD(kc)`, `SWIN(kc)` |Hold Left Shift and GUI and press `kc` |
|`LCA(kc)` | |Hold Left Control and Alt and press `kc` |
|`LSA(kc)` | |Hold Left Shift and Left Alt and press `kc` |
|`RSA(kc)` |`SAGR(kc)` |Hold Right Shift and Right Alt (AltGr) and press `kc` |
|`RCS(kc)` | |Hold Right Control and Right Shift and press `kc` |
|`LCAG(kc)`| |Hold Left Control, Alt and GUI and press `kc` |
|`MEH(kc)` | |Hold Left Control, Shift and Alt and press `kc` |
|`HYPR(kc)`| |Hold Left Control, Shift, Alt and GUI and press `kc` |
|`KC_MEH` | |Left Control, Shift and Alt |
|`KC_HYPR` | |Left Control, Shift, Alt and GUI |
|Key |Aliases |Description |
|----------|----------------------------------|------------------------------------------------------|
|`LCTL(kc)`|`C(kc)` |Hold Left Control and press `kc` |
|`LSFT(kc)`|`S(kc)` |Hold Left Shift and press `kc` |
|`LALT(kc)`|`A(kc)`, `LOPT(kc)` |Hold Left Alt and press `kc` |
|`LGUI(kc)`|`G(kc)`, `LCMD(kc)`, `LWIN(kc)` |Hold Left GUI and press `kc` |
|`RCTL(kc)`| |Hold Right Control and press `kc` |
|`RSFT(kc)`| |Hold Right Shift and press `kc` |
|`RALT(kc)`|`ROPT(kc)`, `ALGR(kc)` |Hold Right Alt (AltGr) and press `kc` |
|`RGUI(kc)`|`RCMD(kc)`, `LWIN(kc)` |Hold Right GUI and press `kc` |
|`LSG(kc)` |`SGUI(kc)`, `SCMD(kc)`, `SWIN(kc)`|Hold Left Shift and Left GUI and press `kc` |
|`LAG(kc)` | |Hold Left Alt and Left GUI and press `kc` |
|`RSG(kc)` | |Hold Right Shift and Right GUI and press `kc` |
|`RAG(kc)` | |Hold Right Alt and Right GUI and press `kc` |
|`LCA(kc)` | |Hold Left Control and Alt and press `kc` |
|`LSA(kc)` | |Hold Left Shift and Left Alt and press `kc` |
|`RSA(kc)` |`SAGR(kc)` |Hold Right Shift and Right Alt (AltGr) and press `kc` |
|`RCS(kc)` | |Hold Right Control and Right Shift and press `kc` |
|`LCAG(kc)`| |Hold Left Control, Alt and GUI and press `kc` |
|`MEH(kc)` | |Hold Left Control, Shift and Alt and press `kc` |
|`HYPR(kc)`| |Hold Left Control, Shift, Alt and GUI and press `kc` |
|`KC_MEH` | |Left Control, Shift and Alt |
|`KC_HYPR` | |Left Control, Shift, Alt and GUI |
## Mod-Tap Keys :id=mod-tap-keys
@@ -417,7 +571,10 @@ See also: [Mod-Tap](mod_tap.md)
|`RSFT_T(kc)` | |Right Shift when held, `kc` when tapped |
|`RALT_T(kc)` |`ROPT_T(kc)`, `ALGR_T(kc)` |Right Alt (AltGr) when held, `kc` when tapped |
|`RGUI_T(kc)` |`RCMD_T(kc)`, `RWIN_T(kc)` |Right GUI when held, `kc` when tapped |
|`SGUI_T(kc)` |`SCMD_T(kc)`, `SWIN_T(kc)` |Left Shift and GUI when held, `kc` when tapped |
|`LSG_T(kc)` |`SGUI_T(kc)`, `SCMD_T(kc)`, `SWIN_T(kc)` |Left Shift and GUI when held, `kc` when tapped |
|`LAG_T(kc)` | |Left Alt and GUI when held, `kc` when tapped |
|`RSG_T(kc)` | |Right Shift and GUI when held, `kc` when tapped |
|`RAG_T(kc)` | |Right Alt and GUI when held, `kc` when tapped |
|`LCA_T(kc)` | |Left Control and Alt when held, `kc` when tapped |
|`LSA_T(kc)` | |Left Shift and Left Alt when held, `kc` when tapped |
|`RSA_T(kc)` |`SAGR_T(kc)` |Right Shift and Right Alt (AltGr) when held, `kc` when tapped |

View File

@@ -1,7 +1,6 @@
# Quantum Mechanical Keyboard Firmware
[![Current Version](https://img.shields.io/github/tag/qmk/qmk_firmware.svg)](https://github.com/qmk/qmk_firmware/tags)
[![Build Status](https://travis-ci.org/qmk/qmk_firmware.svg?branch=master)](https://travis-ci.org/qmk/qmk_firmware)
[![Discord](https://img.shields.io/discord/440868230475677696.svg)](https://discord.gg/Uq7gcHh)
[![Docs Status](https://img.shields.io/badge/docs-ready-orange.svg)](https://docs.qmk.fm)
[![GitHub contributors](https://img.shields.io/github/contributors/qmk/qmk_firmware.svg)](https://github.com/qmk/qmk_firmware/pulse/monthly)

View File

@@ -37,7 +37,10 @@ For convenience, QMK includes some Mod-Tap shortcuts to make common combinations
|`RSFT_T(kc)`| |Right Shift when held, `kc` when tapped |
|`RALT_T(kc)`|`ROPT_T(kc)`, `ALGR_T(kc)` |Right Alt when held, `kc` when tapped |
|`RGUI_T(kc)`|`RCMD_T(kc)`, `RWIN_T(kc)` |Right GUI when held, `kc` when tapped |
|`SGUI_T(kc)`|`SCMD_T(kc)`, `SWIN_T(kc)` |Left Shift and GUI when held, `kc` when tapped |
|`LSG_T(kc)` |`SGUI_T(kc)`, `SCMD_T(kc)`, `SWIN_T(kc)` |Left Shift and GUI when held, `kc` when tapped |
|`LAG_T(kc)` | |Left Alt and GUI when held, `kc` when tapped |
|`RSG_T(kc)` | |Right Shift and GUI when held, `kc` when tapped |
|`RAG_T(kc)` | |Right Alt and GUI when held, `kc` when tapped |
|`LCA_T(kc)` | |Left Control and Alt when held, `kc` when tapped |
|`LSA_T(kc)` | |Left Shift and Alt when held, `kc` when tapped |
|`RSA_T(kc)` |`SAGR_T(kc)` |Right Shift and Right Alt (AltGr) when held, `kc` when tapped |

Some files were not shown because too many files have changed in this diff Show More