Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
* 'master' of https://github.com/qmk/qmk_firmware:
  [Keymap] major keymap overhaul (qmk#10185)
  Use the force when flashing with dfu-programmer (qmk#10070)
  [Keymap] Added nchristus userspace (qmk#10261)
  [Keyboard] Add Squishy65 keyboard (qmk#10266)
  add keyboard: bemeier/bmek (revisited) (qmk#10144)
  [Keymap] Romac Keymap with VIA and OLED Support (qmk#10249)
  [Keyboard] Added the proper RGB settings to allow via control (qmk#10223)
  [Docs] Japanese translation of docs/reference_keymap_extras.md (qmk#10138)
  updated readme.md of yushakobo/quick7 keyboard (qmk#10243)
  Update treadstone48/rev2 info.json (qmk#10241)
  Update marksard/leftover30 info.json (qmk#10240)
  Remove HD44780 References, Part 3 (qmk#10238)
  • Loading branch information
Shinichi-Ohki committed Sep 11, 2020
2 parents 7d317af + 3d4f002 commit 004a23a
Show file tree
Hide file tree
Showing 143 changed files with 3,451 additions and 1,349 deletions.
88 changes: 88 additions & 0 deletions docs/ja/reference_keymap_extras.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,88 @@
# 言語固有のキーコード

<!---
original document: 0.9.55:docs/reference_keymap_extras.md
git diff 0.9.55 HEAD -- docs/reference_keymap_extras.md | cat
-->

キーボードは多くの言語をサポートすることができます。ただし、それらはキーを押したことで生成される実際の文字を送信しません - 代わりに数字のコードを送信します。USB HID の仕様ではそれらは "usages" と呼ばれますが、キーボードの文脈では「スキャンコード」あるいは「キーコード」と呼ばれることが多いです。
HID Keyboard/Keypad usage ページでは 256 未満の usage が定義されており、それらの一部は現在のオペレーティングシステムでは機能しません。では、この言語のサポートはどのようにして実現されるのでしょうか?

簡単に言うと、オペレーティングシステムはユーザが設定したキーボードレイアウトに基づいて受け取った usage を適切な文字にマップします。例えば、スウェーデン人がキーボードの `å` という文字が刻印されたキーを押すと、キーボードは *実際には* `[` のキーコードを送信します。

明らかにこれは混乱する可能性があるため、QMK は多くのキーボードレイアウトのために言語固有のキーコードのエイリアスを提供します。これらはそれだけでは何もしません - さらに OS の設定で対応するキーボードレイアウトを設定する必要があります。それらをキーマップのキーキャップラベルと考えてください。

これらを使うには、`keymap.c` で対応する [ヘッダファイル](https://github.com/qmk/qmk_firmware/tree/master/quantum/keymap_extras)`#include` し、それらで定義されているキーコードを `KC_` プリフィクスの代わりに追加します:

| レイアウト | ヘッダファイル |
|-----------------------------|----------------------------------|
| Canadian Multilingual (CSA) | `keymap_canadian_multilingual.h` |
| Croatian | `keymap_croatian.h` |
| Czech | `keymap_czech.h` |
| Danish | `keymap_danish.h` |
| Dutch (Belgium) | `keymap_belgian.h` |
| English (Ireland) | `keymap_irish.h` |
| English (UK) | `keymap_uk.h` |
| English (US International) | `keymap_us_international.h` |
| Estonian | `keymap_estonian.h` |
| Finnish | `keymap_finnish.h` |
| French | `keymap_french.h` |
| French (AFNOR) | `keymap_french_afnor.h` |
| French (BÉPO) | `keymap_bepo.h` |
| French (Belgium) | `keymap_belgian.h` |
| French (Switzerland) | `keymap_fr_ch.h` |
| French (macOS, ISO) | `keymap_french_osx.h` |
| German | `keymap_german.h` |
| German (Switzerland) | `keymap_german_ch.h` |
| German (macOS) | `keymap_german_osx.h` |
| German (Neo2)* | `keymap_neo2.h` |
| Greek* | `keymap_greek.h` |
| Hebrew* | `keymap_hebrew.h` |
| Hungarian | `keymap_hungarian.h` |
| Icelandic | `keymap_icelandic.h` |
| Italian | `keymap_italian.h` |
| Italian (macOS, ANSI) | `keymap_italian_osx_ansi.h` |
| Italian (macOS, ISO) | `keymap_italian_osx_iso.h` |
| Japanese | `keymap_jp.h` |
| Korean | `keymap_korean.h` |
| Latvian | `keymap_latvian.h` |
| Lithuanian (ĄŽERTY) | `keymap_lithuanian_azerty.h` |
| Lithuanian (QWERTY) | `keymap_lithuanian_qwerty.h` |
| Norwegian | `keymap_norwegian.h` |
| Polish | `keymap_polish.h` |
| Portuguese | `keymap_portuguese.h` |
| Portuguese (Brazil) | `keymap_br_abnt2.h` |
| Romanian | `keymap_romanian.h` |
| Russian* | `keymap_russian.h` |
| Serbian* | `keymap_serbian.h` |
| Serbian (Latin) | `keymap_serbian_latin.h` |
| Slovak | `keymap_slovak.h` |
| Slovenian | `keymap_slovenian.h` |
| Spanish | `keymap_spanish.h` |
| Spanish (Dvorak) | `keymap_spanish_dvorak.h` |
| Swedish | `keymap_swedish.h` |
| Turkish (F) | `keymap_turkish_f.h` |
| Turkish (Q) | `keymap_turkish_q.h` |

言語固有でないものもありますが、QWERTY レイアウトを使っていない場合に役立ちます:

| レイアウト | ヘッダファイル |
|---------------------|--------------------------|
| Colemak | `keymap_colemak.h` |
| Dvorak | `keymap_dvorak.h` |
| Dvorak (French) | `keymap_dvorak_fr.h` |
| Dvorak (Programmer) | `keymap_dvp.h` |
| Norman | `keymap_norman.h` |
| Plover* | `keymap_plover.h` |
| Plover (Dvorak)* | `keymap_plover_dvorak.h` |
| Steno* | `keymap_steno.h` |
| Workman | `keymap_workman.h` |
| Workman (ZXCVM) | `keymap_workman_zxcvm.h` |

## Sendstring サポート

デフォルトでは、`SEND_STRING()` は US ANSI キーボードレイアウトが設定されたと見なします。別のレイアウトを使っている場合は、キーマップで(上記のように)`#include "sendstring_*.h"` して、ASCII 文字をキーコードにマッピングするために使われるルックアップテーブルを上書きすることができます。

ここで注意すべき重要な点は、`SEND_STRING()`[ASCII 文字](https://en.wikipedia.org/wiki/ASCII#Character_set) でのみ機能するということです。これは、ユニコード文字を含む文字列を渡すことができないことを意味します - 残念ながら、これには希望のレイアウトに存在する可能性のあるアクセント付き文字が含まれています。
多くのレイアウトでは、Grave または Tilde などの特定の文字を[デッドキー](https://en.wikipedia.org/wiki/Dead_key)としてのみ使えるようにしています。そのため、デッドキーが次の文字と潜在的に結合されることを防ぐためには、送信したい文字列の中のデッドキーのすぐ後にスペースを追加する必要があります。
ラテン語由来のアルファベットを使わない(例えば、ギリシャ語やロシア語のような)他のレイアウトには、Sendstring ヘッダーがありません。従って ASCII 文字セットのほとんどを入力する方法がありません。これらは上記で `*` でマークされています。
2 changes: 2 additions & 0 deletions keyboards/1upkeyboards/super16/keymaps/via/rules.mk
Original file line number Diff line number Diff line change
@@ -1,2 +1,4 @@
VIA_ENABLE = yes
LTO_ENABLE = yes
RGB_MATRIX_ENABLE = no
RGBLIGHT_ENABLE = yes
30 changes: 30 additions & 0 deletions keyboards/bemeier/bmek/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
# BMEK

![BMEK](https://i.imgur.com/p1KFi6ql.jpg)

BMEK combines the best of HHKB & Alice-likes. All PCB and case design files are open source.

* Keyboard Maintainer: [Bemeier](https://github.com/Bemeier)
* Hardware Supported: BMEK PCB rev1, rev2, rev3
* Hardware Availability: Case & PCB files: [github.com/bemeier/bmek](https://github.com/bemeier/bmek)

Make example for this keyboard, for an hhkb-like layout and keymap (after setting up your build environment):

make bemeier/bmek/rev3:default

Make the VIA compatible firmware:

make bemeier/bmek/rev3:via

The ```rev3```, denotes the version of the PCB.
Check on the PCB to find out which version you have, and set it to rev1, rev2 or rev3 accordingly (the BMEK group buy PCBs are all rev3).

See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).

# Layouts

Starting with rev3 (the version of the PCB to be shipped in the GB), the following layout options are supported:

![layouts](https://i.imgur.com/XuFxwthl.png)

Note that the keymap shown above may not accurately reflect the default keymap of the firmware (see the keymaps folder).
23 changes: 23 additions & 0 deletions keyboards/bemeier/bmek/bmek.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
/* Copyright 2020 bemeier
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include "bmek.h"

__attribute__((weak))
void shutdown_user() {
#ifdef RGBLIGHT_ENABLE
rgblight_setrgb(255, 0, 0);
#endif
}
58 changes: 58 additions & 0 deletions keyboards/bemeier/bmek/bmek.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
/* Copyright 2020 bemeier
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#pragma once

#include "quantum.h"

#if defined(KEYBOARD_bemeier_bmek_rev1)
# include "rev1.h"
#elif defined(KEYBOARD_bemeier_bmek_rev2)
# include "rev2.h"
#elif defined(KEYBOARD_bemeier_bmek_rev3)
# include "rev3.h"
#endif

#define XXX KC_NO // makes the switch matrix easier to read

// This layout is supported by all revisions
#define LAYOUT_hhkb(\
K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K1E,\
K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K2E,\
K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D,\
K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E,\
K42, K43, K45, K48, K4A, K4B \
) { \
{ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E }, \
{ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E }, \
{ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E }, \
{ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E }, \
{ XXX, XXX, K42, K43, XXX, K45, XXX, XXX, K48, XXX, K4A, K4B, XXX, XXX, XXX } \
}

// Layout exposing all keys (adding the ISO-style split left shift, which is supported starting rev3)
#define LAYOUT_all(\
K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K1E,\
K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K2E,\
K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D,\
K30, K31, K41, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E,\
K42, K43, K45, K48, K4A, K4B \
) { \
{ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E }, \
{ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E }, \
{ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E }, \
{ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E }, \
{ XXX, K41, K42, K43, XXX, K45, XXX, XXX, K48, XXX, K4A, K4B, XXX, XXX, XXX } \
}
47 changes: 47 additions & 0 deletions keyboards/bemeier/bmek/config.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
/* Copyright 2020 bemeier
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#pragma once

#include "config_common.h"

/* USB Device descriptor parameter */
#define VENDOR_ID 0x626D // BeMeier
#define PRODUCT_ID 0x656B // ErgonomicKeyboard
#define MANUFACTURER Bemeier
#define PRODUCT BMEK

#define DYNAMIC_KEYMAP_LAYER_COUNT 5
#define VIA_EEPROM_CUSTOM_CONFIG_SIZE 20

/* Keyboard Matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15

#define DIODE_DIRECTION COL2ROW

#define RGBLIGHT_EFFECT_BREATHING
#define RGBLIGHT_EFFECT_RAINBOW_MOOD
#define RGBLIGHT_MODE_STATIC_GRADIENT

#define RGBLED_NUM 6
#define RGBLIGHT_HUE_STEP 8
#define RGBLIGHT_SAT_STEP 8
#define RGBLIGHT_VAL_STEP 8
#define RGBLIGHT_LIMIT_VAL 255

#define DEBOUNCE 5
//#define RETRO_TAPPING
#define TAPPING_TERM 175
25 changes: 25 additions & 0 deletions keyboards/bemeier/bmek/info.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
{
"keyboard_name": "bmek",
"url": "https://github.com/Bemeier/bmek",
"maintainer": "Bemeier",
"width": 18,
"height": 5,
"layouts": {
"LAYOUT_all": {
"layout": [
{"label":"Home", "x":0, "y":0}, {"label":"Esc", "x":1.5, "y":0}, {"label":"!", "x":2.5, "y":0}, {"label":"@", "x":3.5, "y":0}, {"label":"#", "x":4.5, "y":0}, {"label":"$", "x":5.5, "y":0}, {"label":"%", "x":6.5, "y":0}, {"label":"^", "x":7.5, "y":0}, {"label":"&", "x":10, "y":0}, {"label":"*", "x":11, "y":0}, {"label":"(", "x":12, "y":0}, {"label":")", "x":13, "y":0}, {"label":"_", "x":14, "y":0}, {"label":"+", "x":15, "y":0}, {"label":"|", "x":16, "y":0}, {"label":"~", "x":17, "y":0},
{"label":"PgUp", "x":0, "y":1}, {"label":"Tab", "x":1.5, "y":1, "w":1.5}, {"label":"Q", "x":3, "y":1}, {"label":"W", "x":4, "y":1}, {"label":"E", "x":5, "y":1}, {"label":"R", "x":6, "y":1}, {"label":"T", "x":7, "y":1}, {"label":"Y", "x":9.5, "y":1}, {"label":"U", "x":10.5, "y":1}, {"label":"I", "x":11.5, "y":1}, {"label":"O", "x":12.5, "y":1}, {"label":"P", "x":13.5, "y":1}, {"label":"{", "x":14.5, "y":1}, {"label":"}", "x":15.5, "y":1}, {"label":"Backspace", "x":16.5, "y":1, "w":1.5},
{"label":"PgDn", "x":0, "y":2}, {"label":"Ctrl", "x":1.5, "y":2, "w":1.75}, {"label":"A", "x":3.25, "y":2}, {"label":"S", "x":4.25, "y":2}, {"label":"D", "x":5.25, "y":2}, {"label":"F", "x":6.25, "y":2}, {"label":"G", "x":7.25, "y":2}, {"label":"H", "x":9.75, "y":2}, {"label":"J", "x":10.75, "y":2}, {"label":"K", "x":11.75, "y":2}, {"label":"L", "x":12.75, "y":2}, {"label":":", "x":13.75, "y":2}, {"label":"\"", "x":14.75, "y":2}, {"label":"Enter", "x":15.75, "y":2, "w":2.25},
{"label":"End", "x":0, "y":3}, {"label":"Shift", "x":1.5, "y":3, "w":1.25}, {"label":"~", "x":2.75, "y":3}, {"label":"Z", "x":3.75, "y":3}, {"label":"X", "x":4.75, "y":3}, {"label":"C", "x":5.75, "y":3}, {"label":"V", "x":6.75, "y":3}, {"label":"B", "x":7.75, "y":3}, {"label":"B", "x":9.25, "y":3}, {"label":"N", "x":10.25, "y":3}, {"label":"M", "x":11.25, "y":3}, {"label":"<", "x":12.25, "y":3}, {"label":">", "x":13.25, "y":3}, {"label":"?", "x":14.25, "y":3}, {"label":"Shift", "x":15.25, "y":3, "w":1.75}, {"label":"Fn", "x":17, "y":3}, {"label":"Win", "x":3.75, "y":4}, {"label":"Alt", "x":4.75, "y":4, "w":1.25}, {"x":6, "y":4, "w":2.75}, {"x":9.25, "y":4, "w":2.75}, {"label":"Alt", "x":12, "y":4, "w":1.25}, {"label":"Win", "x":13.25, "y":4}
]
},
"LAYOUT_hhkb": {
"layout": [
{"label":"Home", "x":0, "y":0}, {"label":"Esc", "x":1.5, "y":0}, {"label":"!", "x":2.5, "y":0}, {"label":"@", "x":3.5, "y":0}, {"label":"#", "x":4.5, "y":0}, {"label":"$", "x":5.5, "y":0}, {"label":"%", "x":6.5, "y":0}, {"label":"^", "x":7.5, "y":0}, {"label":"&", "x":10, "y":0}, {"label":"*", "x":11, "y":0}, {"label":"(", "x":12, "y":0}, {"label":")", "x":13, "y":0}, {"label":"_", "x":14, "y":0}, {"label":"+", "x":15, "y":0}, {"label":"|", "x":16, "y":0}, {"label":"~", "x":17, "y":0},
{"label":"PgUp", "x":0, "y":1}, {"label":"Tab", "x":1.5, "y":1, "w":1.5}, {"label":"Q", "x":3, "y":1}, {"label":"W", "x":4, "y":1}, {"label":"E", "x":5, "y":1}, {"label":"R", "x":6, "y":1}, {"label":"T", "x":7, "y":1}, {"label":"Y", "x":9.5, "y":1}, {"label":"U", "x":10.5, "y":1}, {"label":"I", "x":11.5, "y":1}, {"label":"O", "x":12.5, "y":1}, {"label":"P", "x":13.5, "y":1}, {"label":"{", "x":14.5, "y":1}, {"label":"}", "x":15.5, "y":1}, {"label":"Backspace", "x":16.5, "y":1, "w":1.5},
{"label":"PgDn", "x":0, "y":2}, {"label":"Ctrl", "x":1.5, "y":2, "w":1.75}, {"label":"A", "x":3.25, "y":2}, {"label":"S", "x":4.25, "y":2}, {"label":"D", "x":5.25, "y":2}, {"label":"F", "x":6.25, "y":2}, {"label":"G", "x":7.25, "y":2}, {"label":"H", "x":9.75, "y":2}, {"label":"J", "x":10.75, "y":2}, {"label":"K", "x":11.75, "y":2}, {"label":"L", "x":12.75, "y":2}, {"label":":", "x":13.75, "y":2}, {"label":"\"", "x":14.75, "y":2}, {"label":"Enter", "x":15.75, "y":2, "w":2.25},
{"label":"End", "x":0, "y":3}, {"label":"Shift", "x":1.5, "y":3, "w":2.25}, {"label":"Z", "x":3.75, "y":3}, {"label":"X", "x":4.75, "y":3}, {"label":"C", "x":5.75, "y":3}, {"label":"V", "x":6.75, "y":3}, {"label":"B", "x":7.75, "y":3}, {"label":"B", "x":9.25, "y":3}, {"label":"N", "x":10.25, "y":3}, {"label":"M", "x":11.25, "y":3}, {"label":"<", "x":12.25, "y":3}, {"label":">", "x":13.25, "y":3}, {"label":"?", "x":14.25, "y":3}, {"label":"Shift", "x":15.25, "y":3, "w":1.75}, {"label":"Fn", "x":17, "y":3}, {"label":"Win", "x":3.75, "y":4}, {"label":"Alt", "x":4.75, "y":4, "w":1.25}, {"x":6, "y":4, "w":2.75}, {"x":9.25, "y":4, "w":2.75}, {"label":"Alt", "x":12, "y":4, "w":1.25}, {"label":"Win", "x":13.25, "y":4}
]
}
}
}
4 changes: 4 additions & 0 deletions keyboards/bemeier/bmek/keymaps/default/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# Default BMEK Keymap
This is the default keymap for the BMEK, besides the left macro columns and the split spacebars.
It's uses the HHKB-like layout options (no split left shift, split backspace and split right shift).
Please checkout the diagrams in ```keymap.c``` for an overview of the keymap.
Loading

0 comments on commit 004a23a

Please sign in to comment.