mirror of
https://github.com/qmk/qmk_firmware.git
synced 2025-07-20 06:32:01 +00:00
Merge branch 'master' of https://github.com/qmk/qmk_firmware
This commit is contained in:
commit
13f445e2cc
@ -58,7 +58,7 @@ On the display tab click 'Open stroke display'. With Plover disabled you should
|
|||||||
|
|
||||||
## Interfacing with the code :id=interfacing-with-the-code
|
## Interfacing with the code :id=interfacing-with-the-code
|
||||||
|
|
||||||
The steno code has three interceptible hooks. If you define these functions, they will be called at certain points in processing; if they return true, processing continues, otherwise it's assumed you handled things.
|
The steno code has three interceptable hooks. If you define these functions, they will be called at certain points in processing; if they return true, processing continues, otherwise it's assumed you handled things.
|
||||||
|
|
||||||
```c
|
```c
|
||||||
bool send_steno_chord_user(steno_mode_t mode, uint8_t chord[6]);
|
bool send_steno_chord_user(steno_mode_t mode, uint8_t chord[6]);
|
||||||
|
63
docs/ja/coding_conventions_c.md
Normal file
63
docs/ja/coding_conventions_c.md
Normal file
@ -0,0 +1,63 @@
|
|||||||
|
# コーディング規約 (C)
|
||||||
|
|
||||||
|
<!---
|
||||||
|
original document: 0.9.19:docs/coding_conventions_c.md
|
||||||
|
git diff 0.9.19 HEAD -- docs/coding_conventions_c.md | cat
|
||||||
|
-->
|
||||||
|
|
||||||
|
私たちのスタイルのほとんどはかなり理解しやすいですが、現時点では完全に一貫しているわけではありません。変更箇所周辺のコードのスタイルと一致させる必要がありますが、そのコードに一貫性が無い場合や不明瞭な場合は以下のガイドラインに従ってください:
|
||||||
|
|
||||||
|
* 4つのスペース (ソフトタブ) を使ってインデントします。
|
||||||
|
* 修正版 One True Brace Style を使います。
|
||||||
|
* 開き括弧: ブロックを開始する文と同じ行の最後
|
||||||
|
* 閉じ括弧: ブロックを開始した文と同じ字下げ
|
||||||
|
* Else If: 行の先頭に閉じ括弧を置き、次の開き括弧を同じ行の最後に置きます。
|
||||||
|
* 省略可能な括弧: 常に括弧を付け加えます。
|
||||||
|
* 良い: if (condition) { return false; }
|
||||||
|
* 悪い: if (condition) return false;
|
||||||
|
* C 形式のコメントの使用を推奨します: `/* */`
|
||||||
|
* コメントを機能を説明するストーリーと考えて下さい。
|
||||||
|
* 特定の決定がなされた理由を充分なコメントで説明してください。
|
||||||
|
* 分かり切ったコメントは書かないでください。
|
||||||
|
* 分かり切ったコメントであるか確信できない場合は、コメントを含めてください。
|
||||||
|
* 一般的に、行を折り返さないで、必要なだけ長くすることができます。行を折り返すことを選択した場合は、76列を超えて折り返さないでください。
|
||||||
|
* 古い形式のインクルードガード (`#ifndef THIS_FILE_H`、`#define THIS_FILE_H`、...、`#endif`) ではなく、ヘッダファイルの先頭で `#pragma once` を使います。
|
||||||
|
* プリプロセッサ if の両方の形式を受け付けます: `#ifdef DEFINED` と `#if defined(DEFINED)`
|
||||||
|
* どちらがいいかわからない場合は、`#if defined(DEFINED)` 形式を使ってください。
|
||||||
|
* 複数の条件 `#if` に移行する場合を除き、既存のコードを別のスタイルに変更しないでください。
|
||||||
|
* プリプロセッサディレクティブをインデントする方法(あるいはするかどうか)を決定する時は、以下の事に留意してください:
|
||||||
|
* 一貫性よりも読みやすさが重要です。
|
||||||
|
* ファイルの既存のスタイルに従ってください。ファイルのスタイルが混在している場合は、修正しようとしているセクションに適したスタイルに従ってください。
|
||||||
|
* インデントする時は、ハッシュを行の先頭に置き、`#` と `if` の間に空白を追加します。`#` の後ろに4つスペースを入れて開始します。
|
||||||
|
* 周りの C コードのインデントレベルに従うか、プリプロセッサのディレクティブに独自のインデントレベルを設定することができます。コードの意図を最もよく伝えるスタイルを選択してください。
|
||||||
|
|
||||||
|
わかりやすいように例を示します:
|
||||||
|
|
||||||
|
```c
|
||||||
|
/* Enums for foo */
|
||||||
|
enum foo_state {
|
||||||
|
FOO_BAR,
|
||||||
|
FOO_BAZ,
|
||||||
|
};
|
||||||
|
|
||||||
|
/* Returns a value */
|
||||||
|
int foo(void) {
|
||||||
|
if (some_condition) {
|
||||||
|
return FOO_BAR;
|
||||||
|
} else {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
# clang-format を使った自動整形
|
||||||
|
|
||||||
|
[Clang-format](https://clang.llvm.org/docs/ClangFormat.html) は LLVM の一部で、誰もが手動で整形するほど暇ではないため、コードを自動整形することができます。私たちは、上記のコーディング規約のほとんどを適用する設定ファイルを提供しています。空白と改行のみを変更するため、省略可能な括弧は自分で付け加えることを忘れないでください。
|
||||||
|
|
||||||
|
Windows で clang-format を入手するには [full LLVM インストーラ](http://llvm.org/builds/)を使い、Ubuntu では `sudo apt install clang-format` を使ってください。
|
||||||
|
|
||||||
|
コマンドラインから実行する場合、オプションとして `-style=file` を渡すと、QMK ルートディレクトリ内の .clang-format 設定ファイルを自動的に見つけます。
|
||||||
|
|
||||||
|
VSCode を使う場合は、標準の C/C++ プラグインが clang-format をサポートしますが、その他にも [独立した拡張機能](https://marketplace.visualstudio.com/items?itemName=LLVMExtensions.ClangFormat) があります。
|
||||||
|
|
||||||
|
幾つかのコード (LAYOUT マクロのような)が clang-format によって破壊されるため、これらのファイルで clang-format を実行しないか、整形したくないコードを `// clang-format off` と `// clang-format on` で囲みます。
|
331
docs/ja/coding_conventions_python.md
Normal file
331
docs/ja/coding_conventions_python.md
Normal file
@ -0,0 +1,331 @@
|
|||||||
|
# コーディング規約 (Python)
|
||||||
|
|
||||||
|
<!---
|
||||||
|
original document: 0.9.19:docs/coding_conventions_python.md
|
||||||
|
git diff 0.9.19 HEAD -- docs/coding_conventions_python.md | cat
|
||||||
|
-->
|
||||||
|
|
||||||
|
私たちのスタイルの大部分は PEP8 に従いますが、神経質にならないように幾つかのローカルな変更を加えています。
|
||||||
|
|
||||||
|
* サポートされる全てのプラットフォームとの互換性のために、Python 3.6 を対象にしています。
|
||||||
|
* 4つのスペース (ソフトタブ) を使ってインデントします
|
||||||
|
* 充分なコメントを書くことを推奨します
|
||||||
|
* コメントを機能を説明するストーリーと考えて下さい
|
||||||
|
* 特定の決定がなされた理由を充分なコメントで説明してください。
|
||||||
|
* 分かり切ったコメントは書かないでください
|
||||||
|
* 分かり切ったコメントであるか確信できない場合は、コメントを含めてください。
|
||||||
|
* 全ての関数について、役に立つ docstring を必要とします。
|
||||||
|
* 一般的に、行を折り返さないで、必要なだけ長くすることができます。行を折り返すことを選択した場合は、76列を超えて折り返さないでください。
|
||||||
|
* 私たちの慣習の幾つかは、Python 使いでは無い人にコードベースをより身近にするために、python コミュニティに広まっているものとは競合しています。
|
||||||
|
|
||||||
|
# YAPF
|
||||||
|
|
||||||
|
コードを整形するために [yapf](https://github.com/google/yapf) を使うことができます。[setup.cfg](setup.cfg) で設定を提供しています。
|
||||||
|
|
||||||
|
# インポート
|
||||||
|
|
||||||
|
`import ...` や `from ... import ...` をいつ使うかについての厳密なルールはありません。理解しやすさと保守性が究極の目的です。
|
||||||
|
|
||||||
|
一般的に、コードを短く理解しやすくするためにモジュールから特定の関数とクラス名をインポートする方が望ましいです。これにより、名前が曖昧になることがあります。代わりにモジュールをインポートするようにします。互換性のあるモジュールをインポートする時を除いて、インポートする時は "as" キーワードを避けるべきです。
|
||||||
|
|
||||||
|
インポートは各モジュール1行にする必要があります。標準的な python ルールに従って、インポート文をシステム、サードパーティ、ローカルにグループ化します。
|
||||||
|
|
||||||
|
`from foo import *` を使わないでください。代わりにインポートしたいオブジェクトのリストを指定するか、モジュール全体をインポートします。
|
||||||
|
|
||||||
|
## インポートの例
|
||||||
|
|
||||||
|
良い:
|
||||||
|
|
||||||
|
```
|
||||||
|
from qmk import effects
|
||||||
|
|
||||||
|
effects.echo()
|
||||||
|
```
|
||||||
|
|
||||||
|
悪い:
|
||||||
|
|
||||||
|
```
|
||||||
|
from qmk.effects import echo
|
||||||
|
|
||||||
|
echo() # echoがどこから来たのかが不明瞭です
|
||||||
|
```
|
||||||
|
|
||||||
|
良い:
|
||||||
|
|
||||||
|
```
|
||||||
|
from qmk.keymap import compile_firmware
|
||||||
|
|
||||||
|
compile_firmware()
|
||||||
|
```
|
||||||
|
|
||||||
|
良いですが、上の方がより良いです:
|
||||||
|
|
||||||
|
```
|
||||||
|
import qmk.keymap
|
||||||
|
|
||||||
|
qmk.keymap.compile_firmware()
|
||||||
|
```
|
||||||
|
|
||||||
|
# 命令文
|
||||||
|
|
||||||
|
各行1文としてください。
|
||||||
|
|
||||||
|
可能な場合(例えば `if foo: bar`)でも、2つの文を1行にまとめないでください。
|
||||||
|
|
||||||
|
# 命名
|
||||||
|
|
||||||
|
`module_name`, `package_name`, `ClassName`, `method_name`, `ExceptionName`, `function_name`, `GLOBAL_CONSTANT_NAME`, `global_var_name`, `instance_var_name`, `function_parameter_name`, `local_var_name`.
|
||||||
|
|
||||||
|
関数名、変数名 およびファイル名は説明的でなければなりません; 略語を避けます。特に、プロジェクト外の読み手に曖昧あるいは馴染みのない略語を使わず、単語内の文字を削除して略さないでください。
|
||||||
|
|
||||||
|
常に .py のファイル名の拡張子を使います。ダッシュを使わないでください。
|
||||||
|
|
||||||
|
## 避けるべき名前
|
||||||
|
|
||||||
|
* カウンタあるいはイテレータ以外の1文字の名前。try/except 文では例外の識別子として `e` を使うことができます。
|
||||||
|
* パッケージ/モジュール名内のダッシュ (`-`)
|
||||||
|
* `__double_leading_and_trailing_underscore__` (2つのアンダースコアで始まる名前と終わる名前、Python で予約済み)
|
||||||
|
|
||||||
|
# Docstring
|
||||||
|
|
||||||
|
docstring の一貫性を維持するために、以下のガイドラインを設定しました。
|
||||||
|
|
||||||
|
* マークダウン(Markdown)形式の使用
|
||||||
|
* 常に少なくとも1つの改行を含む3つのダブルクォートの docstring を使ってください: `"""\n"""`
|
||||||
|
* 最初の行は、関数が行うことの短い (70文字未満) 説明です。
|
||||||
|
* docstring が更に必要な場合は、説明と残りの間に空白行を入れます。
|
||||||
|
* 開始の3つのダブルクォートと同じインデントレベルでインデント行を始めます
|
||||||
|
* 以下で説明する形式を使って全ての関数の引数について記述します
|
||||||
|
* Args:、Returns: および Raises: が存在する場合、それらは docstring の最後の3つの要素で、それぞれ空白行で区切られなければなりません。
|
||||||
|
|
||||||
|
## 簡単な docstring の例
|
||||||
|
|
||||||
|
```
|
||||||
|
def my_awesome_function():
|
||||||
|
"""1970 Jan 1 00:00 UTC からの秒数を返します。
|
||||||
|
"""
|
||||||
|
return int(time.time())
|
||||||
|
```
|
||||||
|
|
||||||
|
## 複雑な docstring の例
|
||||||
|
|
||||||
|
```
|
||||||
|
def my_awesome_function():
|
||||||
|
"""1970 Jan 1 00:00 UTC からの秒数を返します。
|
||||||
|
|
||||||
|
この関数は常に整数の秒数を返します。
|
||||||
|
"""
|
||||||
|
return int(time.time())
|
||||||
|
```
|
||||||
|
|
||||||
|
## 関数の引数の docstring の例
|
||||||
|
|
||||||
|
```
|
||||||
|
def my_awesome_function(start=None, offset=0):
|
||||||
|
"""1970 Jan 1 00:00 UTC からの秒数を返します。
|
||||||
|
|
||||||
|
この関数は常に整数の秒数を返します。
|
||||||
|
|
||||||
|
|
||||||
|
Args:
|
||||||
|
start
|
||||||
|
1970 Jan 1 00:00 UTC の代わりの開始時間
|
||||||
|
|
||||||
|
offset
|
||||||
|
最初の引数からこの秒数が引かれた答えを返します
|
||||||
|
|
||||||
|
Returns:
|
||||||
|
秒数を表す整数。
|
||||||
|
|
||||||
|
Raises:
|
||||||
|
ValueError
|
||||||
|
`start` あるいは `offset` が正の数ではない場合
|
||||||
|
"""
|
||||||
|
if start < 0 or offset < 0:
|
||||||
|
raise ValueError('start and offset must be positive numbers.')
|
||||||
|
|
||||||
|
if not start:
|
||||||
|
start = time.time()
|
||||||
|
|
||||||
|
return int(start - offset)
|
||||||
|
```
|
||||||
|
|
||||||
|
# 例外
|
||||||
|
|
||||||
|
例外は例外的な状況を処理するために使われます。フローの制御のために使われるべきではありません。これは Python の「許しを請う」という規範からの逸脱です。例外をキャッチする場合、異常な状況を処理する必要があります。
|
||||||
|
|
||||||
|
何らかの理由で全ての例外のキャッチを使う場合は、cli.log を使って例外とスタックトレースを記録する必要があります。
|
||||||
|
|
||||||
|
try/except ブロックをできるだけ短くします。多数の try 文が必要な場合は、コードを再構成する必要があるかもしれません。
|
||||||
|
|
||||||
|
# タプル
|
||||||
|
|
||||||
|
1項目のタプルを定義する場合、タプルを使用していることが明らかになるように、常に末尾のカンマを含めます。暗黙的な1項目のタプルのアンパックに頼らないでください。明確なリストを使う方が良いです。
|
||||||
|
|
||||||
|
これはよく使用される printf 形式の書式文字列を使う場合に、特に重要です。
|
||||||
|
|
||||||
|
# リストと辞書
|
||||||
|
|
||||||
|
シーケンス形式と末尾のカンマとを区別するように YAPF を設定しました。末尾のカンマが省略されると、YAPF はシーケンスを1つの行として整形します。末尾のカンマがある場合、YAPF はシーケンスを1行1項目で整形します。
|
||||||
|
|
||||||
|
一般的に1行が短い定義になるようにすべきです。読みやすさと保守性を向上させるために、後からではなく早めに複数の行を分割してください。
|
||||||
|
|
||||||
|
# 括弧
|
||||||
|
|
||||||
|
過度な括弧は避けますが、括弧を使ってコードを理解しやすくします。タプルを明示的に返すか、あるいは数式の一部である場合を除き、return 文で括弧を使わないでください。
|
||||||
|
|
||||||
|
# 書式文字列
|
||||||
|
|
||||||
|
一般的に printf 形式の書式文字列を用います。例:
|
||||||
|
|
||||||
|
```
|
||||||
|
name = 'World'
|
||||||
|
print('Hello, %s!' % (name,))
|
||||||
|
```
|
||||||
|
|
||||||
|
このスタイルはログモジュールで使われており、私たちはそれを広範囲で利用しており、一貫性を保つために他の場所でも採用しています。これは、私たちの気まぐれな読者の大部分である C プログラマにもおなじみのスタイルです。
|
||||||
|
|
||||||
|
付属の CLI モジュールは、パーセント (%) 演算子を使わずにこれらを使うことをサポートしています。詳細は、`cli.echo()` と様々な `cli.log` 関数 (例えば、`cli.log.info()`) を見てください。
|
||||||
|
|
||||||
|
# 内包表記とジェネレータ表記
|
||||||
|
|
||||||
|
内包表記とジェネレータの自由な使用を推奨しますが、あまりに複雑にしないでください。複雑になる場合は、理解しやすい for ループで代替します。
|
||||||
|
|
||||||
|
# ラムダ
|
||||||
|
|
||||||
|
使っても問題ありませんが、おそらく避けるべきです。内包表記とジェネレータを使えば、ラムダの必要性は以前ほど強くありません。
|
||||||
|
|
||||||
|
# 条件式
|
||||||
|
|
||||||
|
変数の割り当てでは問題ありませんが、そうでなければ避けるべきです。
|
||||||
|
|
||||||
|
条件式はコードに続く if 文です。例えば:
|
||||||
|
|
||||||
|
```
|
||||||
|
x = 1 if cond else 2
|
||||||
|
```
|
||||||
|
|
||||||
|
一般にこれらを関数の引数、シーケンス項目などとして使用することはお勧めできません。見落としやすくなります。
|
||||||
|
|
||||||
|
# デフォルト引数
|
||||||
|
|
||||||
|
推奨されていますが、値は不変オブジェクトでなければなりません。
|
||||||
|
|
||||||
|
デフォルト値に引数リストを指定する場合は、その場で変更できないオブジェクトを指定するように常に注意してください。可変オブジェクトを使うと変更は呼び出しの間で持続しますが、これは通常あなたの望むものではありませんそれがあなたのやろうとしていることであっても、他の人にとっては混乱するもので理解を妨げます。
|
||||||
|
|
||||||
|
悪い:
|
||||||
|
|
||||||
|
```
|
||||||
|
def my_func(foo={}):
|
||||||
|
pass
|
||||||
|
```
|
||||||
|
|
||||||
|
良い:
|
||||||
|
|
||||||
|
```
|
||||||
|
def my_func(foo=None):
|
||||||
|
if not foo:
|
||||||
|
foo = {}
|
||||||
|
```
|
||||||
|
|
||||||
|
# プロパティ
|
||||||
|
|
||||||
|
getter および setter 関数の代わりにプロパティを常に使います。
|
||||||
|
|
||||||
|
```
|
||||||
|
class Foo(object):
|
||||||
|
def __init__(self):
|
||||||
|
self._bar = None
|
||||||
|
|
||||||
|
@property
|
||||||
|
def bar(self):
|
||||||
|
return self._bar
|
||||||
|
|
||||||
|
@bar.setter
|
||||||
|
def bar(self, bar):
|
||||||
|
self._bar = bar
|
||||||
|
```
|
||||||
|
|
||||||
|
# True/False の評価
|
||||||
|
|
||||||
|
一般的に、if 文で等価性を調べるのではなく、暗黙的な True/False 評価を行うべきです。
|
||||||
|
|
||||||
|
悪い:
|
||||||
|
|
||||||
|
```
|
||||||
|
if foo == True:
|
||||||
|
pass
|
||||||
|
|
||||||
|
if bar == False:
|
||||||
|
pass
|
||||||
|
```
|
||||||
|
|
||||||
|
良い:
|
||||||
|
|
||||||
|
```
|
||||||
|
if foo:
|
||||||
|
pass
|
||||||
|
|
||||||
|
if not bar:
|
||||||
|
pass
|
||||||
|
```
|
||||||
|
|
||||||
|
# デコレータ
|
||||||
|
|
||||||
|
適切な時に使ってください。理解に役立つ時を除き、魔法の(ように見える技巧の)使いすぎは避けるようにしてください。
|
||||||
|
|
||||||
|
# スレッドとマルチプロセス
|
||||||
|
|
||||||
|
避けるべきです。これが必要な場合は、私たちがコードをマージする前に十分な理由を述べる必要があります。
|
||||||
|
|
||||||
|
# 強力な機能
|
||||||
|
|
||||||
|
Python は非常に柔軟な言語で、独自のメタクラス、バイトコードへのアクセス、実行中コンパイル、動的な継承、オブジェクトの親の変更、インポートハック、リフレクション、システム内部の変更など、多くの素晴らしい機能を提供します。
|
||||||
|
|
||||||
|
これらを使わないでください。
|
||||||
|
|
||||||
|
パフォーマンスは私たちにとって重要な関心ごとではなく、コードのわかりやすさに関心があります。私たちは、コードベースを1日か2日しかいじっていない人が利用できるようにしたいです。これらの機能は一般的に理解のしやすさを犠牲にするため、より高速あるいはよりコンパクトなコードよりも、容易に理解できるコードの方が望ましいです。
|
||||||
|
|
||||||
|
一部の標準ライブラリモジュールはこれらの手法を使っており、これらのモジュールを利用しても問題ありません。ただし、それらを使う時には、読みやすさと理解のしやすさを忘れないでください。
|
||||||
|
|
||||||
|
# 型アノテーション付きコード
|
||||||
|
|
||||||
|
今のところ型アノテーションシステムを使っていないため、コードにアノテーションをつけないようにしてください。将来的にはこれを再検討する可能性があります。
|
||||||
|
|
||||||
|
# 関数の長さ
|
||||||
|
|
||||||
|
小さくて焦点のあった関数にしてください。
|
||||||
|
|
||||||
|
長い関数が時には適切であることを理解しているので、関数の長さには厳密な制限はありません。関数が約40行を超える場合は、プログラムの構造を損なわずに分割できるかどうかを検討してください。
|
||||||
|
|
||||||
|
今のところ長い関数が完全に機能するとしても、数か月でそれを変更する人が新しい挙動を追加するかもしれません。これにより見つけにくいバグが発生するかもしれません。関数を短くかつシンプルにすることで、他の人がコードを読んで修正しやすくします。
|
||||||
|
|
||||||
|
幾つかのコードで作業をすると、長く複雑な関数を見つけるかもしれません。既存コードを変更することを怖がらないでください: もし、難しいことが判明したり、エラーがデバッグしづらいとわかったり、いくつかの異なるコンテキストで一部を使いたいような関数を扱っている場合、関数を小さくてより扱いやすい単位に分割することを検討してください。
|
||||||
|
|
||||||
|
# FIXME
|
||||||
|
|
||||||
|
FIXME をコードに残しても構いません。なぜでしょうか?このコードを文章化しないままにするよりも、少なくとも考え抜く必要がある(あるいは混乱している)コードの一部を文章化するように奨励する方が、このコードを文章化しないままにするよりも良いです。
|
||||||
|
|
||||||
|
全ての FIXME は以下のように書式化されるべきです:
|
||||||
|
|
||||||
|
```
|
||||||
|
FIXME(username): 何々機能が完了したらこのコードを再検討する。
|
||||||
|
```
|
||||||
|
|
||||||
|
...username はあなたの GitHub のユーザ名です。
|
||||||
|
|
||||||
|
# テスト
|
||||||
|
|
||||||
|
統合テストと単体テストの組み合わせを使ってコードが可能な限りバグが無いようにします。全てのテストは `lib/python/qmk/tests/` にあります。`qmk pytest` を使って全てのテストを実行することができます。
|
||||||
|
|
||||||
|
これを書いている時点では、テストは全く完全なものではありません。現在のテストを見て、テストされていない状況のための新しいテストケースを書くことは、コードベースに精通し、QMK に貢献するという両方の点で素晴らしい方法です。
|
||||||
|
|
||||||
|
## 統合テスト
|
||||||
|
|
||||||
|
統合テストは `lib/python/qmk/tests/test_cli_commands.py` にあります。ここで実際に CLI コマンドが実行され、全体的な動作が検証されます。[`subprocess`](https://docs.python.org/3.6/library/subprocess.html#module-subprocess) を使って各 CLI コマンドを起動し、正しく動作するかを判断するために出力とリターンコードの組み合わせを使います。
|
||||||
|
|
||||||
|
## ユニットテスト
|
||||||
|
|
||||||
|
`lib/python/qmk/tests/` 内の他の `test_*.py` ファイルはユニットテストを含みます。`lib/python/qmk/` 内の個々の関数のテストをここに書くことができます。一般的にこれらのファイルはモジュールに基づいて名前を付けられ、ドットはアンダースコアで置き換えられます。
|
||||||
|
|
||||||
|
これを書いている時点では、テストのためのモックを作っていません。これを変更する手伝いをしたい場合は、[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)し、そこで会話を開始してください。
|
@ -22,6 +22,7 @@ To use these, simply `#include` the corresponding [header file](https://github.c
|
|||||||
|Estonian |`keymap_estonian.h` |
|
|Estonian |`keymap_estonian.h` |
|
||||||
|Finnish |`keymap_finnish.h` |
|
|Finnish |`keymap_finnish.h` |
|
||||||
|French |`keymap_french.h` |
|
|French |`keymap_french.h` |
|
||||||
|
|French (AFNOR) |`keymap_french_afnor.h` |
|
||||||
|French (BÉPO) |`keymap_bepo.h` |
|
|French (BÉPO) |`keymap_bepo.h` |
|
||||||
|French (Belgium) |`keymap_belgian.h` |
|
|French (Belgium) |`keymap_belgian.h` |
|
||||||
|French (Switzerland) |`keymap_fr_ch.h` |
|
|French (Switzerland) |`keymap_fr_ch.h` |
|
||||||
|
@ -12,7 +12,7 @@
|
|||||||
|
|
||||||
/* key matrix size */
|
/* key matrix size */
|
||||||
#define MATRIX_ROWS 5
|
#define MATRIX_ROWS 5
|
||||||
#define MATRIX_COLS 15
|
#define MATRIX_COLS 14
|
||||||
// ROWS: Top to bottom, COLS: Left to right
|
// ROWS: Top to bottom, COLS: Left to right
|
||||||
#define MATRIX_ROW_PINS {C2,D0,B0,C7,C5}
|
#define MATRIX_ROW_PINS {C2,D0,B0,C7,C5}
|
||||||
#define MATRIX_COL_PINS {C4,C6,B7,B6,B5,B4,B3,B2,B1,D6,D5,D4,D2,D1}
|
#define MATRIX_COL_PINS {C4,C6,B7,B6,B5,B4,B3,B2,B1,D6,D5,D4,D2,D1}
|
||||||
|
118
keyboards/acheron/shark/keymaps/ajp10304/readme.md
Normal file
118
keyboards/acheron/shark/keymaps/ajp10304/readme.md
Normal file
@ -0,0 +1,118 @@
|
|||||||
|
# AJP10304 Custom Shark Layout
|
||||||
|
# Also available for the Planck, JJ40 and Atreus50
|
||||||
|
|
||||||
|
**Note:** In the tables below where there are two characters on a key,
|
||||||
|
the second is the output when shift is applied.
|
||||||
|
|
||||||
|
**Note:** The below tables assume a UK layout.
|
||||||
|
|
||||||
|
#### Flashing
|
||||||
|
|
||||||
|
`make acheron/shark:ajp10304:flash`
|
||||||
|
|
||||||
|
##### Main Qwerty Layer
|
||||||
|
|
||||||
|
* Tab: when held, operates as shift.
|
||||||
|
* Enter: when held, operates as shift.
|
||||||
|
* MENU: perform right-click
|
||||||
|
|
||||||
|
| | | | | | | | | | | | |
|
||||||
|
| ---- |:----:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| ----:|
|
||||||
|
| Esc | Q | W | E | R | T | Y | U | I | O | P | Bksp |
|
||||||
|
| Tab | A | S | D | F | G | H | J | K | L | ;: | Enter|
|
||||||
|
| Shft | Z | X | C | V | B | N | M | ,< | .> | /? | Shft |
|
||||||
|
| Fn | Ctrl | Alt | GUI |Lower | Bksp |Space |Raise | Shift| MENU | Ctrl | Fn2 |
|
||||||
|
|
||||||
|
##### Function Layer
|
||||||
|
Activated when `fn` held in the above `qwerty` layer.
|
||||||
|
|
||||||
|
| | | | | | | | | | | | |
|
||||||
|
| :---: |:----:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:|
|
||||||
|
| F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 |
|
||||||
|
| 1! | 2" | 3£ | 4$ | 5% | 6^ | 7& | 8* | 9( | 0) | ~ |INSERT|
|
||||||
|
| Shift | \| | `¬ | #~ | * | -_ | =+ | \| | [{ | ]} | '@ |Shift |
|
||||||
|
| Fn | Ctrl | Alt | GUI |Lower | Bksp |Space |Mouse | MENU | Alt | Ctrl | Fn2 |
|
||||||
|
|
||||||
|
##### Lower Layer
|
||||||
|
Activated when `Lower` is held in the above `qwerty` layer.
|
||||||
|
|
||||||
|
* Numbers are along the top row, their shifted counterparts are on row 2.
|
||||||
|
* WrdBks: `backspace` with `ctrl` applied. I.e. delete a word.
|
||||||
|
* WrdDel: `delete` with `ctrl` applied. I.e. forward delete a word.
|
||||||
|
|
||||||
|
| | | | | | | | | | | | |
|
||||||
|
| :---: |:----:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:|
|
||||||
|
| 1! | 2" | 3£ | 4$ | 5% | 6^ | 7& | 8* | 9( | 0) | DEL | Bksp |
|
||||||
|
| ! | " | £ | $ | % | ^ | & | * | ( | ) |WrdDel|WrdBks|
|
||||||
|
| Shift | \| | `¬ | #~ | '@ | -_ | =+ | #~ | [{ | ]} | '@ |Shift |
|
||||||
|
| | | | |Lower | Del |Space | | Next | Vol- | Vol+ | Play |
|
||||||
|
|
||||||
|
##### Raise Layer
|
||||||
|
Activated when `Raise` is held in the above `qwerty` layer.
|
||||||
|
|
||||||
|
* Preferred layer for typing brackets.
|
||||||
|
* Allows for cursor navigation to be used solely with the right hand.
|
||||||
|
* WRDSEL: Select the word where the cursor is.
|
||||||
|
* |< and >|: Apply `ctrl` to `left` and `right` respectively for word jumping.
|
||||||
|
|
||||||
|
| | | | | | | | | | | | |
|
||||||
|
| :---: |:----:| :---:| :---:| :---:| :---:| :---: | :---:| :---:| :---:| :---: | :---:|
|
||||||
|
| ` | |WRDSEL| [ | ] | | | PGUP | HOME |PGDOWN| |PRNTSC|
|
||||||
|
| ` | | | ( | ) | | | HOME | UP | END | |ZOOM +|
|
||||||
|
| | | | { | } | ||<| LEFT | DOWN |RIGHT |>||ZOOM -|
|
||||||
|
| Mouse | | | | | Alt | Enter |Raise | | | | |
|
||||||
|
|
||||||
|
##### Lower + Raise
|
||||||
|
Activated when `Lower` and `Raise` are held together in the above `qwerty` layer.
|
||||||
|
|
||||||
|
* Audio controls in the same position as cursor keys from the `Raise` layer.
|
||||||
|
* ????: Runs a macro for outputting a text string. Do not use this store passwords.
|
||||||
|
* Reset: Enter bootloader for flashing firmware to the keyboard.
|
||||||
|
* CAPS: Toggle caps lock.
|
||||||
|
* Macro functions: Allows recording of macros. To start recording the macro, press either REC1 or REC2.
|
||||||
|
To finish the recording, press STOP. To replay the macro, press either PLAY1 or PLAY2.
|
||||||
|
* MAC: Toggle MAC OS extensions to layers. This allows MLWR to be enabled with LOWER,
|
||||||
|
MRSE with RAISE, MFNC with FUNC and MFNC2 with FUNC2 respectively.
|
||||||
|
|
||||||
|
| | | | | | | | | | | | |
|
||||||
|
| :---: |:----:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:|
|
||||||
|
| ???? | Reset|Qwerty| | | REC1 | REC2 | | | | | Del |
|
||||||
|
| CAPS | | | | | PLAY1|PLAY2 | Mute | Vol+ | Play | | |
|
||||||
|
| MAC | | | | | STOP1|STOP2 | Prev | Vol- | Next | | |
|
||||||
|
| | | | | | | | | DYN | | | |
|
||||||
|
|
||||||
|
##### Function 2 Layer
|
||||||
|
Activated when `fn` held in the above `qwerty` layer.
|
||||||
|
* WRDSEL: Select the word where the cursor is.
|
||||||
|
* LNDEL: Delete the line where the cursor is.
|
||||||
|
* LNSEL: Select the line where the cursor is.
|
||||||
|
* DUP: Duplicate the selected text.
|
||||||
|
* LNJOIN: Join the line where the cursor is with the following line.
|
||||||
|
* MODE: Print either `PC` or `OSX` depending on what layer mode is active.
|
||||||
|
|
||||||
|
| | | | | | | | | | | | |
|
||||||
|
| :---: | :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:|
|
||||||
|
| | |WRDSEL| | | | LNDEL| | | | | |
|
||||||
|
| | | LNSEL| DUP | | | | |LNJOIN| | | |
|
||||||
|
| | UNDO | CUT | COPY | PASTE| | | | | | | MODE |
|
||||||
|
| | | | | | | | | | | | |
|
||||||
|
|
||||||
|
##### Mouse Layer
|
||||||
|
Activated when `fn` and `raise` held together.
|
||||||
|
|
||||||
|
| | | | | | | | | | | | |
|
||||||
|
| :---: | :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:|
|
||||||
|
| ESC | | | | | | | | BTN3 | | | |
|
||||||
|
| ACC0 | ACC1 | ACC2 | | | | | BTN1 | UP | BTN2 | | |
|
||||||
|
| ACC0 | ACC1 | ACC2 | | | | | LEFT | DOWN | RIGHT| | |
|
||||||
|
| | | | | | | | | | | | |
|
||||||
|
|
||||||
|
##### Number Pad Layout
|
||||||
|
Activated when holding `Esc` key.
|
||||||
|
|
||||||
|
| | | | | | | | | | | | |
|
||||||
|
| :---: | :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:|
|
||||||
|
| | | | | | |NMLOCK| 7 | 8 | 9 | / | |
|
||||||
|
| | | | | | | | 4 | 5 | 6 | * | |
|
||||||
|
| | | | | | | | 1 | 2 | 3 | + | |
|
||||||
|
| | | | | | | | 0 | . | , | - | |
|
@ -53,4 +53,5 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||||||
#define RGBLIGHT_HUE_STEP 8
|
#define RGBLIGHT_HUE_STEP 8
|
||||||
#define RGBLIGHT_SAT_STEP 8
|
#define RGBLIGHT_SAT_STEP 8
|
||||||
#define RGBLIGHT_VAL_STEP 8
|
#define RGBLIGHT_VAL_STEP 8
|
||||||
|
#define RGBLIGHT_LIMIT_VAL 50
|
||||||
#endif
|
#endif
|
||||||
|
@ -22,6 +22,8 @@
|
|||||||
#include "astar.h"
|
#include "astar.h"
|
||||||
#elif KEYBOARD_atreus_astar_mirrored
|
#elif KEYBOARD_atreus_astar_mirrored
|
||||||
#include "astar_mirrored.h"
|
#include "astar_mirrored.h"
|
||||||
|
#elif KEYBOARD_atreus_feather
|
||||||
|
#include "feather.h"
|
||||||
#elif KEYBOARD_atreus_teensy2
|
#elif KEYBOARD_atreus_teensy2
|
||||||
#include "teensy2.h"
|
#include "teensy2.h"
|
||||||
#elif KEYBOARD_atreus_promicro
|
#elif KEYBOARD_atreus_promicro
|
||||||
|
40
keyboards/atreus/feather/config.h
Normal file
40
keyboards/atreus/feather/config.h
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
/* Copyright 2019
|
||||||
|
*
|
||||||
|
* 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"
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Keyboard Matrix Assignments
|
||||||
|
*
|
||||||
|
* Change this to how you wired your keyboard
|
||||||
|
* COLS: AVR pins used for columns, left to right
|
||||||
|
* ROWS: AVR pins used for rows, top to bottom
|
||||||
|
* DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
|
||||||
|
* ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
// #define MATRIX_ROW_PINS { D0, D1, D3, D2 }
|
||||||
|
// #define MATRIX_COL_PINS { D7, C6, B5, B4, E6, D4, B6, F6, F7, D6, B7 }
|
||||||
|
#define MATRIX_ROW_PINS { B7, D6, C7, F5 }
|
||||||
|
#define MATRIX_COL_PINS { D7, B5, D1, D0, C6, B6, F0, D2, D3, F4, F1 }
|
||||||
|
#define UNUSED_PINS
|
||||||
|
|
||||||
|
/* COL2ROW, ROW2COL*/
|
||||||
|
#define DIODE_DIRECTION COL2ROW
|
||||||
|
|
||||||
|
#define OUTPUT_AUTO_ENABLE
|
16
keyboards/atreus/feather/feather.c
Normal file
16
keyboards/atreus/feather/feather.c
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
/* Copyright 2019
|
||||||
|
*
|
||||||
|
* 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 "feather.h"
|
17
keyboards/atreus/feather/feather.h
Normal file
17
keyboards/atreus/feather/feather.h
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
/* Copyright 2019
|
||||||
|
*
|
||||||
|
* 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
|
60
keyboards/atreus/feather/readme.md
Normal file
60
keyboards/atreus/feather/readme.md
Normal file
@ -0,0 +1,60 @@
|
|||||||
|
# Bluetreus - a conversion of an Atreus to use a Bluetooth microcontroller
|
||||||
|
|
||||||
|
I have created a keymap for this with Bluetooth control on layer 2 so that you
|
||||||
|
can switch the keyboard between auto, USB only, and Bluetooth only. I'm
|
||||||
|
working on fixing turning on auto by default, but have still not succeeded.
|
||||||
|
|
||||||
|
To build it and flash it, do:
|
||||||
|
|
||||||
|
```
|
||||||
|
make atreus/feather:clash:flash
|
||||||
|
```
|
||||||
|
|
||||||
|
## Wiring it up
|
||||||
|
Physically, SDA to pin 13 on the new board are connected to what 9-1 were
|
||||||
|
connected to on the old board. Pin 0 from the old board is brought over to the
|
||||||
|
other side with a jumper wire to pin a2. TX, RX, A5, A4, A3 on the new board
|
||||||
|
connect to what a0 to 12 connected to on the old board. GND attaches to g.
|
||||||
|
You have to bend some of the pins at about a 45 degree angle to make them line up.
|
||||||
|
Here's a side view of what the most bent pins look like:
|
||||||
|

|
||||||
|
Here's a top view, USB port down, wireless antenna up. Note: the USB port orientation is opposite what it used to be.
|
||||||
|

|
||||||
|
|
||||||
|
### New board:
|
||||||
|
This is an [Adafruit Feather BLE](https://learn.adafruit.com/adafruit-feather-32u4-bluefruit-le/pinouts)
|
||||||
|
|
||||||
|
|QMK | Screen Print | Feather |SCREEN|QMK REF |
|
||||||
|
|----|--------------|-------------|------|---------|
|
||||||
|
| D1 | SDA | RADIO | dfu | |
|
||||||
|
| D0 | SCL | | 1/TX | D3 |
|
||||||
|
| C6 | 5 | | 0/RX | D2 |
|
||||||
|
| D7 | 6 | | MISO | B3/Blue |
|
||||||
|
| B5 | 9 | | MOSI | B2/Blue |
|
||||||
|
| B6 | 10 | | SCK | B1/Blue |
|
||||||
|
| B7 | 11 | | A5 | F0 |
|
||||||
|
| D6 | 12 | | a4 | F1 |
|
||||||
|
| C7 | 13 | | a3 | F4 |
|
||||||
|
| | usb | | a2 | F5 |
|
||||||
|
| | e0 | | a1 | F6 |
|
||||||
|
| | bat | | a0 | |
|
||||||
|
| | Battery | | GND | |
|
||||||
|
| | Connector | | ARf | |
|
||||||
|
| | | | | USB PORT | 3V | |
|
||||||
|
| | v v | | RST | |
|
||||||
|
|
||||||
|
### Old board:
|
||||||
|
This is an A Star, non-flipped
|
||||||
|
|
||||||
|
|QMK| Scrn | A | Scrn|QMK |
|
||||||
|
|---|------|-----|-----|----|
|
||||||
|
| b5| 9 | USB | a0 | F7 |
|
||||||
|
| b4| 8 | port| a1 | F6 |
|
||||||
|
| e6| 7 | | 10 | B6 |
|
||||||
|
| d7| 6 | | 11 | B7 |
|
||||||
|
| c6| 5 | | 12 | D6 |
|
||||||
|
| d4| 4 | | rst | RST|
|
||||||
|
| d0| 3 | | 3v | x |
|
||||||
|
| d1| 2 | | 5v | x |
|
||||||
|
| d3| 1 | | g | G |
|
||||||
|
| d2| 0 | | v | x |
|
21
keyboards/atreus/feather/rules.mk
Normal file
21
keyboards/atreus/feather/rules.mk
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
# MCU name
|
||||||
|
MCU = atmega32u4
|
||||||
|
|
||||||
|
# Processor frequency
|
||||||
|
F_CPU = 8000000
|
||||||
|
|
||||||
|
# Bootloader selection
|
||||||
|
# Teensy halfkay
|
||||||
|
# Pro Micro caterina
|
||||||
|
# Atmel DFU atmel-dfu
|
||||||
|
# LUFA DFU lufa-dfu
|
||||||
|
# QMK DFU qmk-dfu
|
||||||
|
# ATmega32A bootloadHID
|
||||||
|
# ATmega328P USBasp
|
||||||
|
BOOTLOADER = caterina
|
||||||
|
|
||||||
|
# Build Options
|
||||||
|
# change yes to no to disable
|
||||||
|
#
|
||||||
|
BLUETOOTH = AdafruitBLE
|
||||||
|
CONSOLE_ENABLE = no
|
41
keyboards/atreus/keymaps/clash/keymap.c
Normal file
41
keyboards/atreus/keymaps/clash/keymap.c
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
#include QMK_KEYBOARD_H
|
||||||
|
|
||||||
|
// Each layer gets a name for readability, which is then used in the keymap matrix below.
|
||||||
|
// The underscores don't mean anything - you can have a layer called STUFF or any other name.
|
||||||
|
// Layer names don't all need to be of the same length, obviously, and you can also skip them
|
||||||
|
// entirely and just use numbers.
|
||||||
|
#define _QW 0
|
||||||
|
#define _RS 1
|
||||||
|
#define _LW 2
|
||||||
|
|
||||||
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
[_QW] = LAYOUT( /* Qwerty */
|
||||||
|
KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P ,
|
||||||
|
KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN ,
|
||||||
|
KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH ,
|
||||||
|
KC_ESC, KC_TAB, KC_LGUI, KC_LSFT, KC_BSPC, KC_LCTL, KC_LALT, KC_SPC, MO(_RS), KC_MINS, KC_QUOT, KC_ENT
|
||||||
|
),
|
||||||
|
|
||||||
|
/*
|
||||||
|
* ! @ up { } || pgup 7 8 9 *
|
||||||
|
* # left down right $ || pgdn 4 5 6 +
|
||||||
|
* [ ] ( ) & || ` 1 2 3 \
|
||||||
|
* lower insert super shift del ctrl || alt space fn . 0 =
|
||||||
|
*/
|
||||||
|
[_RS] = LAYOUT( /* [> RAISE <] */
|
||||||
|
KC_EXLM, KC_AT, KC_UP, KC_LCBR, KC_RCBR, KC_PGUP, KC_7, KC_8, KC_9, KC_ASTR ,
|
||||||
|
KC_HASH, KC_LEFT, KC_DOWN, KC_RGHT, KC_DLR, KC_PGDN, KC_4, KC_5, KC_6, KC_PLUS ,
|
||||||
|
KC_LBRC, KC_RBRC, KC_LPRN, KC_RPRN, KC_AMPR, KC_GRV, KC_1, KC_2, KC_3, KC_BSLS ,
|
||||||
|
TG(_LW), KC_INS, KC_LGUI, KC_LSFT, KC_DEL, KC_LCTL, KC_LALT, KC_SPC, KC_TRNS, KC_DOT, KC_0, KC_EQL ),
|
||||||
|
/*
|
||||||
|
* insert home mup end pgup || mouse1 F7 F8 F9 F10
|
||||||
|
* USB mlft mdwn mrght pgdn || mouse2 F4 F5 F6 F11
|
||||||
|
* Blue volup reset || mouse3 F1 F2 F3 F12
|
||||||
|
* auto voldn super shift bksp ctrl || alt space L0 prtsc scroll pause
|
||||||
|
*/
|
||||||
|
[_LW] = LAYOUT( /* [> LOWER <] */
|
||||||
|
KC_INS, KC_HOME, KC_MS_U, KC_END, KC_PGUP, KC_BTN1, KC_F7, KC_F8, KC_F9, KC_F10 ,
|
||||||
|
OUT_USB, KC_MS_L, KC_MS_D, KC_MS_R, KC_PGDN, KC_BTN2, KC_F4, KC_F5, KC_F6, KC_F11 ,
|
||||||
|
OUT_BT, KC_VOLU, KC_NO, KC_NO, RESET, KC_BTN3, KC_F1, KC_F2, KC_F3, KC_F12 ,
|
||||||
|
OUT_AUTO, KC_VOLD, KC_LGUI, KC_LSFT, KC_BSPC, KC_LCTL, KC_LALT, KC_SPC, TO(_QW), KC_PSCR, KC_SLCK, KC_PAUS )
|
||||||
|
};
|
50
keyboards/bioi/g60ble/config.h
Normal file
50
keyboards/bioi/g60ble/config.h
Normal file
@ -0,0 +1,50 @@
|
|||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include "config_common.h"
|
||||||
|
|
||||||
|
/* USB Device descriptor parameter */
|
||||||
|
#define VENDOR_ID 0x6583
|
||||||
|
#define PRODUCT_ID 0x6080
|
||||||
|
#define DEVICE_VER 0x0001
|
||||||
|
#define MANUFACTURER Basic IO Instruments
|
||||||
|
#define PRODUCT BIOI G60 BLE
|
||||||
|
#define DESCRIPTION BIOI G60 BLE
|
||||||
|
|
||||||
|
/* key matrix size */
|
||||||
|
#define MATRIX_ROWS 5
|
||||||
|
#define MATRIX_COLS 14
|
||||||
|
|
||||||
|
/* key matrix pins */
|
||||||
|
#define MATRIX_ROW_PINS \
|
||||||
|
{ E6, B0, F1, F5, F4 }
|
||||||
|
#define MATRIX_COL_PINS \
|
||||||
|
{ F6, F7, B3, C7, C6, B6, B5, D5, B4, D7, D6, D4, D1, D0 }
|
||||||
|
#define UNUSED_PINS
|
||||||
|
|
||||||
|
/* COL2ROW or ROW2COL */
|
||||||
|
#define DIODE_DIRECTION COL2ROW
|
||||||
|
|
||||||
|
/* number of backlight levels */
|
||||||
|
#define BACKLIGHT_PIN B7
|
||||||
|
#ifdef BACKLIGHT_PIN
|
||||||
|
# define BACKLIGHT_LEVELS 8
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* Set 0 if debouncing isn't needed */
|
||||||
|
#define DEBOUNCE 5
|
||||||
|
|
||||||
|
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
|
||||||
|
#define LOCKING_SUPPORT_ENABLE
|
||||||
|
|
||||||
|
/* Locking resynchronize hack */
|
||||||
|
#define LOCKING_RESYNC_ENABLE
|
||||||
|
|
||||||
|
#define RGB_DI_PIN B1
|
||||||
|
#define RGBLIGHT_ANIMATIONS
|
||||||
|
#define RGBLED_NUM 36
|
||||||
|
#define RGBLIGHT_HUE_STEP 8
|
||||||
|
#define RGBLIGHT_SAT_STEP 8
|
||||||
|
#define RGBLIGHT_VAL_STEP 8
|
||||||
|
|
||||||
|
#define KEYBOARD_LOCK_ENABLE
|
||||||
|
#define MAGIC_KEY_LOCK L
|
89
keyboards/bioi/g60ble/g60ble.h
Normal file
89
keyboards/bioi/g60ble/g60ble.h
Normal file
@ -0,0 +1,89 @@
|
|||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include "quantum.h"
|
||||||
|
|
||||||
|
#define XXX KC_NO
|
||||||
|
|
||||||
|
#define LAYOUT_all( \
|
||||||
|
K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K49, \
|
||||||
|
K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \
|
||||||
|
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, K47, K3D, K3C, \
|
||||||
|
K40, K41, K42, K45, K4A, K4B, K48, K4C, K4D \
|
||||||
|
) { \
|
||||||
|
{ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D }, \
|
||||||
|
{ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D }, \
|
||||||
|
{ 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 }, \
|
||||||
|
{ K40, K41, K42, XXX, XXX, K45, XXX, K47, K48, K49, K4A, K4B, K4C, K4D } \
|
||||||
|
}
|
||||||
|
|
||||||
|
#define LAYOUT_60_ansi( \
|
||||||
|
K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, \
|
||||||
|
K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \
|
||||||
|
K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2D, \
|
||||||
|
K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, \
|
||||||
|
K40, K41, K42, K45, K4A, K4B, K4C, K4D \
|
||||||
|
) { \
|
||||||
|
{ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D }, \
|
||||||
|
{ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D }, \
|
||||||
|
{ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, XXX, K2D }, \
|
||||||
|
{ K30, XXX, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, XXX, K3D }, \
|
||||||
|
{ K40, K41, K42, XXX, XXX, K45, XXX, XXX, XXX, XXX, K4A, K4B, K4C, K4D } \
|
||||||
|
}
|
||||||
|
|
||||||
|
#define LAYOUT_60_iso( \
|
||||||
|
K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, \
|
||||||
|
K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, \
|
||||||
|
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, K3D, \
|
||||||
|
K40, K41, K42, K45, K4A, K4B, K4C, K4D \
|
||||||
|
) { \
|
||||||
|
{ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D }, \
|
||||||
|
{ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, XXX }, \
|
||||||
|
{ 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, XXX, K3D }, \
|
||||||
|
{ K40, K41, K42, XXX, XXX, K45, XXX, XXX, XXX, XXX, K4A, K4B, K4C, K4D } \
|
||||||
|
}
|
||||||
|
|
||||||
|
#define LAYOUT_60_hhkb( \
|
||||||
|
K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K49, \
|
||||||
|
K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \
|
||||||
|
K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, \
|
||||||
|
K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, K3C, \
|
||||||
|
K41, K42, K45, K4B, K4C \
|
||||||
|
) { \
|
||||||
|
{ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D }, \
|
||||||
|
{ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D }, \
|
||||||
|
{ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, XXX }, \
|
||||||
|
{ K30, XXX, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D }, \
|
||||||
|
{ XXX, K41, K42, XXX, XXX, K45, XXX, XXX, XXX, K49, XXX, K4B, K4C, XXX } \
|
||||||
|
}
|
||||||
|
|
||||||
|
#define LAYOUT_60_ansi_split_bs_rshift( \
|
||||||
|
K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K49, \
|
||||||
|
K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \
|
||||||
|
K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2D, \
|
||||||
|
K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, K3C, \
|
||||||
|
K40, K41, K42, K45, K4A, K4B, K4C, K4D \
|
||||||
|
) { \
|
||||||
|
{ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D }, \
|
||||||
|
{ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D }, \
|
||||||
|
{ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, XXX, K2D }, \
|
||||||
|
{ K30, XXX, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D }, \
|
||||||
|
{ K40, K41, K42, XXX, XXX, K45, XXX, XXX, XXX, K49, K4A, K4B, K4C, K4D } \
|
||||||
|
}
|
||||||
|
|
||||||
|
#define LAYOUT_60_tsangan_hhkb( \
|
||||||
|
K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K49,\
|
||||||
|
K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \
|
||||||
|
K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2D, \
|
||||||
|
K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, K3C, \
|
||||||
|
K40, K41, K42, K45, K4B, K4C, K4D \
|
||||||
|
) { \
|
||||||
|
{ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D }, \
|
||||||
|
{ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D }, \
|
||||||
|
{ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, XXX, K2D }, \
|
||||||
|
{ K30, XXX, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D }, \
|
||||||
|
{ K40, K41, K42, XXX, XXX, K45, XXX, XXX, XXX, K49, XXX, K4B, K4C, K4D } \
|
||||||
|
}
|
414
keyboards/bioi/g60ble/info.json
Normal file
414
keyboards/bioi/g60ble/info.json
Normal file
@ -0,0 +1,414 @@
|
|||||||
|
{
|
||||||
|
"keyboard_name": "BIOI G60 BLE",
|
||||||
|
"url": "",
|
||||||
|
"maintainer": "qmk",
|
||||||
|
"width": 15,
|
||||||
|
"height": 5,
|
||||||
|
"layouts": {
|
||||||
|
"LAYOUT_all": {
|
||||||
|
"key_count": 67,
|
||||||
|
"layout": [
|
||||||
|
{ "label": "Esc", "x": 0, "y": 0 },
|
||||||
|
{ "label": "!", "x": 1, "y": 0 },
|
||||||
|
{ "label": "@", "x": 2, "y": 0 },
|
||||||
|
{ "label": "#", "x": 3, "y": 0 },
|
||||||
|
{ "label": "$", "x": 4, "y": 0 },
|
||||||
|
{ "label": "%", "x": 5, "y": 0 },
|
||||||
|
{ "label": "^", "x": 6, "y": 0 },
|
||||||
|
{ "label": "&", "x": 7, "y": 0 },
|
||||||
|
{ "label": "*", "x": 8, "y": 0 },
|
||||||
|
{ "label": "(", "x": 9, "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": "Tab", "x": 0, "y": 1, "w": 1.5 },
|
||||||
|
{ "label": "Q", "x": 1.5, "y": 1 },
|
||||||
|
{ "label": "W", "x": 2.5, "y": 1 },
|
||||||
|
{ "label": "E", "x": 3.5, "y": 1 },
|
||||||
|
{ "label": "R", "x": 4.5, "y": 1 },
|
||||||
|
{ "label": "T", "x": 5.5, "y": 1 },
|
||||||
|
{ "label": "Y", "x": 6.5, "y": 1 },
|
||||||
|
{ "label": "U", "x": 7.5, "y": 1 },
|
||||||
|
{ "label": "I", "x": 8.5, "y": 1 },
|
||||||
|
{ "label": "O", "x": 9.5, "y": 1 },
|
||||||
|
{ "label": "P", "x": 10.5, "y": 1 },
|
||||||
|
{ "label": "{", "x": 11.5, "y": 1 },
|
||||||
|
{ "label": "}", "x": 12.5, "y": 1 },
|
||||||
|
{ "label": "Backspace", "x": 13.5, "y": 1, "w": 1.5 },
|
||||||
|
{ "label": "Ctrl", "x": 0, "y": 2, "w": 1.75 },
|
||||||
|
{ "label": "A", "x": 1.75, "y": 2 },
|
||||||
|
{ "label": "S", "x": 2.75, "y": 2 },
|
||||||
|
{ "label": "D", "x": 3.75, "y": 2 },
|
||||||
|
{ "label": "F", "x": 4.75, "y": 2 },
|
||||||
|
{ "label": "G", "x": 5.75, "y": 2 },
|
||||||
|
{ "label": "H", "x": 6.75, "y": 2 },
|
||||||
|
{ "label": "J", "x": 7.75, "y": 2 },
|
||||||
|
{ "label": "K", "x": 8.75, "y": 2 },
|
||||||
|
{ "label": "L", "x": 9.75, "y": 2 },
|
||||||
|
{ "label": ":", "x": 10.75, "y": 2 },
|
||||||
|
{ "label": "\"", "x": 11.75, "y": 2 },
|
||||||
|
{ "label": "~", "x": 12.75, "y": 2 },
|
||||||
|
{ "label": "Enter", "x": 13.75, "y": 2, "w": 1.25 },
|
||||||
|
{ "label": "Shift", "x": 0, "y": 3 },
|
||||||
|
{ "label": "|", "x": 1, "y": 3 },
|
||||||
|
{ "label": "Z", "x": 2, "y": 3 },
|
||||||
|
{ "label": "X", "x": 3, "y": 3 },
|
||||||
|
{ "label": "C", "x": 4, "y": 3 },
|
||||||
|
{ "label": "V", "x": 5, "y": 3 },
|
||||||
|
{ "label": "B", "x": 6, "y": 3 },
|
||||||
|
{ "label": "N", "x": 7, "y": 3 },
|
||||||
|
{ "label": "M", "x": 8, "y": 3 },
|
||||||
|
{ "label": "<", "x": 9, "y": 3 },
|
||||||
|
{ "label": ">", "x": 10, "y": 3 },
|
||||||
|
{ "label": "?", "x": 11, "y": 3 },
|
||||||
|
{ "label": "Up", "x": 12, "y": 3 },
|
||||||
|
{ "label": "Shift", "x": 13, "y": 3 },
|
||||||
|
{ "label": "Fn", "x": 14, "y": 3 },
|
||||||
|
{ "label": "Ctrl", "x": 0, "y": 4, "w": 1.25 },
|
||||||
|
{ "label": "Alt", "x": 1.25, "y": 4, "w": 1.25 },
|
||||||
|
{ "label": "OS", "x": 2.5, "y": 4, "w": 1.25 },
|
||||||
|
{ "x": 3.75, "y": 4, "w": 6.25 },
|
||||||
|
{ "label": "OS", "x": 10, "y": 4 },
|
||||||
|
{ "label": "Alt", "x": 11, "y": 4 },
|
||||||
|
{ "label": "Left", "x": 12, "y": 4 },
|
||||||
|
{ "label": "Menu", "x": 13, "y": 4 },
|
||||||
|
{ "label": "Ctrl", "x": 14, "y": 4 }
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"LAYOUT_60_ansi": {
|
||||||
|
"key_count": 61,
|
||||||
|
"layout": [
|
||||||
|
{ "label": "~", "x": 0, "y": 0 },
|
||||||
|
{ "label": "!", "x": 1, "y": 0 },
|
||||||
|
{ "label": "@", "x": 2, "y": 0 },
|
||||||
|
{ "label": "#", "x": 3, "y": 0 },
|
||||||
|
{ "label": "$", "x": 4, "y": 0 },
|
||||||
|
{ "label": "%", "x": 5, "y": 0 },
|
||||||
|
{ "label": "^", "x": 6, "y": 0 },
|
||||||
|
{ "label": "&", "x": 7, "y": 0 },
|
||||||
|
{ "label": "*", "x": 8, "y": 0 },
|
||||||
|
{ "label": "(", "x": 9, "y": 0 },
|
||||||
|
{ "label": ")", "x": 10, "y": 0 },
|
||||||
|
{ "label": "_", "x": 11, "y": 0 },
|
||||||
|
{ "label": "+", "x": 12, "y": 0 },
|
||||||
|
{ "label": "Backspace", "x": 13, "y": 0, "w": 2 },
|
||||||
|
{ "label": "Tab", "x": 0, "y": 1, "w": 1.5 },
|
||||||
|
{ "label": "Q", "x": 1.5, "y": 1 },
|
||||||
|
{ "label": "W", "x": 2.5, "y": 1 },
|
||||||
|
{ "label": "E", "x": 3.5, "y": 1 },
|
||||||
|
{ "label": "R", "x": 4.5, "y": 1 },
|
||||||
|
{ "label": "T", "x": 5.5, "y": 1 },
|
||||||
|
{ "label": "Y", "x": 6.5, "y": 1 },
|
||||||
|
{ "label": "U", "x": 7.5, "y": 1 },
|
||||||
|
{ "label": "I", "x": 8.5, "y": 1 },
|
||||||
|
{ "label": "O", "x": 9.5, "y": 1 },
|
||||||
|
{ "label": "P", "x": 10.5, "y": 1 },
|
||||||
|
{ "label": "{", "x": 11.5, "y": 1 },
|
||||||
|
{ "label": "}", "x": 12.5, "y": 1 },
|
||||||
|
{ "label": "|", "x": 13.5, "y": 1, "w": 1.5 },
|
||||||
|
{ "label": "CapsLock", "x": 0, "y": 2, "w": 1.75 },
|
||||||
|
{ "label": "A", "x": 1.75, "y": 2 },
|
||||||
|
{ "label": "S", "x": 2.75, "y": 2 },
|
||||||
|
{ "label": "D", "x": 3.75, "y": 2 },
|
||||||
|
{ "label": "F", "x": 4.75, "y": 2 },
|
||||||
|
{ "label": "G", "x": 5.75, "y": 2 },
|
||||||
|
{ "label": "H", "x": 6.75, "y": 2 },
|
||||||
|
{ "label": "J", "x": 7.75, "y": 2 },
|
||||||
|
{ "label": "K", "x": 8.75, "y": 2 },
|
||||||
|
{ "label": "L", "x": 9.75, "y": 2 },
|
||||||
|
{ "label": ":", "x": 10.75, "y": 2 },
|
||||||
|
{ "label": "\"", "x": 11.75, "y": 2 },
|
||||||
|
{ "label": "Enter", "x": 12.75, "y": 2, "w": 2.25 },
|
||||||
|
{ "label": "Shift", "x": 0, "y": 3, "w": 2.25 },
|
||||||
|
{ "label": "Z", "x": 2.25, "y": 3 },
|
||||||
|
{ "label": "X", "x": 3.25, "y": 3 },
|
||||||
|
{ "label": "C", "x": 4.25, "y": 3 },
|
||||||
|
{ "label": "V", "x": 5.25, "y": 3 },
|
||||||
|
{ "label": "B", "x": 6.25, "y": 3 },
|
||||||
|
{ "label": "N", "x": 7.25, "y": 3 },
|
||||||
|
{ "label": "M", "x": 8.25, "y": 3 },
|
||||||
|
{ "label": "<", "x": 9.25, "y": 3 },
|
||||||
|
{ "label": ">", "x": 10.25, "y": 3 },
|
||||||
|
{ "label": "?", "x": 11.25, "y": 3 },
|
||||||
|
{ "label": "Shift", "x": 12.25, "y": 3, "w": 2.75 },
|
||||||
|
{ "label": "Ctrl", "x": 0, "y": 4, "w": 1.25 },
|
||||||
|
{ "label": "Win", "x": 1.25, "y": 4, "w": 1.25 },
|
||||||
|
{ "label": "Alt", "x": 2.5, "y": 4, "w": 1.25 },
|
||||||
|
{ "x": 3.75, "y": 4, "w": 6.25 },
|
||||||
|
{ "label": "Alt", "x": 10, "y": 4, "w": 1.25 },
|
||||||
|
{ "label": "Win", "x": 11.25, "y": 4, "w": 1.25 },
|
||||||
|
{ "label": "Menu", "x": 12.5, "y": 4, "w": 1.25 },
|
||||||
|
{ "label": "Ctrl", "x": 13.75, "y": 4, "w": 1.25 }
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"LAYOUT_60_iso": {
|
||||||
|
"key_count": 62,
|
||||||
|
"layout": [
|
||||||
|
{ "label": "¬", "x": 0, "y": 0 },
|
||||||
|
{ "label": "!", "x": 1, "y": 0 },
|
||||||
|
{ "label": "\"", "x": 2, "y": 0 },
|
||||||
|
{ "label": "£", "x": 3, "y": 0 },
|
||||||
|
{ "label": "$", "x": 4, "y": 0 },
|
||||||
|
{ "label": "%", "x": 5, "y": 0 },
|
||||||
|
{ "label": "^", "x": 6, "y": 0 },
|
||||||
|
{ "label": "&", "x": 7, "y": 0 },
|
||||||
|
{ "label": "*", "x": 8, "y": 0 },
|
||||||
|
{ "label": "(", "x": 9, "y": 0 },
|
||||||
|
{ "label": ")", "x": 10, "y": 0 },
|
||||||
|
{ "label": "_", "x": 11, "y": 0 },
|
||||||
|
{ "label": "+", "x": 12, "y": 0 },
|
||||||
|
{ "label": "Backspace", "x": 13, "y": 0, "w": 2 },
|
||||||
|
{ "label": "Tab", "x": 0, "y": 1, "w": 1.5 },
|
||||||
|
{ "label": "Q", "x": 1.5, "y": 1 },
|
||||||
|
{ "label": "W", "x": 2.5, "y": 1 },
|
||||||
|
{ "label": "E", "x": 3.5, "y": 1 },
|
||||||
|
{ "label": "R", "x": 4.5, "y": 1 },
|
||||||
|
{ "label": "T", "x": 5.5, "y": 1 },
|
||||||
|
{ "label": "Y", "x": 6.5, "y": 1 },
|
||||||
|
{ "label": "U", "x": 7.5, "y": 1 },
|
||||||
|
{ "label": "I", "x": 8.5, "y": 1 },
|
||||||
|
{ "label": "O", "x": 9.5, "y": 1 },
|
||||||
|
{ "label": "P", "x": 10.5, "y": 1 },
|
||||||
|
{ "label": "{", "x": 11.5, "y": 1 },
|
||||||
|
{ "label": "}", "x": 12.5, "y": 1 },
|
||||||
|
{ "label": "CapsLock", "x": 0, "y": 2, "w": 1.75 },
|
||||||
|
{ "label": "A", "x": 1.75, "y": 2 },
|
||||||
|
{ "label": "S", "x": 2.75, "y": 2 },
|
||||||
|
{ "label": "D", "x": 3.75, "y": 2 },
|
||||||
|
{ "label": "F", "x": 4.75, "y": 2 },
|
||||||
|
{ "label": "G", "x": 5.75, "y": 2 },
|
||||||
|
{ "label": "H", "x": 6.75, "y": 2 },
|
||||||
|
{ "label": "J", "x": 7.75, "y": 2 },
|
||||||
|
{ "label": "K", "x": 8.75, "y": 2 },
|
||||||
|
{ "label": "L", "x": 9.75, "y": 2 },
|
||||||
|
{ "label": ":", "x": 10.75, "y": 2 },
|
||||||
|
{ "label": "@", "x": 11.75, "y": 2 },
|
||||||
|
{ "label": "~", "x": 12.75, "y": 2 },
|
||||||
|
{ "label": "Enter", "x": 13.75, "y": 1, "w": 1.25, "h": 2 },
|
||||||
|
{ "label": "Shift", "x": 0, "y": 3, "w": 1.25 },
|
||||||
|
{ "label": "|", "x": 1.25, "y": 3 },
|
||||||
|
{ "label": "Z", "x": 2.25, "y": 3 },
|
||||||
|
{ "label": "X", "x": 3.25, "y": 3 },
|
||||||
|
{ "label": "C", "x": 4.25, "y": 3 },
|
||||||
|
{ "label": "V", "x": 5.25, "y": 3 },
|
||||||
|
{ "label": "B", "x": 6.25, "y": 3 },
|
||||||
|
{ "label": "N", "x": 7.25, "y": 3 },
|
||||||
|
{ "label": "M", "x": 8.25, "y": 3 },
|
||||||
|
{ "label": "<", "x": 9.25, "y": 3 },
|
||||||
|
{ "label": ">", "x": 10.25, "y": 3 },
|
||||||
|
{ "label": "?", "x": 11.25, "y": 3 },
|
||||||
|
{ "label": "Shift", "x": 12.25, "y": 3, "w": 2.75 },
|
||||||
|
{ "label": "Ctrl", "x": 0, "y": 4, "w": 1.25 },
|
||||||
|
{ "label": "Win", "x": 1.25, "y": 4, "w": 1.25 },
|
||||||
|
{ "label": "Alt", "x": 2.5, "y": 4, "w": 1.25 },
|
||||||
|
{ "x": 3.75, "y": 4, "w": 6.25 },
|
||||||
|
{ "label": "AltGr", "x": 10, "y": 4, "w": 1.25 },
|
||||||
|
{ "label": "Win", "x": 11.25, "y": 4, "w": 1.25 },
|
||||||
|
{ "label": "Menu", "x": 12.5, "y": 4, "w": 1.25 },
|
||||||
|
{ "label": "Ctrl", "x": 13.75, "y": 4, "w": 1.25 }
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"LAYOUT_60_hhkb": {
|
||||||
|
"key_count": 60,
|
||||||
|
"layout": [
|
||||||
|
{ "label": "Esc", "x": 0, "y": 0 },
|
||||||
|
{ "label": "1", "x": 1, "y": 0 },
|
||||||
|
{ "label": "2", "x": 2, "y": 0 },
|
||||||
|
{ "label": "3", "x": 3, "y": 0 },
|
||||||
|
{ "label": "4", "x": 4, "y": 0 },
|
||||||
|
{ "label": "5", "x": 5, "y": 0 },
|
||||||
|
{ "label": "6", "x": 6, "y": 0 },
|
||||||
|
{ "label": "7", "x": 7, "y": 0 },
|
||||||
|
{ "label": "8", "x": 8, "y": 0 },
|
||||||
|
{ "label": "9", "x": 9, "y": 0 },
|
||||||
|
{ "label": "0", "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": "Tab", "x": 0, "y": 1, "w": 1.5 },
|
||||||
|
{ "label": "Q", "x": 1.5, "y": 1 },
|
||||||
|
{ "label": "W", "x": 2.5, "y": 1 },
|
||||||
|
{ "label": "E", "x": 3.5, "y": 1 },
|
||||||
|
{ "label": "R", "x": 4.5, "y": 1 },
|
||||||
|
{ "label": "T", "x": 5.5, "y": 1 },
|
||||||
|
{ "label": "Y", "x": 6.5, "y": 1 },
|
||||||
|
{ "label": "U", "x": 7.5, "y": 1 },
|
||||||
|
{ "label": "I", "x": 8.5, "y": 1 },
|
||||||
|
{ "label": "O", "x": 9.5, "y": 1 },
|
||||||
|
{ "label": "P", "x": 10.5, "y": 1 },
|
||||||
|
{ "label": "[", "x": 11.5, "y": 1 },
|
||||||
|
{ "label": "]", "x": 12.5, "y": 1 },
|
||||||
|
{ "label": "Backspace", "x": 13.5, "y": 1, "w": 1.5 },
|
||||||
|
{ "label": "Control", "x": 0, "y": 2, "w": 1.75 },
|
||||||
|
{ "label": "A", "x": 1.75, "y": 2 },
|
||||||
|
{ "label": "S", "x": 2.75, "y": 2 },
|
||||||
|
{ "label": "D", "x": 3.75, "y": 2 },
|
||||||
|
{ "label": "F", "x": 4.75, "y": 2 },
|
||||||
|
{ "label": "G", "x": 5.75, "y": 2 },
|
||||||
|
{ "label": "H", "x": 6.75, "y": 2 },
|
||||||
|
{ "label": "J", "x": 7.75, "y": 2 },
|
||||||
|
{ "label": "K", "x": 8.75, "y": 2 },
|
||||||
|
{ "label": "L", "x": 9.75, "y": 2 },
|
||||||
|
{ "label": ";", "x": 10.75, "y": 2 },
|
||||||
|
{ "label": "'", "x": 11.75, "y": 2 },
|
||||||
|
{ "label": "Enter", "x": 12.75, "y": 2, "w": 2.25 },
|
||||||
|
{ "label": "Shift", "x": 0, "y": 3, "w": 2.25 },
|
||||||
|
{ "label": "Z", "x": 2.25, "y": 3 },
|
||||||
|
{ "label": "X", "x": 3.25, "y": 3 },
|
||||||
|
{ "label": "C", "x": 4.25, "y": 3 },
|
||||||
|
{ "label": "V", "x": 5.25, "y": 3 },
|
||||||
|
{ "label": "B", "x": 6.25, "y": 3 },
|
||||||
|
{ "label": "N", "x": 7.25, "y": 3 },
|
||||||
|
{ "label": "M", "x": 8.25, "y": 3 },
|
||||||
|
{ "label": ",", "x": 9.25, "y": 3 },
|
||||||
|
{ "label": ".", "x": 10.25, "y": 3 },
|
||||||
|
{ "label": "/", "x": 11.25, "y": 3 },
|
||||||
|
{ "label": "Shift", "x": 12.25, "y": 3, "w": 1.75 },
|
||||||
|
{ "label": "Fn", "x": 14, "y": 3 },
|
||||||
|
{ "label": "Os", "x": 1.5, "y": 4 },
|
||||||
|
{ "label": "Alt", "x": 2.5, "y": 4, "w": 1.5 },
|
||||||
|
{ "x": 4, "y": 4, "w": 7 },
|
||||||
|
{ "label": "Alt", "x": 11, "y": 4, "w": 1.5 },
|
||||||
|
{ "label": "Os", "x": 12.5, "y": 4 }
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"LAYOUT_60_ansi_split_bs_rshift": {
|
||||||
|
"key_count": 63,
|
||||||
|
"layout": [
|
||||||
|
{ "label": "ESC", "x": 0, "y": 0 },
|
||||||
|
{ "label": "!", "x": 1, "y": 0 },
|
||||||
|
{ "label": "@", "x": 2, "y": 0 },
|
||||||
|
{ "label": "#", "x": 3, "y": 0 },
|
||||||
|
{ "label": "$", "x": 4, "y": 0 },
|
||||||
|
{ "label": "%", "x": 5, "y": 0 },
|
||||||
|
{ "label": "^", "x": 6, "y": 0 },
|
||||||
|
{ "label": "&", "x": 7, "y": 0 },
|
||||||
|
{ "label": "*", "x": 8, "y": 0 },
|
||||||
|
{ "label": "(", "x": 9, "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": "Tab", "x": 0, "y": 1, "w": 1.5 },
|
||||||
|
{ "label": "Q", "x": 1.5, "y": 1 },
|
||||||
|
{ "label": "W", "x": 2.5, "y": 1 },
|
||||||
|
{ "label": "E", "x": 3.5, "y": 1 },
|
||||||
|
{ "label": "R", "x": 4.5, "y": 1 },
|
||||||
|
{ "label": "T", "x": 5.5, "y": 1 },
|
||||||
|
{ "label": "Y", "x": 6.5, "y": 1 },
|
||||||
|
{ "label": "U", "x": 7.5, "y": 1 },
|
||||||
|
{ "label": "I", "x": 8.5, "y": 1 },
|
||||||
|
{ "label": "O", "x": 9.5, "y": 1 },
|
||||||
|
{ "label": "P", "x": 10.5, "y": 1 },
|
||||||
|
{ "label": "{", "x": 11.5, "y": 1 },
|
||||||
|
{ "label": "}", "x": 12.5, "y": 1 },
|
||||||
|
{ "label": "BS", "x": 13.5, "y": 1, "w": 1.5 },
|
||||||
|
{ "label": "Caps Lock", "x": 0, "y": 2, "w": 1.75 },
|
||||||
|
{ "label": "A", "x": 1.75, "y": 2 },
|
||||||
|
{ "label": "S", "x": 2.75, "y": 2 },
|
||||||
|
{ "label": "D", "x": 3.75, "y": 2 },
|
||||||
|
{ "label": "F", "x": 4.75, "y": 2 },
|
||||||
|
{ "label": "G", "x": 5.75, "y": 2 },
|
||||||
|
{ "label": "H", "x": 6.75, "y": 2 },
|
||||||
|
{ "label": "J", "x": 7.75, "y": 2 },
|
||||||
|
{ "label": "K", "x": 8.75, "y": 2 },
|
||||||
|
{ "label": "L", "x": 9.75, "y": 2 },
|
||||||
|
{ "label": ":", "x": 10.75, "y": 2 },
|
||||||
|
{ "label": "\"", "x": 11.75, "y": 2 },
|
||||||
|
{ "label": "Enter", "x": 12.75, "y": 2, "w": 2.25 },
|
||||||
|
{ "label": "Shift", "x": 0, "y": 3, "w": 2.25 },
|
||||||
|
{ "label": "Z", "x": 2.25, "y": 3 },
|
||||||
|
{ "label": "X", "x": 3.25, "y": 3 },
|
||||||
|
{ "label": "C", "x": 4.25, "y": 3 },
|
||||||
|
{ "label": "V", "x": 5.25, "y": 3 },
|
||||||
|
{ "label": "B", "x": 6.25, "y": 3 },
|
||||||
|
{ "label": "N", "x": 7.25, "y": 3 },
|
||||||
|
{ "label": "M", "x": 8.25, "y": 3 },
|
||||||
|
{ "label": "<", "x": 9.25, "y": 3 },
|
||||||
|
{ "label": ">", "x": 10.25, "y": 3 },
|
||||||
|
{ "label": "?", "x": 11.25, "y": 3 },
|
||||||
|
{ "label": "Shift", "x": 12.25, "y": 3, "w": 1.75 },
|
||||||
|
{ "label": "Fn", "x": 14, "y": 3 },
|
||||||
|
{ "label": "Ctrl", "x": 0, "y": 4, "w": 1.25 },
|
||||||
|
{ "label": "Win", "x": 1.25, "y": 4, "w": 1.25 },
|
||||||
|
{ "label": "Alt", "x": 2.5, "y": 4, "w": 1.25 },
|
||||||
|
{ "x": 3.75, "y": 4, "w": 6.25 },
|
||||||
|
{ "label": "Alt", "x": 10, "y": 4, "w": 1.25 },
|
||||||
|
{ "label": "Win", "x": 11.25, "y": 4, "w": 1.25 },
|
||||||
|
{ "label": "Menu", "x": 12.5, "y": 4, "w": 1.25 },
|
||||||
|
{ "label": "Ctrl", "x": 13.75, "y": 4, "w": 1.25 }
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"LAYOUT_60_tsangan_hhkb": {
|
||||||
|
"key_count": 62,
|
||||||
|
"layout": [
|
||||||
|
{ "label": "Esc", "x": 0, "y": 0 },
|
||||||
|
{ "label": "!", "x": 1, "y": 0 },
|
||||||
|
{ "label": "@", "x": 2, "y": 0 },
|
||||||
|
{ "label": "#", "x": 3, "y": 0 },
|
||||||
|
{ "label": "$", "x": 4, "y": 0 },
|
||||||
|
{ "label": "%", "x": 5, "y": 0 },
|
||||||
|
{ "label": "^", "x": 6, "y": 0 },
|
||||||
|
{ "label": "&", "x": 7, "y": 0 },
|
||||||
|
{ "label": "*", "x": 8, "y": 0 },
|
||||||
|
{ "label": "(", "x": 9, "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": "Tab", "x": 0, "y": 1, "w": 1.5 },
|
||||||
|
{ "label": "Q", "x": 1.5, "y": 1 },
|
||||||
|
{ "label": "W", "x": 2.5, "y": 1 },
|
||||||
|
{ "label": "E", "x": 3.5, "y": 1 },
|
||||||
|
{ "label": "R", "x": 4.5, "y": 1 },
|
||||||
|
{ "label": "T", "x": 5.5, "y": 1 },
|
||||||
|
{ "label": "Y", "x": 6.5, "y": 1 },
|
||||||
|
{ "label": "U", "x": 7.5, "y": 1 },
|
||||||
|
{ "label": "I", "x": 8.5, "y": 1 },
|
||||||
|
{ "label": "O", "x": 9.5, "y": 1 },
|
||||||
|
{ "label": "P", "x": 10.5, "y": 1 },
|
||||||
|
{ "label": "{", "x": 11.5, "y": 1 },
|
||||||
|
{ "label": "}", "x": 12.5, "y": 1 },
|
||||||
|
{ "label": "Backspace", "x": 13.5, "y": 1, "w": 1.5 },
|
||||||
|
{ "label": "Caps Lock", "x": 0, "y": 2, "w": 1.75 },
|
||||||
|
{ "label": "A", "x": 1.75, "y": 2 },
|
||||||
|
{ "label": "S", "x": 2.75, "y": 2 },
|
||||||
|
{ "label": "D", "x": 3.75, "y": 2 },
|
||||||
|
{ "label": "F", "x": 4.75, "y": 2 },
|
||||||
|
{ "label": "G", "x": 5.75, "y": 2 },
|
||||||
|
{ "label": "H", "x": 6.75, "y": 2 },
|
||||||
|
{ "label": "J", "x": 7.75, "y": 2 },
|
||||||
|
{ "label": "K", "x": 8.75, "y": 2 },
|
||||||
|
{ "label": "L", "x": 9.75, "y": 2 },
|
||||||
|
{ "label": ":", "x": 10.75, "y": 2 },
|
||||||
|
{ "label": "\"", "x": 11.75, "y": 2 },
|
||||||
|
{ "label": "Enter", "x": 12.75, "y": 2, "w": 2.25 },
|
||||||
|
{ "label": "Shift", "x": 0, "y": 3, "w": 2.25 },
|
||||||
|
{ "label": "Z", "x": 2.25, "y": 3 },
|
||||||
|
{ "label": "X", "x": 3.25, "y": 3 },
|
||||||
|
{ "label": "C", "x": 4.25, "y": 3 },
|
||||||
|
{ "label": "V", "x": 5.25, "y": 3 },
|
||||||
|
{ "label": "B", "x": 6.25, "y": 3 },
|
||||||
|
{ "label": "N", "x": 7.25, "y": 3 },
|
||||||
|
{ "label": "M", "x": 8.25, "y": 3 },
|
||||||
|
{ "label": "<", "x": 9.25, "y": 3 },
|
||||||
|
{ "label": ">", "x": 10.25, "y": 3 },
|
||||||
|
{ "label": "?", "x": 11.25, "y": 3 },
|
||||||
|
{ "label": "Shift", "x": 12.25, "y": 3, "w": 1.75 },
|
||||||
|
{ "label": "Fn", "x": 14, "y": 3 },
|
||||||
|
{ "label": "Ctrl", "x": 0, "y": 4, "w": 1.5 },
|
||||||
|
{ "label": "Win", "x": 1.5, "y": 4 },
|
||||||
|
{ "label": "Alt", "x": 2.5, "y": 4, "w": 1.5 },
|
||||||
|
{ "x": 4, "y": 4, "w": 7 },
|
||||||
|
{ "label": "Win", "x": 11, "y": 4, "w": 1.5 },
|
||||||
|
{ "label": "Menu", "x": 12.5, "y": 4 },
|
||||||
|
{ "label": "Ctrl", "x": 13.5, "y": 4, "w": 1.5 }
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
13
keyboards/bioi/g60ble/keymaps/default/keymap.c
Normal file
13
keyboards/bioi/g60ble/keymaps/default/keymap.c
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
#include QMK_KEYBOARD_H
|
||||||
|
|
||||||
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
|
||||||
|
[0] = LAYOUT_60_ansi(
|
||||||
|
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC,
|
||||||
|
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
|
||||||
|
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
|
||||||
|
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
|
||||||
|
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTL
|
||||||
|
)
|
||||||
|
|
||||||
|
};
|
39
keyboards/bioi/g60ble/keymaps/via/keymap.c
Normal file
39
keyboards/bioi/g60ble/keymaps/via/keymap.c
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
#include QMK_KEYBOARD_H
|
||||||
|
|
||||||
|
// clang-format off
|
||||||
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
|
||||||
|
[0] = LAYOUT_all(
|
||||||
|
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV,
|
||||||
|
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC,
|
||||||
|
CTL_T(KC_ESC), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, LT(2, KC_SCLN), KC_QUOT, KC_NUHS, KC_ENT,
|
||||||
|
KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_UP, KC_RSFT, MO(1),
|
||||||
|
KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_RGUI, KC_LEFT, KC_APP, KC_RCTL
|
||||||
|
),
|
||||||
|
|
||||||
|
[1] = LAYOUT_all(
|
||||||
|
_______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_DEL,
|
||||||
|
KC_CAPS, RESET, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, KC_UP, _______, _______,
|
||||||
|
_______, KC_VOLD, KC_VOLU, KC_MUTE, KC_EJCT, _______, KC_ASTR, KC_SLSH, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, _______, _______,
|
||||||
|
RGB_MOD, _______, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, _______, KC_PLUS, KC_MINS, KC_END, KC_PGDN, KC_DOWN, _______, BL_STEP, _______,
|
||||||
|
RGB_TOG, RGB_VAD, RGB_VAI, _______, _______, _______, _______, _______, BL_TOGG
|
||||||
|
),
|
||||||
|
|
||||||
|
[2] = LAYOUT_all(
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
_______, XXXXXXX, KC_HOME, KC_PGUP, KC_PGDN, KC_END, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||||
|
),
|
||||||
|
|
||||||
|
[3] = LAYOUT_all(
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||||
|
)
|
||||||
|
|
||||||
|
};
|
||||||
|
// clang-format on
|
1
keyboards/bioi/g60ble/keymaps/via/rules.mk
Normal file
1
keyboards/bioi/g60ble/keymaps/via/rules.mk
Normal file
@ -0,0 +1 @@
|
|||||||
|
VIA_ENABLE = yes
|
15
keyboards/bioi/g60ble/readme.md
Normal file
15
keyboards/bioi/g60ble/readme.md
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
# BIOI G60 BLE
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
A 60% keyboard with Bluetooth LE support
|
||||||
|
|
||||||
|
* Keyboard Maintainer: [Joshua Rubin](https://github.com/joshuarubin)
|
||||||
|
* Hardware Supported: R2 both default and hotswap versions
|
||||||
|
* Hardware Availability: https://play-keyboard.store/
|
||||||
|
|
||||||
|
Make example for this keyboard (after setting up your build environment):
|
||||||
|
|
||||||
|
make bioi/g60ble:default
|
||||||
|
|
||||||
|
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).
|
31
keyboards/bioi/g60ble/rules.mk
Normal file
31
keyboards/bioi/g60ble/rules.mk
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
# MCU name
|
||||||
|
MCU = atmega32u4
|
||||||
|
|
||||||
|
# Processor frequency
|
||||||
|
F_CPU = 8000000
|
||||||
|
|
||||||
|
# Bootloader selection
|
||||||
|
# Teensy halfkay
|
||||||
|
# Pro Micro caterina
|
||||||
|
# Atmel DFU atmel-dfu
|
||||||
|
# LUFA DFU lufa-dfu
|
||||||
|
# QMK DFU qmk-dfu
|
||||||
|
# ATmega32A bootloadHID
|
||||||
|
# ATmega328P USBasp
|
||||||
|
BOOTLOADER = qmk-dfu
|
||||||
|
|
||||||
|
# Build Options
|
||||||
|
# comment out to disable the options.
|
||||||
|
#
|
||||||
|
BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration
|
||||||
|
MOUSEKEY_ENABLE = yes # Mouse keys
|
||||||
|
EXTRAKEY_ENABLE = yes # Audio control and System control
|
||||||
|
CONSOLE_ENABLE = no # Console for debug
|
||||||
|
COMMAND_ENABLE = yes # Commands for debug and configuration
|
||||||
|
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
|
||||||
|
NKRO_ENABLE = yes # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
|
||||||
|
BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
|
||||||
|
RGBLIGHT_ENABLE = yes
|
||||||
|
LTO_ENABLE = yes
|
||||||
|
|
||||||
|
LAYOUTS = 60_ansi 60_iso 60_hhkb 60_ansi_split_bs_rshift 60_tsangan_hhkb
|
@ -45,3 +45,5 @@
|
|||||||
{ KC_NO, KC_NO, k32, k33, k34, k35, k36, k37, KC_NO, KC_NO }, \
|
{ KC_NO, KC_NO, k32, k33, k34, k35, k36, k37, KC_NO, KC_NO }, \
|
||||||
{ KC_NO, KC_NO, k2a, k1a, k0a, k0b, k1b, k2b, KC_NO, KC_NO } \
|
{ KC_NO, KC_NO, k2a, k1a, k0a, k0b, k1b, k2b, KC_NO, KC_NO } \
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#define LAYOUT_split_3x6_3 LAYOUT
|
||||||
|
@ -40,3 +40,5 @@ OPT_DEFS += -DCENTROMERE_PROMICRO
|
|||||||
|
|
||||||
# # project specific files
|
# # project specific files
|
||||||
SRC = matrix.c
|
SRC = matrix.c
|
||||||
|
|
||||||
|
LAYOUTS = split_3x6_3
|
||||||
|
15
keyboards/chili/README.md
Normal file
15
keyboards/chili/README.md
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
# YDKB Chili
|
||||||
|
|
||||||
|
[Chili PCB](https://i.imgur.com/fKi896a.jpg)
|
||||||
|
|
||||||
|
The YDKB Chili is a Cherry G80-3000 replacement PCB utilizing the ATmega32U4 microcontroller.
|
||||||
|
|
||||||
|
* Keyboard Maintainer: QMK community
|
||||||
|
* Hardware Supported: YDKB Chili
|
||||||
|
* Hardware Availability: [TaoBao](https://item.taobao.com/item.htm?id=565823984744)
|
||||||
|
|
||||||
|
Make example for this keyboard (after setting up your build environment):
|
||||||
|
|
||||||
|
make chili:default
|
||||||
|
|
||||||
|
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).
|
42
keyboards/chili/chili.c
Normal file
42
keyboards/chili/chili.c
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
/* Copyright 2017 Mathias Andersson <wraul@dbox.se>
|
||||||
|
*
|
||||||
|
* 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 "chili.h"
|
||||||
|
|
||||||
|
void matrix_init_kb(void) {
|
||||||
|
// put your keyboard start-up code here
|
||||||
|
// runs once when the firmware starts up
|
||||||
|
led_init_ports();
|
||||||
|
matrix_init_user();
|
||||||
|
}
|
||||||
|
|
||||||
|
void led_init_ports(void) {
|
||||||
|
setPinOutput(B1);
|
||||||
|
writePinHigh(B1);
|
||||||
|
setPinOutput(B2);
|
||||||
|
writePinHigh(B2);
|
||||||
|
setPinOutput(B3);
|
||||||
|
writePinHigh(B3);
|
||||||
|
}
|
||||||
|
|
||||||
|
bool led_update_kb(led_t led_state) {
|
||||||
|
bool res = led_update_user(led_state);
|
||||||
|
if(res) {
|
||||||
|
writePin(B1, !led_state.num_lock);
|
||||||
|
writePin(B2, !led_state.caps_lock);
|
||||||
|
writePin(B3, !led_state.scroll_lock);
|
||||||
|
}
|
||||||
|
return res;
|
||||||
|
}
|
39
keyboards/chili/chili.h
Normal file
39
keyboards/chili/chili.h
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
/* Copyright 2017 Mathias Andersson <wraul@dbox.se>
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation, either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include "quantum.h"
|
||||||
|
|
||||||
|
#define LAYOUT_all( \
|
||||||
|
K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K69, K68, K67, K66, K65, K64, \
|
||||||
|
K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K79, K78, K77, K76, K75, K74, K73, K72, K63, K62, K61, K60, \
|
||||||
|
K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K89, K88, K87, K86, K85, K84, K83, K82, K81, K80, K90, \
|
||||||
|
K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K99, K98, K97, K95, K92, K71, K70, \
|
||||||
|
K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, KA9, KA8, KA6, KA7, K96, K94, K93, K91, KA0, \
|
||||||
|
K50, K51, K52, K53, K54, K55, K56, K57, K58, K59, KA5, KA4, KA3, KA2, KA1 \
|
||||||
|
) { \
|
||||||
|
{ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09 }, \
|
||||||
|
{ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19 }, \
|
||||||
|
{ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29 }, \
|
||||||
|
{ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39 }, \
|
||||||
|
{ K40, K41, K42, K43, K44, K45, K46, K47, K48, K49 }, \
|
||||||
|
{ K50, K51, K52, K53, K54, K55, K56, K57, K58, K59 }, \
|
||||||
|
{ K60, K61, K62, K63, K64, K65, K66, K67, K68, K69 }, \
|
||||||
|
{ K70, K71, K72, K73, K74, K75, K76, K77, K78, K79 }, \
|
||||||
|
{ K80, K81, K82, K83, K84, K85, K86, K87, K88, K89 }, \
|
||||||
|
{ K90, K91, K92, K93, K94, K95, K96, K97, K98, K99 }, \
|
||||||
|
{ KA0, KA1, KA2, KA3, KA4, KA5, KA6, KA7, KA8, KA9 } \
|
||||||
|
}
|
179
keyboards/chili/config.h
Normal file
179
keyboards/chili/config.h
Normal file
@ -0,0 +1,179 @@
|
|||||||
|
/*
|
||||||
|
Copyright 2012 Jun Wako <wakojun@gmail.com>
|
||||||
|
|
||||||
|
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 0x5945 // "YE"
|
||||||
|
#define PRODUCT_ID 0x0001
|
||||||
|
#define DEVICE_VER 0x0001
|
||||||
|
#define MANUFACTURER YDKB
|
||||||
|
#define PRODUCT Chili
|
||||||
|
#define DESCRIPTION QMK keyboard firmware for Chili, a G80-3000 replacement PCB
|
||||||
|
|
||||||
|
/* key matrix size */
|
||||||
|
#define MATRIX_ROWS 11
|
||||||
|
#define MATRIX_COLS 10
|
||||||
|
|
||||||
|
// ROWS: Top to bottom, COLS: Left to right
|
||||||
|
/* Row pin configuration
|
||||||
|
*/
|
||||||
|
#define MATRIX_ROW_PINS { F5, F4, F1, F0, E6, B0, D5, D3, D2, D1, D0 }
|
||||||
|
/* Column pin configuration
|
||||||
|
*/
|
||||||
|
#define MATRIX_COL_PINS { D4, F6, F7, C7, C6, B6, B5, B4, D7, D6 }
|
||||||
|
#define UNUSED_PINS
|
||||||
|
|
||||||
|
/* COL2ROW or ROW2COL */
|
||||||
|
#define DIODE_DIRECTION COL2ROW
|
||||||
|
|
||||||
|
#define BACKLIGHT_PIN B7
|
||||||
|
#define BACKLIGHT_BREATHING
|
||||||
|
#define BACKLIGHT_LEVELS 3
|
||||||
|
|
||||||
|
/* Underlight configuration
|
||||||
|
*/
|
||||||
|
#define RGB_DI_PIN B3
|
||||||
|
#define RGBLIGHT_ANIMATIONS
|
||||||
|
#define RGBLED_NUM 30 // Number of LEDs
|
||||||
|
#define RGBLIGHT_HUE_STEP 5
|
||||||
|
#define RGBLIGHT_SAT_STEP 10
|
||||||
|
#define RGBLIGHT_VAL_STEP 10
|
||||||
|
|
||||||
|
/* define if matrix has ghost */
|
||||||
|
//#define MATRIX_HAS_GHOST
|
||||||
|
|
||||||
|
/* Set 0 if debouncing isn't needed */
|
||||||
|
#define DEBOUNCE 5
|
||||||
|
|
||||||
|
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
|
||||||
|
#define LOCKING_SUPPORT_ENABLE
|
||||||
|
/* Locking resynchronize hack */
|
||||||
|
#define LOCKING_RESYNC_ENABLE
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Force NKRO
|
||||||
|
*
|
||||||
|
* Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved
|
||||||
|
* state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the
|
||||||
|
* makefile for this to work.)
|
||||||
|
*
|
||||||
|
* If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N)
|
||||||
|
* until the next keyboard reset.
|
||||||
|
*
|
||||||
|
* NKRO may prevent your keystrokes from being detected in the BIOS, but it is
|
||||||
|
* fully operational during normal computer usage.
|
||||||
|
*
|
||||||
|
* For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N)
|
||||||
|
* or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by
|
||||||
|
* bootmagic, NKRO mode will always be enabled until it is toggled again during a
|
||||||
|
* power-up.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
//#define FORCE_NKRO
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Magic Key Options
|
||||||
|
*
|
||||||
|
* Magic keys are hotkey commands that allow control over firmware functions of
|
||||||
|
* the keyboard. They are best used in combination with the HID Listen program,
|
||||||
|
* found here: https://www.pjrc.com/teensy/hid_listen.html
|
||||||
|
*
|
||||||
|
* The options below allow the magic key functionality to be changed. This is
|
||||||
|
* useful if your keyboard/keypad is missing keys and you want magic key support.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* control how magic key switches layers */
|
||||||
|
//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
|
||||||
|
//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
|
||||||
|
//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM false
|
||||||
|
|
||||||
|
/* override magic key keymap */
|
||||||
|
//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS
|
||||||
|
//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS
|
||||||
|
//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM
|
||||||
|
//#define MAGIC_KEY_HELP1 H
|
||||||
|
//#define MAGIC_KEY_HELP2 SLASH
|
||||||
|
//#define MAGIC_KEY_DEBUG D
|
||||||
|
//#define MAGIC_KEY_DEBUG_MATRIX X
|
||||||
|
//#define MAGIC_KEY_DEBUG_KBD K
|
||||||
|
//#define MAGIC_KEY_DEBUG_MOUSE M
|
||||||
|
//#define MAGIC_KEY_VERSION V
|
||||||
|
//#define MAGIC_KEY_STATUS S
|
||||||
|
//#define MAGIC_KEY_CONSOLE C
|
||||||
|
//#define MAGIC_KEY_LAYER0_ALT1 ESC
|
||||||
|
//#define MAGIC_KEY_LAYER0_ALT2 GRAVE
|
||||||
|
//#define MAGIC_KEY_LAYER0 0
|
||||||
|
//#define MAGIC_KEY_LAYER1 1
|
||||||
|
//#define MAGIC_KEY_LAYER2 2
|
||||||
|
//#define MAGIC_KEY_LAYER3 3
|
||||||
|
//#define MAGIC_KEY_LAYER4 4
|
||||||
|
//#define MAGIC_KEY_LAYER5 5
|
||||||
|
//#define MAGIC_KEY_LAYER6 6
|
||||||
|
//#define MAGIC_KEY_LAYER7 7
|
||||||
|
//#define MAGIC_KEY_LAYER8 8
|
||||||
|
//#define MAGIC_KEY_LAYER9 9
|
||||||
|
//#define MAGIC_KEY_BOOTLOADER PAUSE
|
||||||
|
//#define MAGIC_KEY_LOCK CAPS
|
||||||
|
//#define MAGIC_KEY_EEPROM E
|
||||||
|
//#define MAGIC_KEY_NKRO N
|
||||||
|
//#define MAGIC_KEY_SLEEP_LED Z
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Feature disable options
|
||||||
|
* These options are also useful to firmware size reduction.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* disable debug print */
|
||||||
|
//#define NO_DEBUG
|
||||||
|
|
||||||
|
/* disable print */
|
||||||
|
//#define NO_PRINT
|
||||||
|
|
||||||
|
/* disable action features */
|
||||||
|
//#define NO_ACTION_LAYER
|
||||||
|
//#define NO_ACTION_TAPPING
|
||||||
|
//#define NO_ACTION_ONESHOT
|
||||||
|
//#define NO_ACTION_MACRO
|
||||||
|
//#define NO_ACTION_FUNCTION
|
||||||
|
|
||||||
|
/*
|
||||||
|
* MIDI options
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* Prevent use of disabled MIDI features in the keymap */
|
||||||
|
//#define MIDI_ENABLE_STRICT 1
|
||||||
|
|
||||||
|
/* enable basic MIDI features:
|
||||||
|
- MIDI notes can be sent when in Music mode is on
|
||||||
|
*/
|
||||||
|
//#define MIDI_BASIC
|
||||||
|
|
||||||
|
/* enable advanced MIDI features:
|
||||||
|
- MIDI notes can be added to the keymap
|
||||||
|
- Octave shift and transpose
|
||||||
|
- Virtual sustain, portamento, and modulation wheel
|
||||||
|
- etc.
|
||||||
|
*/
|
||||||
|
//#define MIDI_ADVANCED
|
||||||
|
|
||||||
|
/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */
|
||||||
|
//#define MIDI_TONE_KEYCODE_OCTAVES 1
|
12
keyboards/chili/info.json
Normal file
12
keyboards/chili/info.json
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
{
|
||||||
|
"keyboard_name": "YDKB Chili",
|
||||||
|
"url": "",
|
||||||
|
"maintainer": "qmk",
|
||||||
|
"width": 22.5,
|
||||||
|
"height": 6.5,
|
||||||
|
"layouts": {
|
||||||
|
"LAYOUT_all": {
|
||||||
|
"layout": [{"label":"Esc", "x":0, "y":0}, {"label":"F1", "x":2, "y":0}, {"label":"F2", "x":3, "y":0}, {"label":"F3", "x":4, "y":0}, {"label":"F4", "x":5, "y":0}, {"label":"F5", "x":6.5, "y":0}, {"label":"F6", "x":7.5, "y":0}, {"label":"F7", "x":8.5, "y":0}, {"label":"F8", "x":9.5, "y":0}, {"label":"F9", "x":11, "y":0}, {"label":"F10", "x":12, "y":0}, {"label":"F11", "x":13, "y":0}, {"label":"F12", "x":14, "y":0}, {"label":"PrtSc", "x":15.25, "y":0}, {"label":"Scroll Lock", "x":16.25, "y":0}, {"label":"Pause", "x":17.25, "y":0}, {"label":"~", "x":0, "y":1.5}, {"label":"!", "x":1, "y":1.5}, {"label":"@", "x":2, "y":1.5}, {"label":"#", "x":3, "y":1.5}, {"label":"$", "x":4, "y":1.5}, {"label":"%", "x":5, "y":1.5}, {"label":"^", "x":6, "y":1.5}, {"label":"&", "x":7, "y":1.5}, {"label":"*", "x":8, "y":1.5}, {"label":"(", "x":9, "y":1.5}, {"label":")", "x":10, "y":1.5}, {"label":"_", "x":11, "y":1.5}, {"label":"+", "x":12, "y":1.5}, {"label":"Backsp", "x":13, "y":1.5}, {"x":14, "y":1.5}, {"label":"Insert", "x":15.25, "y":1.5}, {"label":"Home", "x":16.25, "y":1.5}, {"label":"PgUp", "x":17.25, "y":1.5}, {"label":"Num Lock", "x":18.5, "y":1.5}, {"label":"/", "x":19.5, "y":1.5}, {"label":"*", "x":20.5, "y":1.5}, {"label":"-", "x":21.5, "y":1.5}, {"label":"Tab", "x":0, "y":2.5, "w":1.5}, {"label":"Q", "x":1.5, "y":2.5}, {"label":"W", "x":2.5, "y":2.5}, {"label":"E", "x":3.5, "y":2.5}, {"label":"R", "x":4.5, "y":2.5}, {"label":"T", "x":5.5, "y":2.5}, {"label":"Y", "x":6.5, "y":2.5}, {"label":"U", "x":7.5, "y":2.5}, {"label":"I", "x":8.5, "y":2.5}, {"label":"O", "x":9.5, "y":2.5}, {"label":"P", "x":10.5, "y":2.5}, {"label":"{", "x":11.5, "y":2.5}, {"label":"}", "x":12.5, "y":2.5}, {"label":"|", "x":13.5, "y":2.5, "w":1.5}, {"label":"Delete", "x":15.25, "y":2.5}, {"label":"End", "x":16.25, "y":2.5}, {"label":"PgDn", "x":17.25, "y":2.5}, {"label":"7", "x":18.5, "y":2.5}, {"label":"8", "x":19.5, "y":2.5}, {"label":"9", "x":20.5, "y":2.5}, {"label":"+", "x":21.5, "y":2.5}, {"label":"Caps Lock", "x":0, "y":3.5, "w":1.75}, {"label":"A", "x":1.75, "y":3.5}, {"label":"S", "x":2.75, "y":3.5}, {"label":"D", "x":3.75, "y":3.5}, {"label":"F", "x":4.75, "y":3.5}, {"label":"G", "x":5.75, "y":3.5}, {"label":"H", "x":6.75, "y":3.5}, {"label":"J", "x":7.75, "y":3.5}, {"label":"K", "x":8.75, "y":3.5}, {"label":"L", "x":9.75, "y":3.5}, {"label":":", "x":10.75, "y":3.5}, {"label":"\"", "x":11.75, "y":3.5}, {"label":"Enter", "x":12.75, "y":3.5, "w":2.25}, {"label":"4", "x":18.5, "y":3.5}, {"label":"5", "x":19.5, "y":3.5}, {"label":"6", "x":20.5, "y":3.5}, {"x":21.5, "y":3.5}, {"label":"Shift", "x":0, "y":4.5, "w":1.25}, {"x":1.25, "y":4.5}, {"label":"Z", "x":2.25, "y":4.5}, {"label":"X", "x":3.25, "y":4.5}, {"label":"C", "x":4.25, "y":4.5}, {"label":"V", "x":5.25, "y":4.5}, {"label":"B", "x":6.25, "y":4.5}, {"label":"N", "x":7.25, "y":4.5}, {"label":"M", "x":8.25, "y":4.5}, {"label":"<", "x":9.25, "y":4.5}, {"label":">", "x":10.25, "y":4.5}, {"label":"?", "x":11.25, "y":4.5}, {"label":"Shift", "x":12.25, "y":4.5, "w":1.75}, {"x":14, "y":4.5}, {"label":"\u2191", "x":16.25, "y":4.5}, {"label":"1", "x":18.5, "y":4.5}, {"label":"2", "x":19.5, "y":4.5}, {"label":"3", "x":20.5, "y":4.5}, {"label":"Enter", "x":21.5, "y":4.5, "h":2}, {"label":"Ctrl", "x":0, "y":5.5, "w":1.25}, {"label":"Win", "x":1.25, "y":5.5, "w":1.25}, {"label":"Alt", "x":2.5, "y":5.5, "w":1.25}, {"x":3.75, "y":5.5, "w":3}, {"x":6.75, "y":5.5, "w":3}, {"label":"Alt", "x":9.75, "y":5.5, "w":1.5}, {"label":"Win", "x":11.25, "y":5.5, "w":1.25}, {"label":"Menu", "x":12.5, "y":5.5, "w":1.25}, {"label":"Ctrl", "x":13.75, "y":5.5, "w":1.25}, {"label":"\u2190", "x":15.25, "y":5.5}, {"label":"\u2193", "x":16.25, "y":5.5}, {"label":"\u2192", "x":17.25, "y":5.5}, {"label":"0", "x":18.5, "y":5.5}, {"x":19.5, "y":5.5}, {"label":".", "x":20.5, "y":5.5}]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
35
keyboards/chili/keymaps/default/keymap.c
Normal file
35
keyboards/chili/keymaps/default/keymap.c
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
/* Copyright 2017 Mathias Andersson <wraul@dbox.se>
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation, either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include QMK_KEYBOARD_H
|
||||||
|
|
||||||
|
//Layers
|
||||||
|
|
||||||
|
enum {
|
||||||
|
BASE,
|
||||||
|
};
|
||||||
|
|
||||||
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
[BASE] = LAYOUT_all(
|
||||||
|
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_PAUS,
|
||||||
|
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_NO, KC_INS, KC_HOME, KC_PGUP, KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS,
|
||||||
|
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN, KC_P7, KC_P8, KC_P9, KC_PPLS,
|
||||||
|
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_P4, KC_P5, KC_P6, KC_NO,
|
||||||
|
KC_LSFT, KC_NO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_NO, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_PENT,
|
||||||
|
KC_LCTL, KC_LGUI, KC_LALT, KC_NO, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_NO, KC_PDOT
|
||||||
|
),
|
||||||
|
|
||||||
|
};
|
61
keyboards/chili/keymaps/via/keymap.c
Normal file
61
keyboards/chili/keymaps/via/keymap.c
Normal file
@ -0,0 +1,61 @@
|
|||||||
|
/* Copyright 2017 Mathias Andersson <wraul@dbox.se>
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation, either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include QMK_KEYBOARD_H
|
||||||
|
|
||||||
|
//Layers
|
||||||
|
|
||||||
|
enum {
|
||||||
|
BASE = 0,
|
||||||
|
FUNCTION,
|
||||||
|
ALTERNATE,
|
||||||
|
LAST,
|
||||||
|
};
|
||||||
|
|
||||||
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
[BASE] = LAYOUT_all(
|
||||||
|
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_PAUS,
|
||||||
|
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_NO, KC_INS, KC_HOME, KC_PGUP, KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS,
|
||||||
|
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN, KC_P7, KC_P8, KC_P9, KC_PPLS,
|
||||||
|
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_P4, KC_P5, KC_P6, KC_NO,
|
||||||
|
KC_LSFT, KC_NO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_NO, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_PENT,
|
||||||
|
KC_LCTL, KC_LGUI, KC_LALT, KC_NO, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_NO, KC_PDOT
|
||||||
|
),
|
||||||
|
[FUNCTION] = LAYOUT_all(
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||||
|
),
|
||||||
|
[ALTERNATE] = LAYOUT_all(
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||||
|
),
|
||||||
|
[LAST] = LAYOUT_all(
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||||
|
),
|
||||||
|
};
|
1
keyboards/chili/keymaps/via/rules.mk
Normal file
1
keyboards/chili/keymaps/via/rules.mk
Normal file
@ -0,0 +1 @@
|
|||||||
|
VIA_ENABLE = yes
|
31
keyboards/chili/rules.mk
Normal file
31
keyboards/chili/rules.mk
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
# MCU name
|
||||||
|
MCU = atmega32u4
|
||||||
|
|
||||||
|
# Bootloader selection
|
||||||
|
# Teensy halfkay
|
||||||
|
# Pro Micro caterina
|
||||||
|
# Atmel DFU atmel-dfu
|
||||||
|
# LUFA DFU lufa-dfu
|
||||||
|
# QMK DFU qmk-dfu
|
||||||
|
# ATmega32A bootloadHID
|
||||||
|
# ATmega328P USBasp
|
||||||
|
BOOTLOADER = atmel-dfu
|
||||||
|
|
||||||
|
# Build Options
|
||||||
|
# change yes to no to disable
|
||||||
|
#
|
||||||
|
BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration
|
||||||
|
MOUSEKEY_ENABLE = yes # Mouse keys
|
||||||
|
EXTRAKEY_ENABLE = yes # Audio control and System control
|
||||||
|
CONSOLE_ENABLE = no # Console for debug
|
||||||
|
COMMAND_ENABLE = no # Commands for debug and configuration
|
||||||
|
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
|
||||||
|
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
|
||||||
|
# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
|
||||||
|
NKRO_ENABLE = yes # USB Nkey Rollover
|
||||||
|
BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
|
||||||
|
RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight
|
||||||
|
MIDI_ENABLE = no # MIDI controls
|
||||||
|
UNICODE_ENABLE = no # Unicode
|
||||||
|
BLUETOOTH_ENABLE = no # Enable Bluetooth
|
||||||
|
AUDIO_ENABLE = no # Audio output
|
@ -1,5 +1,7 @@
|
|||||||
#include QMK_KEYBOARD_H
|
#include QMK_KEYBOARD_H
|
||||||
|
|
||||||
|
#include "bcat.h"
|
||||||
|
|
||||||
enum layer {
|
enum layer {
|
||||||
LAYER_DEFAULT,
|
LAYER_DEFAULT,
|
||||||
LAYER_LOWER,
|
LAYER_LOWER,
|
||||||
@ -10,28 +12,31 @@ enum layer {
|
|||||||
#define LY_LWR MO(LAYER_LOWER)
|
#define LY_LWR MO(LAYER_LOWER)
|
||||||
#define LY_RSE MO(LAYER_RAISE)
|
#define LY_RSE MO(LAYER_RAISE)
|
||||||
|
|
||||||
#define KY_CESC LCTL_T(KC_ESC)
|
#define KY_CSPC LCTL(KC_SPC)
|
||||||
|
#define KY_LOCK LGUI(KC_L)
|
||||||
|
#define KY_WINL LGUI(KC_LEFT)
|
||||||
|
#define KY_WINR LGUI(KC_RGHT)
|
||||||
|
|
||||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
/* Default layer: http://www.keyboard-layout-editor.com/#/gists/08d9827d916662a9414f48805aa895a5 */
|
/* Default layer: http://www.keyboard-layout-editor.com/#/gists/08d9827d916662a9414f48805aa895a5 */
|
||||||
[LAYER_DEFAULT] = LAYOUT(
|
[LAYER_DEFAULT] = LAYOUT(
|
||||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
|
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
|
||||||
KY_CESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
|
KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
|
||||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
|
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
|
||||||
KC_LALT, LY_LWR, KC_SPC, KC_ENT, LY_RSE, KC_RGUI
|
KC_LCTL, LY_LWR, KC_SPC, KC_ENT, LY_RSE, KC_RALT
|
||||||
),
|
),
|
||||||
|
|
||||||
/* Lower layer: http://www.keyboard-layout-editor.com/#/gists/c3fba5eaa2cd70fdfbdbc0f9e34d3bc0 */
|
/* Lower layer: http://www.keyboard-layout-editor.com/#/gists/c3fba5eaa2cd70fdfbdbc0f9e34d3bc0 */
|
||||||
[LAYER_LOWER] = LAYOUT(
|
[LAYER_LOWER] = LAYOUT(
|
||||||
KC_CAPS, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______,
|
MC_ALTT, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______,
|
||||||
_______, _______, _______, _______, _______, _______, KC_PIPE, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_TILD,
|
KY_CSPC, KY_WINL, KY_WINR, KY_LOCK, KC_WBAK, KC_WFWD, KC_PIPE, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_TILD,
|
||||||
_______, KC_APP, KC_PSCR, KC_SLCK, KC_PAUS, _______, KC_BSLS, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_GRV,
|
_______, KC_APP, KC_PSCR, KC_SLCK, KC_PAUS, KC_LGUI, KC_BSLS, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_GRV,
|
||||||
_______, _______, _______, _______, _______, _______
|
_______, _______, _______, _______, _______, _______
|
||||||
),
|
),
|
||||||
|
|
||||||
/* Raise layer: http://www.keyboard-layout-editor.com/#/gists/08b44355d4ca85d294bad9e2821f91d7 */
|
/* Raise layer: http://www.keyboard-layout-editor.com/#/gists/08b44355d4ca85d294bad9e2821f91d7 */
|
||||||
[LAYER_RAISE] = LAYOUT(
|
[LAYER_RAISE] = LAYOUT(
|
||||||
_______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______,
|
KC_CAPS, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______,
|
||||||
_______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_F11, KC_DEL,
|
_______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_F11, KC_DEL,
|
||||||
_______, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_HOME, KC_PGDN, KC_PGUP, KC_END, KC_F12, KC_INS,
|
_______, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_HOME, KC_PGDN, KC_PGUP, KC_END, KC_F12, KC_INS,
|
||||||
_______, _______, _______, _______, _______, _______
|
_______, _______, _______, _______, _______, _______
|
||||||
@ -46,6 +51,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||||||
),
|
),
|
||||||
};
|
};
|
||||||
|
|
||||||
layer_state_t layer_state_set_user(layer_state_t state) {
|
layer_state_t layer_state_set_keymap(layer_state_t state) {
|
||||||
return update_tri_layer_state(state, LAYER_LOWER, LAYER_RAISE, LAYER_ADJUST);
|
return update_tri_layer_state(state, LAYER_LOWER, LAYER_RAISE, LAYER_ADJUST);
|
||||||
}
|
}
|
||||||
|
@ -4,11 +4,11 @@ This is my favorite split ergo layout for typing, featuring the traditional
|
|||||||
four ortho/ergo layers (Default, Lower, Raise, Adjust). It is loosely inspired
|
four ortho/ergo layers (Default, Lower, Raise, Adjust). It is loosely inspired
|
||||||
by the default Planck (numbers on Lower, symbols on Raise) and Crkbd (Space on
|
by the default Planck (numbers on Lower, symbols on Raise) and Crkbd (Space on
|
||||||
left, Enter on right) layouts, but has since been redesigned heavily according
|
left, Enter on right) layouts, but has since been redesigned heavily according
|
||||||
to the principles described below:
|
to the principles described below.
|
||||||
|
|
||||||
* Since most of the modifiers are on the left half, keys frequently pressed
|
* Since my most-frequently-used keyboard shortcuts involve Ctrl, which lives on
|
||||||
together with mods (e.g., numbers, function keys, etc.) are on the Raise layer
|
the left half of the keyboard, keys frequently used with it (numbers, function
|
||||||
activated by the right thumb.
|
keys, etc.) are on the Raise layer activated by the right thumb.
|
||||||
|
|
||||||
* Navigation can be done on the right half alone, to enable simultaneous
|
* Navigation can be done on the right half alone, to enable simultaneous
|
||||||
left-handed mousing. Additionally, Web pages can be scrolled with Space or
|
left-handed mousing. Additionally, Web pages can be scrolled with Space or
|
||||||
@ -22,7 +22,7 @@ layer-switch keys to correct mistakes.
|
|||||||
|
|
||||||
## Default layer
|
## Default layer
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
([KLE](http://www.keyboard-layout-editor.com/#/gists/08d9827d916662a9414f48805aa895a5))
|
([KLE](http://www.keyboard-layout-editor.com/#/gists/08d9827d916662a9414f48805aa895a5))
|
||||||
|
|
||||||
@ -31,29 +31,26 @@ layer-switch keys to correct mistakes.
|
|||||||
* Tab and Backspace are in familiar locations from my row-staggered boards
|
* Tab and Backspace are in familiar locations from my row-staggered boards
|
||||||
(almost all of which use HHKB-style split backspace).
|
(almost all of which use HHKB-style split backspace).
|
||||||
|
|
||||||
|
* The Esc key is next to the home row for convenience in Vim.
|
||||||
|
|
||||||
* Likewise, the Ctrl key is in the same place as on my row-staggered boards
|
* Likewise, the Ctrl key is in the same place as on my row-staggered boards
|
||||||
(where I've been remapping Caps Lock as Ctrl since before even using QMK).
|
(where I've been remapping Caps Lock as Ctrl since before even using QMK).
|
||||||
|
|
||||||
* There are two Shift keys, because I do use Right Shift on occasion (even
|
* There are two Shift keys, although I generally use Left Shift. (I've
|
||||||
though I'm predominately a Left Shift-er).
|
considered replacing Right Shift with another key, but haven't chosen one.)
|
||||||
|
|
||||||
* Lower and Raise layer-switch keys are below the left and right thumb,
|
* Lower and Raise layer-switch keys are in the resting position of my left and
|
||||||
respectively, when resting my fingers on the home row.
|
right thumbs, respectively.
|
||||||
|
|
||||||
* Space and Enter are on the big thumb keys so they're easy to press.
|
* Space and Enter are on the big thumb keys so they're easy to press.
|
||||||
|
|
||||||
* Alt is on the left so I can navigate back (Alt+Raise+H) and forward
|
* Ctrl is on the left for ease of chording, especially one-handed use of common
|
||||||
(Alt+Raise+L) without having to uncomfortably hit two thumb keys on the same
|
shortcuts like Ctrl+T and Ctrl+W. This puts Alt on the right by the process of
|
||||||
half. This puts Super on the right by the process of elimination.
|
elimination.
|
||||||
|
|
||||||
* Escape shares a mod-tap key with Ctrl, which is convenient for Vim, but not
|
|
||||||
something I'm totally in love with, as even after tweaking `TAPPING_TERM` I
|
|
||||||
still get occasional spurious Esc taps. (I might move Esc up a key and put Tab
|
|
||||||
on a layer, but that'd take some getting used to....)
|
|
||||||
|
|
||||||
## Lower layer
|
## Lower layer
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
([KLE](http://www.keyboard-layout-editor.com/#/gists/c3fba5eaa2cd70fdfbdbc0f9e34d3bc0))
|
([KLE](http://www.keyboard-layout-editor.com/#/gists/c3fba5eaa2cd70fdfbdbc0f9e34d3bc0))
|
||||||
|
|
||||||
@ -74,17 +71,23 @@ bottom row.
|
|||||||
right half, with the same relative positions as on a row-staggered HHKB layout.
|
right half, with the same relative positions as on a row-staggered HHKB layout.
|
||||||
And yup, the shifted versions are above the unshifted versions.
|
And yup, the shifted versions are above the unshifted versions.
|
||||||
|
|
||||||
* Caps Lock is bound in the same position as on an HHKB, for lack of an obvious
|
* Remaining keys from a TKL are placed out of the way on the bottom row of the
|
||||||
better location.
|
left half.
|
||||||
|
|
||||||
* Some extra keys are placed on the bottom row of the left half, ensuring every
|
* The home row on the left half contains handy shortcuts for window movement,
|
||||||
key on a TKL has a binding.
|
and browser navigation, and screen lock.
|
||||||
|
|
||||||
* The left-half home row is reversed for future use. (It's free real estate.)
|
* Lower+Esc is bound to Ctrl+Space because the Ctrl and Space keys are both on
|
||||||
|
the left thumb, so this key combination (which I use for tmux prefix and editor
|
||||||
|
autocomplete) is hard to press in its natural location.
|
||||||
|
|
||||||
|
* Lower+Tab is bound to a custom Alt+Tab macro that keeps the Alt modifier held
|
||||||
|
as long as the Lower key is held down. This means that window switching is on
|
||||||
|
Lower+Tab immediately next to browser tab switching (Ctrl+Tab).
|
||||||
|
|
||||||
## Raise layer
|
## Raise layer
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
([KLE](http://www.keyboard-layout-editor.com/#/gists/08b44355d4ca85d294bad9e2821f91d7))
|
([KLE](http://www.keyboard-layout-editor.com/#/gists/08b44355d4ca85d294bad9e2821f91d7))
|
||||||
|
|
||||||
@ -106,6 +109,8 @@ keys (F1–F5) on the home row.)
|
|||||||
* Insert and Delete are on the rightmost column, because there didn't seem to
|
* Insert and Delete are on the rightmost column, because there didn't seem to
|
||||||
be a better place to put them.
|
be a better place to put them.
|
||||||
|
|
||||||
|
* Caps Lock is bound in the same position as on an HHKB, for lack of an obvious better location.
|
||||||
|
|
||||||
## Adjust layer
|
## Adjust layer
|
||||||
|
|
||||||

|

|
||||||
|
@ -52,3 +52,5 @@
|
|||||||
KC_##L30, KC_##L31, KC_##L32, KC_##R30, KC_##R31, KC_##R32 \
|
KC_##L30, KC_##L31, KC_##L32, KC_##R30, KC_##R31, KC_##R32 \
|
||||||
)
|
)
|
||||||
// clang-format on
|
// clang-format on
|
||||||
|
|
||||||
|
#define LAYOUT_split_3x6_3 LAYOUT
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
SRC += matrix.c \
|
SRC += matrix.c \
|
||||||
split_util.c \
|
split_util.c \
|
||||||
split_scomm.c
|
split_scomm.c
|
||||||
|
|
||||||
|
LAYOUTS = split_3x6_3
|
||||||
|
50
keyboards/duck/octagon/keymaps/via/keymap.c
Normal file
50
keyboards/duck/octagon/keymaps/via/keymap.c
Normal file
@ -0,0 +1,50 @@
|
|||||||
|
/* Copyright 2018 MechMerlin <mechmerlin@gmail.com>
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation, either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
#include QMK_KEYBOARD_H
|
||||||
|
|
||||||
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
[0] = LAYOUT_75_ansi(
|
||||||
|
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_PAUS, KC_DEL,
|
||||||
|
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_HOME,
|
||||||
|
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP,
|
||||||
|
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN,
|
||||||
|
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END,
|
||||||
|
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, LT(1,KC_APP), LT(2,KC_RCTL), KC_LEFT, KC_DOWN, KC_RGHT),
|
||||||
|
|
||||||
|
[1] = LAYOUT_75_ansi(
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
|
||||||
|
|
||||||
|
[2] = LAYOUT_75_ansi(
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
|
||||||
|
|
||||||
|
[3] = LAYOUT_75_ansi(
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
|
||||||
|
};
|
2
keyboards/duck/octagon/keymaps/via/rules.mk
Normal file
2
keyboards/duck/octagon/keymaps/via/rules.mk
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
VIA_ENABLE = yes
|
||||||
|
LTO_ENABLE = yes
|
@ -23,7 +23,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP,
|
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP,
|
||||||
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN,
|
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN,
|
||||||
KC_LSFT, KC_NO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END,
|
KC_LSFT, KC_NO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END,
|
||||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_NO, KC_LEFT, KC_DOWN, KC_RGHT
|
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_NO, MO(1), KC_LEFT, KC_DOWN, KC_RGHT
|
||||||
),
|
),
|
||||||
[1] = LAYOUT_all(
|
[1] = LAYOUT_all(
|
||||||
RGB_TOG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET,
|
RGB_TOG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET,
|
||||||
|
@ -32,7 +32,7 @@
|
|||||||
#define LAYOUT_ansi( \
|
#define LAYOUT_ansi( \
|
||||||
k00, k01, k11, k02, k12, k03, k13, k04, k14, k15, k06, k16, k07, k17, \
|
k00, k01, k11, k02, k12, k03, k13, k04, k14, k15, k06, k16, k07, k17, \
|
||||||
k20, k30, k21, k31, k22, k32, k23, k33, k24, k34, k25, k35, k26, k36, k37, \
|
k20, k30, k21, k31, k22, k32, k23, k33, k24, k34, k25, k35, k26, k36, k37, \
|
||||||
k40, k50, k41, k51, k42, k52, k43, k53, k44, k54, k45, k55, k56, k47, k57, \
|
k40, k50, k41, k51, k42, k52, k43, k53, k44, k54, k45, k55, k46, k47, k57, \
|
||||||
k60, k70, k61, k71, k62, k72, k63, k73, k64, k74, k65, k75, k76, k77, \
|
k60, k70, k61, k71, k62, k72, k63, k73, k64, k74, k65, k75, k76, k77, \
|
||||||
k80, k81, k91, k82, k92, k83, k93, k84, k94, k85, k95, k86, k87, k97, \
|
k80, k81, k91, k82, k92, k83, k93, k84, k94, k85, k95, k86, k87, k97, \
|
||||||
ka0, kb0, ka1, ka3, ka5, ka6, kb6, ka7, kb7 \
|
ka0, kb0, ka1, ka3, ka5, ka6, kb6, ka7, kb7 \
|
||||||
@ -42,8 +42,8 @@
|
|||||||
{ XXX, k11, k12, k13, k14, k15, k16, k17 }, \
|
{ XXX, k11, k12, k13, k14, k15, k16, k17 }, \
|
||||||
{ k20, k21, k22, k23, k24, k25, k26, XXX }, \
|
{ k20, k21, k22, k23, k24, k25, k26, XXX }, \
|
||||||
{ k30, k31, k32, k33, k34, k35, k36, k37 }, \
|
{ k30, k31, k32, k33, k34, k35, k36, k37 }, \
|
||||||
{ k40, k41, k42, k43, k44, k45, XXX, k47 }, \
|
{ k40, k41, k42, k43, k44, k45, k46, k47 }, \
|
||||||
{ k50, k51, k52, k53, k54, k55, k56, k57 }, \
|
{ k50, k51, k52, k53, k54, k55, XXX, k57 }, \
|
||||||
{ k60, k61, k62, k63, k64, k65, XXX, XXX }, \
|
{ k60, k61, k62, k63, k64, k65, XXX, XXX }, \
|
||||||
{ k70, k71, k72, k73, k74, k75, k76, k77 }, \
|
{ k70, k71, k72, k73, k74, k75, k76, k77 }, \
|
||||||
{ k80, k81, k82, k83, k84, k85, k86, k87 }, \
|
{ k80, k81, k82, k83, k84, k85, k86, k87 }, \
|
||||||
@ -55,7 +55,7 @@
|
|||||||
#define LAYOUT_ansi_wkl( \
|
#define LAYOUT_ansi_wkl( \
|
||||||
k00, k01, k11, k02, k12, k03, k13, k04, k14, k15, k06, k16, k07, k17, \
|
k00, k01, k11, k02, k12, k03, k13, k04, k14, k15, k06, k16, k07, k17, \
|
||||||
k20, k30, k21, k31, k22, k32, k23, k33, k24, k34, k25, k35, k26, k36, k37, \
|
k20, k30, k21, k31, k22, k32, k23, k33, k24, k34, k25, k35, k26, k36, k37, \
|
||||||
k40, k50, k41, k51, k42, k52, k43, k53, k44, k54, k45, k55, k56, k47, k57, \
|
k40, k50, k41, k51, k42, k52, k43, k53, k44, k54, k45, k55, k46, k47, k57, \
|
||||||
k60, k70, k61, k71, k62, k72, k63, k73, k64, k74, k65, k75, k76, k77, \
|
k60, k70, k61, k71, k62, k72, k63, k73, k64, k74, k65, k75, k76, k77, \
|
||||||
k80, k81, k91, k82, k92, k83, k93, k84, k94, k85, k95, k86, k87, k97, \
|
k80, k81, k91, k82, k92, k83, k93, k84, k94, k85, k95, k86, k87, k97, \
|
||||||
ka0, kb0, ka3, ka5, ka6, kb6, ka7, kb7 \
|
ka0, kb0, ka3, ka5, ka6, kb6, ka7, kb7 \
|
||||||
@ -65,8 +65,8 @@
|
|||||||
{ XXX, k11, k12, k13, k14, k15, k16, k17 }, \
|
{ XXX, k11, k12, k13, k14, k15, k16, k17 }, \
|
||||||
{ k20, k21, k22, k23, k24, k25, k26, XXX }, \
|
{ k20, k21, k22, k23, k24, k25, k26, XXX }, \
|
||||||
{ k30, k31, k32, k33, k34, k35, k36, k37 }, \
|
{ k30, k31, k32, k33, k34, k35, k36, k37 }, \
|
||||||
{ k40, k41, k42, k43, k44, k45, XXX, k47 }, \
|
{ k40, k41, k42, k43, k44, k45, k46, k47 }, \
|
||||||
{ k50, k51, k52, k53, k54, k55, k56, k57 }, \
|
{ k50, k51, k52, k53, k54, k55, XXX, k57 }, \
|
||||||
{ k60, k61, k62, k63, k64, k65, XXX, XXX }, \
|
{ k60, k61, k62, k63, k64, k65, XXX, XXX }, \
|
||||||
{ k70, k71, k72, k73, k74, k75, k76, k77 }, \
|
{ k70, k71, k72, k73, k74, k75, k76, k77 }, \
|
||||||
{ k80, k81, k82, k83, k84, k85, k86, k87 }, \
|
{ k80, k81, k82, k83, k84, k85, k86, k87 }, \
|
||||||
@ -78,7 +78,7 @@
|
|||||||
#define LAYOUT_iso( \
|
#define LAYOUT_iso( \
|
||||||
k00, k01, k11, k02, k12, k03, k13, k04, k14, k15, k06, k16, k07, k17, \
|
k00, k01, k11, k02, k12, k03, k13, k04, k14, k15, k06, k16, k07, k17, \
|
||||||
k20, k30, k21, k31, k22, k32, k23, k33, k24, k34, k25, k35, k26, k36, k37, \
|
k20, k30, k21, k31, k22, k32, k23, k33, k24, k34, k25, k35, k26, k36, k37, \
|
||||||
k40, k50, k41, k51, k42, k52, k43, k53, k44, k54, k45, k55, k56, k47, k57, \
|
k40, k50, k41, k51, k42, k52, k43, k53, k44, k54, k45, k55, k46, k47, k57, \
|
||||||
k60, k70, k61, k71, k62, k72, k63, k73, k64, k74, k65, k75, k76, k77, \
|
k60, k70, k61, k71, k62, k72, k63, k73, k64, k74, k65, k75, k76, k77, \
|
||||||
k80, k90, k81, k91, k82, k92, k83, k93, k84, k94, k85, k95, k86, k87, k97, \
|
k80, k90, k81, k91, k82, k92, k83, k93, k84, k94, k85, k95, k86, k87, k97, \
|
||||||
ka0, kb0, ka1, ka3, ka5, ka6, kb6, ka7, kb7 \
|
ka0, kb0, ka1, ka3, ka5, ka6, kb6, ka7, kb7 \
|
||||||
@ -88,8 +88,8 @@
|
|||||||
{ XXX, k11, k12, k13, k14, k15, k16, k17 }, \
|
{ XXX, k11, k12, k13, k14, k15, k16, k17 }, \
|
||||||
{ k20, k21, k22, k23, k24, k25, k26, XXX }, \
|
{ k20, k21, k22, k23, k24, k25, k26, XXX }, \
|
||||||
{ k30, k31, k32, k33, k34, k35, k36, k37 }, \
|
{ k30, k31, k32, k33, k34, k35, k36, k37 }, \
|
||||||
{ k40, k41, k42, k43, k44, k45, XXX, k47 }, \
|
{ k40, k41, k42, k43, k44, k45, k46, k47 }, \
|
||||||
{ k50, k51, k52, k53, k54, k55, k56, k57 }, \
|
{ k50, k51, k52, k53, k54, k55, XXX, k57 }, \
|
||||||
{ k60, k61, k62, k63, k64, k65, XXX, XXX }, \
|
{ k60, k61, k62, k63, k64, k65, XXX, XXX }, \
|
||||||
{ k70, k71, k72, k73, k74, k75, k76, k77 }, \
|
{ k70, k71, k72, k73, k74, k75, k76, k77 }, \
|
||||||
{ k80, k81, k82, k83, k84, k85, k86, k87 }, \
|
{ k80, k81, k82, k83, k84, k85, k86, k87 }, \
|
||||||
@ -101,7 +101,7 @@
|
|||||||
#define LAYOUT_iso_wkl( \
|
#define LAYOUT_iso_wkl( \
|
||||||
k00, k01, k11, k02, k12, k03, k13, k04, k14, k15, k06, k16, k07, k17, \
|
k00, k01, k11, k02, k12, k03, k13, k04, k14, k15, k06, k16, k07, k17, \
|
||||||
k20, k30, k21, k31, k22, k32, k23, k33, k24, k34, k25, k35, k26, k36, k37, \
|
k20, k30, k21, k31, k22, k32, k23, k33, k24, k34, k25, k35, k26, k36, k37, \
|
||||||
k40, k50, k41, k51, k42, k52, k43, k53, k44, k54, k45, k55, k56, k47, k57, \
|
k40, k50, k41, k51, k42, k52, k43, k53, k44, k54, k45, k55, k46, k47, k57, \
|
||||||
k60, k70, k61, k71, k62, k72, k63, k73, k64, k74, k65, k75, k76, k77, \
|
k60, k70, k61, k71, k62, k72, k63, k73, k64, k74, k65, k75, k76, k77, \
|
||||||
k80, k90, k81, k91, k82, k92, k83, k93, k84, k94, k85, k95, k86, k87, k97, \
|
k80, k90, k81, k91, k82, k92, k83, k93, k84, k94, k85, k95, k86, k87, k97, \
|
||||||
ka0, kb0, ka3, ka5, ka6, kb6, ka7, kb7 \
|
ka0, kb0, ka3, ka5, ka6, kb6, ka7, kb7 \
|
||||||
@ -111,8 +111,8 @@
|
|||||||
{ XXX, k11, k12, k13, k14, k15, k16, k17 }, \
|
{ XXX, k11, k12, k13, k14, k15, k16, k17 }, \
|
||||||
{ k20, k21, k22, k23, k24, k25, k26, XXX }, \
|
{ k20, k21, k22, k23, k24, k25, k26, XXX }, \
|
||||||
{ k30, k31, k32, k33, k34, k35, k36, k37 }, \
|
{ k30, k31, k32, k33, k34, k35, k36, k37 }, \
|
||||||
{ k40, k41, k42, k43, k44, k45, XXX, k47 }, \
|
{ k40, k41, k42, k43, k44, k45, k46, k47 }, \
|
||||||
{ k50, k51, k52, k53, k54, k55, k56, k57 }, \
|
{ k50, k51, k52, k53, k54, k55, XXX, k57 }, \
|
||||||
{ k60, k61, k62, k63, k64, k65, XXX, XXX }, \
|
{ k60, k61, k62, k63, k64, k65, XXX, XXX }, \
|
||||||
{ k70, k71, k72, k73, k74, k75, k76, k77 }, \
|
{ k70, k71, k72, k73, k74, k75, k76, k77 }, \
|
||||||
{ k80, k81, k82, k83, k84, k85, k86, k87 }, \
|
{ k80, k81, k82, k83, k84, k85, k86, k87 }, \
|
||||||
@ -124,7 +124,7 @@
|
|||||||
#define LAYOUT_all( \
|
#define LAYOUT_all( \
|
||||||
k00, k01, k11, k02, k12, k03, k13, k04, k14, k15, k06, k16, k07, k17, \
|
k00, k01, k11, k02, k12, k03, k13, k04, k14, k15, k06, k16, k07, k17, \
|
||||||
k20, k30, k21, k31, k22, k32, k23, k33, k24, k34, k25, k35, k26, k36, k27, k37, \
|
k20, k30, k21, k31, k22, k32, k23, k33, k24, k34, k25, k35, k26, k36, k27, k37, \
|
||||||
k40, k50, k41, k51, k42, k52, k43, k53, k44, k54, k45, k55, k56, k47, k57, \
|
k40, k50, k41, k51, k42, k52, k43, k53, k44, k54, k45, k55, k46, k47, k57, \
|
||||||
k60, k70, k61, k71, k62, k72, k63, k73, k64, k74, k65, k75, k76, k77, \
|
k60, k70, k61, k71, k62, k72, k63, k73, k64, k74, k65, k75, k76, k77, \
|
||||||
k80, k90, k81, k91, k82, k92, k83, k93, k84, k94, k85, k95, k86, k87, k97, \
|
k80, k90, k81, k91, k82, k92, k83, k93, k84, k94, k85, k95, k86, k87, k97, \
|
||||||
ka0, kb0, ka1, ka3, ka5, kb5, ka6, kb6, ka7, kb7 \
|
ka0, kb0, ka1, ka3, ka5, kb5, ka6, kb6, ka7, kb7 \
|
||||||
@ -134,8 +134,8 @@
|
|||||||
{ XXX, k11, k12, k13, k14, k15, k16, k17 }, \
|
{ XXX, k11, k12, k13, k14, k15, k16, k17 }, \
|
||||||
{ k20, k21, k22, k23, k24, k25, k26, k27 }, \
|
{ k20, k21, k22, k23, k24, k25, k26, k27 }, \
|
||||||
{ k30, k31, k32, k33, k34, k35, k36, k37 }, \
|
{ k30, k31, k32, k33, k34, k35, k36, k37 }, \
|
||||||
{ k40, k41, k42, k43, k44, k45, XXX, k47 }, \
|
{ k40, k41, k42, k43, k44, k45, k46, k47 }, \
|
||||||
{ k50, k51, k52, k53, k54, k55, k56, k57 }, \
|
{ k50, k51, k52, k53, k54, k55, XXX, k57 }, \
|
||||||
{ k60, k61, k62, k63, k64, k65, XXX, XXX }, \
|
{ k60, k61, k62, k63, k64, k65, XXX, XXX }, \
|
||||||
{ k70, k71, k72, k73, k74, k75, k76, k77 }, \
|
{ k70, k71, k72, k73, k74, k75, k76, k77 }, \
|
||||||
{ k80, k81, k82, k83, k84, k85, k86, k87 }, \
|
{ k80, k81, k82, k83, k84, k85, k86, k87 }, \
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
|
|
||||||
#include "quantum.h"
|
#include "quantum.h"
|
||||||
|
|
||||||
// The first section contains all of the arguements
|
// The first section contains all of the arguments
|
||||||
// The second converts the arguments into a two-dimensional array
|
// The second converts the arguments into a two-dimensional array
|
||||||
#define LAYOUT( \
|
#define LAYOUT( \
|
||||||
k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, \
|
k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, \
|
||||||
|
@ -1,39 +1,6 @@
|
|||||||
#include QMK_KEYBOARD_H
|
#include QMK_KEYBOARD_H
|
||||||
#include "keymap_uk.h"
|
#include "keymap_uk.h"
|
||||||
|
#include "ajp10304.h"
|
||||||
extern keymap_config_t keymap_config;
|
|
||||||
|
|
||||||
enum planck_layers {
|
|
||||||
_QWERTY,
|
|
||||||
_MAC,
|
|
||||||
_LOWER,
|
|
||||||
_MLWR,
|
|
||||||
_RAISE,
|
|
||||||
_MRSE,
|
|
||||||
_FUNC,
|
|
||||||
_MFNC,
|
|
||||||
_FUNC2,
|
|
||||||
_MFNC2,
|
|
||||||
_ADJUST,
|
|
||||||
_MOUSE
|
|
||||||
};
|
|
||||||
|
|
||||||
enum planck_keycodes {
|
|
||||||
QWERTY = SAFE_RANGE,
|
|
||||||
MAC,
|
|
||||||
FUNC,
|
|
||||||
MFNC,
|
|
||||||
FUNC2,
|
|
||||||
MFNC2,
|
|
||||||
LOWER,
|
|
||||||
MLWR,
|
|
||||||
RAISE,
|
|
||||||
MRSE,
|
|
||||||
MOUSE,
|
|
||||||
DYNAMIC_MACRO_RANGE
|
|
||||||
};
|
|
||||||
|
|
||||||
#include "dynamic_macro.h"
|
|
||||||
|
|
||||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
|
||||||
@ -49,7 +16,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||||||
* `-------------------------------------------------------------------------------------------------'
|
* `-------------------------------------------------------------------------------------------------'
|
||||||
*/
|
*/
|
||||||
[_QWERTY] = LAYOUT(
|
[_QWERTY] = LAYOUT(
|
||||||
KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC ,
|
LT(_NUMPAD, KC_ESC), KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC ,
|
||||||
MT(MOD_LSFT, KC_TAB), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, MT(MOD_RSFT, KC_ENT) ,
|
MT(MOD_LSFT, KC_TAB), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, MT(MOD_RSFT, KC_ENT) ,
|
||||||
KC_LSHIFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSHIFT ,
|
KC_LSHIFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSHIFT ,
|
||||||
MO(_FUNC), KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_BSPC, KC_LCTL, KC_LALT, KC_SPC, RAISE, KC_LSHIFT, KC_BTN2, KC_RCTL, MO(_FUNC2)
|
MO(_FUNC), KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_BSPC, KC_LCTL, KC_LALT, KC_SPC, RAISE, KC_LSHIFT, KC_BTN2, KC_RCTL, MO(_FUNC2)
|
||||||
@ -103,7 +70,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||||||
* `-------------------------------------------------------------------------------------------------'
|
* `-------------------------------------------------------------------------------------------------'
|
||||||
*/
|
*/
|
||||||
[_RAISE] = LAYOUT(
|
[_RAISE] = LAYOUT(
|
||||||
KC_GRV, XXXXXXX, M(1), KC_LBRC, KC_RBRC, XXXXXXX, XXXXXXX, KC_PGUP, KC_HOME, KC_PGDOWN, XXXXXXX, KC_PSCREEN ,
|
KC_GRV, XXXXXXX, M_WORD_SEL, KC_LBRC, KC_RBRC, XXXXXXX, XXXXXXX, KC_PGUP, KC_HOME, KC_PGDOWN, XXXXXXX, KC_PSCREEN ,
|
||||||
KC_GRV, XXXXXXX, XXXXXXX, LSFT(KC_9), LSFT(KC_0), XXXXXXX, XXXXXXX, KC_HOME, KC_UP, KC_END, XXXXXXX, LCTL(LSFT(KC_EQL)) ,
|
KC_GRV, XXXXXXX, XXXXXXX, LSFT(KC_9), LSFT(KC_0), XXXXXXX, XXXXXXX, KC_HOME, KC_UP, KC_END, XXXXXXX, LCTL(LSFT(KC_EQL)) ,
|
||||||
_______, XXXXXXX, XXXXXXX, LSFT(KC_LBRC), LSFT(KC_RBRC), XXXXXXX, LCTL(KC_LEFT), KC_LEFT, KC_DOWN, KC_RIGHT, LCTL(KC_RIGHT), LCTL(KC_MINS) ,
|
_______, XXXXXXX, XXXXXXX, LSFT(KC_LBRC), LSFT(KC_RBRC), XXXXXXX, LCTL(KC_LEFT), KC_LEFT, KC_DOWN, KC_RIGHT, LCTL(KC_RIGHT), LCTL(KC_MINS) ,
|
||||||
MO(_MOUSE), _______, _______, _______, _______, KC_LALT, _______, _______, KC_ENT, _______, XXXXXXX, _______, _______, _______
|
MO(_MOUSE), _______, _______, _______, _______, KC_LALT, _______, _______, KC_ENT, _______, XXXXXXX, _______, _______, _______
|
||||||
@ -121,7 +88,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||||||
* `-------------------------------------------------------------------------------------------------'
|
* `-------------------------------------------------------------------------------------------------'
|
||||||
*/
|
*/
|
||||||
[_ADJUST] = LAYOUT(
|
[_ADJUST] = LAYOUT(
|
||||||
M(0), RESET, QWERTY, _______, _______, DYN_REC_START1, DYN_REC_START2, _______, _______, _______, _______, KC_DEL ,
|
M_CUSTOM, RESET, QWERTY, _______, _______, DYN_REC_START1, DYN_REC_START2, _______, _______, _______, _______, KC_DEL ,
|
||||||
KC_CAPS, _______, _______, _______, _______, DYN_MACRO_PLAY1, DYN_MACRO_PLAY2, KC_AUDIO_MUTE, KC_AUDIO_VOL_UP, KC_MEDIA_PLAY_PAUSE, _______, _______ ,
|
KC_CAPS, _______, _______, _______, _______, DYN_MACRO_PLAY1, DYN_MACRO_PLAY2, KC_AUDIO_MUTE, KC_AUDIO_VOL_UP, KC_MEDIA_PLAY_PAUSE, _______, _______ ,
|
||||||
TG(_MAC), _______, _______, _______, _______, DYN_REC_STOP, DYN_REC_STOP, KC_MEDIA_PREV_TRACK, KC_AUDIO_VOL_DOWN, KC_MEDIA_NEXT_TRACK, _______, _______ ,
|
TG(_MAC), _______, _______, _______, _______, DYN_REC_STOP, DYN_REC_STOP, KC_MEDIA_PREV_TRACK, KC_AUDIO_VOL_DOWN, KC_MEDIA_NEXT_TRACK, _______, _______ ,
|
||||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||||
@ -129,7 +96,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||||||
|
|
||||||
/* Mouse
|
/* Mouse
|
||||||
* ,------------------------------------------ |-----------------------------------------.
|
* ,------------------------------------------ |-----------------------------------------.
|
||||||
* | ESC | | | | | | | | | | | | |
|
* | ESC | | | | | | | | | BTN3 | | | |
|
||||||
* |------+------+------+------+------+------- |------+------+------+------+------+------|
|
* |------+------+------+------+------+------- |------+------+------+------+------+------|
|
||||||
* | ACC0 | ACC1 | ACC2 | | | | | | BTN1 | UP | BTN2 | | |
|
* | ACC0 | ACC1 | ACC2 | | | | | | BTN1 | UP | BTN2 | | |
|
||||||
* |------+------+------+------+------+------| |------+------+------+------+------+------|
|
* |------+------+------+------+------+------| |------+------+------+------+------+------|
|
||||||
@ -139,12 +106,32 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||||||
* `-------------------------------------------------------------------------------------------------'
|
* `-------------------------------------------------------------------------------------------------'
|
||||||
*/
|
*/
|
||||||
[_MOUSE] = LAYOUT(
|
[_MOUSE] = LAYOUT(
|
||||||
KC_ESC , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ,
|
KC_ESC , _______, _______, _______, _______, _______, _______, _______, KC_MS_BTN3, _______, _______, _______ ,
|
||||||
KC_MS_ACCEL0, KC_MS_ACCEL1, KC_MS_ACCEL2, _______, _______, _______, _______, KC_MS_BTN1, KC_MS_UP, KC_MS_BTN2, _______, _______ ,
|
KC_MS_ACCEL0, KC_MS_ACCEL1, KC_MS_ACCEL2, _______, _______, _______, _______, KC_MS_BTN1, KC_MS_UP, KC_MS_BTN2, _______, _______ ,
|
||||||
KC_MS_ACCEL0, KC_MS_ACCEL1, KC_MS_ACCEL2, _______, _______, _______, _______, KC_MS_LEFT, KC_MS_DOWN, KC_MS_RIGHT, _______, _______ ,
|
KC_MS_ACCEL0, KC_MS_ACCEL1, KC_MS_ACCEL2, _______, _______, _______, _______, KC_MS_LEFT, KC_MS_DOWN, KC_MS_RIGHT, _______, _______ ,
|
||||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||||
),
|
),
|
||||||
|
|
||||||
|
|
||||||
|
/* Num Pad
|
||||||
|
* ,------------------------------------------ |-----------------------------------------.
|
||||||
|
* | ESC | | | | | | |NMLOCK| 7 | 8 | 9 | / | |
|
||||||
|
* |------+------+------+------+------+------- |------+------+------+------+------+------|
|
||||||
|
* | | | | | | | | | 4 | 5 | 6 | * | |
|
||||||
|
* |------+------+------+------+------+------| |------+------+------+------+------+------|
|
||||||
|
* | | | | | | | | | 1 | 2 | 3 | + | |
|
||||||
|
* |------+------+------+------+------+------|------+------+------+------+------+------+------+------|
|
||||||
|
* | | | | | | | | | | 0 | . | , | - | |
|
||||||
|
* `-------------------------------------------------------------------------------------------------'
|
||||||
|
*/
|
||||||
|
[_NUMPAD] = LAYOUT(
|
||||||
|
_______, _______, _______, _______, _______, _______, KC_NLCK, KC_KP_7, KC_KP_8, KC_KP_9, KC_KP_SLASH, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, KC_KP_4, KC_KP_5, KC_KP_6, KC_KP_ASTERISK, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, KC_KP_1, KC_KP_2, KC_KP_3, KC_KP_PLUS, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, KC_KP_0, KC_KP_DOT, KC_COMM, KC_KP_MINUS, _______
|
||||||
|
),
|
||||||
|
|
||||||
|
|
||||||
/* Function 2 (Right hand side)
|
/* Function 2 (Right hand side)
|
||||||
* ,------------------------------------------ |-----------------------------------------.
|
* ,------------------------------------------ |-----------------------------------------.
|
||||||
* | | |WRDSEL| | | | | LNDEL| | | | | |
|
* | | |WRDSEL| | | | | LNDEL| | | | | |
|
||||||
@ -157,9 +144,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||||||
* `-------------------------------------------------------------------------------------------------'
|
* `-------------------------------------------------------------------------------------------------'
|
||||||
*/
|
*/
|
||||||
[_FUNC2] = LAYOUT(
|
[_FUNC2] = LAYOUT(
|
||||||
_______, _______, M(1), _______, _______, _______, M(5), _______, _______, _______, _______, _______,
|
_______, _______, M_WORD_SEL, _______, _______, _______, M_LINE_DEL, _______, _______, _______, _______, _______,
|
||||||
_______, _______, M(3), M(7), _______, _______, _______, M(10), _______, _______, _______, _______,
|
_______, _______, M_LINE_SEL, M_DUP, _______, _______, _______, M_JOIN, _______, _______, _______, _______,
|
||||||
_______, LCTL(KC_Z), LCTL(KC_X), LCTL(KC_C), LCTL(KC_V), _______, _______, _______, _______, _______, _______, M(98) ,
|
_______, LCTL(KC_Z), LCTL(KC_X), LCTL(KC_C), LCTL(KC_V), _______, _______, _______, _______, _______, _______, M_MODE,
|
||||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||||
),
|
),
|
||||||
|
|
||||||
@ -178,7 +165,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||||||
),
|
),
|
||||||
|
|
||||||
[_MRSE] = LAYOUT(
|
[_MRSE] = LAYOUT(
|
||||||
_______, _______, M(2), _______, _______, _______, _______, _______, _______, _______, _______, _______ ,
|
_______, _______, M_WORD_SEL_MAC, _______, _______, _______, _______, _______, _______, _______, _______, _______ ,
|
||||||
_______, _______, _______, _______, _______, _______, _______, LCTL(KC_A), _______, LCTL(KC_E), _______, LGUI(KC_EQL) ,
|
_______, _______, _______, _______, _______, _______, _______, LCTL(KC_A), _______, LCTL(KC_E), _______, LGUI(KC_EQL) ,
|
||||||
_______, _______, _______, _______, _______, _______, LALT(KC_LEFT), _______, _______, _______, LALT(KC_RIGHT), LGUI(KC_MINS) ,
|
_______, _______, _______, _______, _______, _______, LALT(KC_LEFT), _______, _______, _______, LALT(KC_RIGHT), LGUI(KC_MINS) ,
|
||||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||||
@ -192,151 +179,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||||||
),
|
),
|
||||||
|
|
||||||
[_MFNC2] = LAYOUT(
|
[_MFNC2] = LAYOUT(
|
||||||
_______, _______, M(2), _______, _______, _______, M(6), _______, _______, _______, _______, _______,
|
_______, _______, M_WORD_SEL_MAC, _______, _______, _______, M_LINE_DEL_MAC, _______, _______, _______, _______, _______,
|
||||||
_______, _______, M(4), M(8), _______, _______, _______, M(10), _______, _______, _______, _______,
|
_______, _______, M_LINE_SEL_MAC, M_DUP_MAC, _______, _______, _______, M_JOIN_MAC, _______, _______, _______, _______,
|
||||||
_______, LGUI(KC_Z), LGUI(KC_X), LGUI(KC_C), LGUI(KC_V), _______, _______, _______, _______, _______, _______, M(99) ,
|
_______, LGUI(KC_Z), LGUI(KC_X), LGUI(KC_C), LGUI(KC_V), _______, _______, _______, _______, _______, _______, M_MODE_MAC,
|
||||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||||
)
|
)
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
void persistant_default_layer_set(uint16_t default_layer) {
|
|
||||||
eeconfig_update_default_layer(default_layer);
|
|
||||||
default_layer_set(default_layer);
|
|
||||||
}
|
|
||||||
|
|
||||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
|
||||||
|
|
||||||
if (!process_record_dynamic_macro(keycode, record)) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
switch (keycode) {
|
|
||||||
case QWERTY:
|
|
||||||
if (record->event.pressed) {
|
|
||||||
persistant_default_layer_set(1UL<<_QWERTY);
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
case LOWER:
|
|
||||||
if (record->event.pressed) {
|
|
||||||
layer_on(_LOWER);
|
|
||||||
update_tri_layer(_LOWER, _RAISE, _ADJUST);
|
|
||||||
} else {
|
|
||||||
layer_off(_LOWER);
|
|
||||||
update_tri_layer(_LOWER, _RAISE, _ADJUST);
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
case RAISE:
|
|
||||||
if (record->event.pressed) {
|
|
||||||
layer_on(_RAISE);
|
|
||||||
update_tri_layer(_LOWER, _RAISE, _ADJUST);
|
|
||||||
} else {
|
|
||||||
layer_off(_RAISE);
|
|
||||||
update_tri_layer(_LOWER, _RAISE, _ADJUST);
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
case MLWR:
|
|
||||||
if (record->event.pressed) {
|
|
||||||
layer_on(_LOWER);
|
|
||||||
layer_on(_MLWR);
|
|
||||||
update_tri_layer(_LOWER, _RAISE, _ADJUST);
|
|
||||||
} else {
|
|
||||||
layer_off(_LOWER);
|
|
||||||
layer_off(_MLWR);
|
|
||||||
update_tri_layer(_LOWER, _RAISE, _ADJUST);
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
case MRSE:
|
|
||||||
if (record->event.pressed) {
|
|
||||||
layer_on(_RAISE);
|
|
||||||
layer_on(_MRSE);
|
|
||||||
update_tri_layer(_LOWER, _RAISE, _ADJUST);
|
|
||||||
} else {
|
|
||||||
layer_off(_RAISE);
|
|
||||||
layer_off(_MRSE);
|
|
||||||
update_tri_layer(_LOWER, _RAISE, _ADJUST);
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
case MFNC:
|
|
||||||
if (record->event.pressed) {
|
|
||||||
layer_on(_FUNC);
|
|
||||||
layer_on(_MFNC);
|
|
||||||
} else {
|
|
||||||
layer_off(_FUNC);
|
|
||||||
layer_off(_MFNC);
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
case MFNC2:
|
|
||||||
if (record->event.pressed) {
|
|
||||||
layer_on(_FUNC2);
|
|
||||||
layer_on(_MFNC2);
|
|
||||||
} else {
|
|
||||||
layer_off(_FUNC2);
|
|
||||||
layer_off(_MFNC2);
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
const macro_t *action_get_macro(keyrecord_t *record, uint8_t keycode, uint8_t opt) {
|
|
||||||
// These would trigger when you hit a key mapped as M(0)
|
|
||||||
if (record->event.pressed) {
|
|
||||||
switch(keycode) {
|
|
||||||
case 0: // Some custom string here
|
|
||||||
SEND_STRING("");
|
|
||||||
return false;
|
|
||||||
|
|
||||||
case 1: // Word Select
|
|
||||||
SEND_STRING(SS_DOWN(X_LCTRL) SS_TAP(X_RIGHT) SS_DOWN(X_LSHIFT) SS_TAP(X_LEFT) SS_UP(X_LSHIFT) SS_UP(X_LCTRL));
|
|
||||||
return false;
|
|
||||||
|
|
||||||
case 2: // Word Select Mac
|
|
||||||
SEND_STRING(SS_DOWN(X_LALT) SS_TAP(X_RIGHT) SS_DOWN(X_LSHIFT) SS_TAP(X_LEFT) SS_UP(X_LSHIFT) SS_UP(X_LALT));
|
|
||||||
return false;
|
|
||||||
|
|
||||||
case 3: // Line Select
|
|
||||||
SEND_STRING(SS_TAP(X_HOME) SS_DOWN(X_LSHIFT) SS_TAP(X_END) SS_UP(X_LSHIFT));
|
|
||||||
return false;
|
|
||||||
|
|
||||||
case 4: // Line Select Mac
|
|
||||||
SEND_STRING(SS_LCTRL("a") SS_DOWN(X_LSHIFT) SS_LCTRL("e") SS_UP(X_LSHIFT));
|
|
||||||
return false;
|
|
||||||
|
|
||||||
case 5: // Line Delete
|
|
||||||
SEND_STRING(SS_TAP(X_HOME) SS_DOWN(X_LSHIFT) SS_TAP(X_END) SS_UP(X_LSHIFT));
|
|
||||||
SEND_STRING(SS_TAP(X_BSPACE));
|
|
||||||
return false;
|
|
||||||
|
|
||||||
case 6: // Line Delete Mac
|
|
||||||
SEND_STRING(SS_LCTRL("a") SS_DOWN(X_LSHIFT) SS_LCTRL("e") SS_UP(X_LSHIFT));
|
|
||||||
SEND_STRING(SS_TAP(X_BSPACE));
|
|
||||||
return false;
|
|
||||||
|
|
||||||
case 7: // Duplicate Selection
|
|
||||||
SEND_STRING(SS_LCTRL("c") SS_TAP(X_RIGHT) SS_LCTRL("v"));
|
|
||||||
return false;
|
|
||||||
|
|
||||||
case 8: // Duplicate Selection Mac
|
|
||||||
SEND_STRING(SS_LGUI("c") SS_TAP(X_RIGHT) SS_LGUI("v"));
|
|
||||||
return false;
|
|
||||||
|
|
||||||
case 9: // Join line
|
|
||||||
SEND_STRING(SS_TAP(X_END) SS_TAP(X_DELETE));
|
|
||||||
return false;
|
|
||||||
|
|
||||||
case 10: // Join line Mac
|
|
||||||
SEND_STRING(SS_LCTRL("e") SS_TAP(X_DELETE));
|
|
||||||
return false;
|
|
||||||
|
|
||||||
case 98: // Print mode
|
|
||||||
SEND_STRING("PC");
|
|
||||||
return false;
|
|
||||||
|
|
||||||
case 99: // Print mode
|
|
||||||
SEND_STRING("OSX");
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return MACRO_NONE;
|
|
||||||
};
|
|
||||||
|
@ -1,11 +1,15 @@
|
|||||||
# AJP10304 Custom Atreus50 Layout
|
# AJP10304 Custom Atreus50 Layout
|
||||||
# Also available for the Planck and JJ40
|
# Also available for the Planck, Shark and JJ40
|
||||||
|
|
||||||
**Note:** In the tables below where there are two characters on a key,
|
**Note:** In the tables below where there are two characters on a key,
|
||||||
the second is the output when shift is applied.
|
the second is the output when shift is applied.
|
||||||
|
|
||||||
**Note:** The below tables assume a UK layout.
|
**Note:** The below tables assume a UK layout.
|
||||||
|
|
||||||
|
#### Flashing
|
||||||
|
|
||||||
|
`make handwired/atreus50:ajp10304:flash`
|
||||||
|
|
||||||
##### Main Qwerty Layer
|
##### Main Qwerty Layer
|
||||||
|
|
||||||
* Tab: when held, operates as shift.
|
* Tab: when held, operates as shift.
|
||||||
@ -43,13 +47,13 @@ Activated when `Lower` is held in the above `qwerty` layer.
|
|||||||
| Shift | \| | `¬ | #~ | '@ | -_ | | | =+ | #~ | [{ | ]} | '@ |Shift |
|
| Shift | \| | `¬ | #~ | '@ | -_ | | | =+ | #~ | [{ | ]} | '@ |Shift |
|
||||||
| | | | |Lower | Del | Ctrl | Alt |Space | | Next | Vol- | Vol+ | Play |
|
| | | | |Lower | Del | Ctrl | Alt |Space | | Next | Vol- | Vol+ | Play |
|
||||||
|
|
||||||
##### Raise Layer
|
##### Raise Layer
|
||||||
Activated when `Raise` is held in the above `qwerty` layer.
|
Activated when `Raise` is held in the above `qwerty` layer.
|
||||||
|
|
||||||
* Preferred layer for typing brackets.
|
* Preferred layer for typing brackets.
|
||||||
* Allows for cursor navigation to be used solely with the right hand.
|
* Allows for cursor navigation to be used solely with the right hand.
|
||||||
* WRDSEL: Select the word where the cursor is.
|
* WRDSEL: Select the word where the cursor is.
|
||||||
* |< and >|: Apply `ctrl` to `left` and `right` respectively for word jumping.
|
* |< and >|: Apply `ctrl` to `left` and `right` respectively for word jumping.
|
||||||
|
|
||||||
| | | | | | | | | | | | | | |
|
| | | | | | | | | | | | | | |
|
||||||
| :---: |:----:| :---:| :---:| :---:| :---:| :---:| :---:| :---: | :---:| :---:| :---:| :---: | :---:|
|
| :---: |:----:| :---:| :---:| :---:| :---:| :---:| :---:| :---: | :---:| :---:| :---:| :---: | :---:|
|
||||||
@ -98,11 +102,20 @@ Activated when `fn` and `raise` held together.
|
|||||||
|
|
||||||
| | | | | | | | | | | | | | |
|
| | | | | | | | | | | | | | |
|
||||||
| :---: | :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:|
|
| :---: | :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:|
|
||||||
| ESC | | | | | | | | | | | | | |
|
| ESC | | | | | | | | | | BTN3 | | | |
|
||||||
| ACC0 | ACC1 | ACC2 | | | | | | | BTN1 | UP | BTN2 | | |
|
| ACC0 | ACC1 | ACC2 | | | | | | | BTN1 | UP | BTN2 | | |
|
||||||
| ACC0 | ACC1 | ACC2 | | | | | | | LEFT | DOWN | RIGHT| | |
|
| ACC0 | ACC1 | ACC2 | | | | | | | LEFT | DOWN | RIGHT| | |
|
||||||
| | | | | | | Ctrl | Alt | | | | | | |
|
| | | | | | | Ctrl | Alt | | | | | | |
|
||||||
|
|
||||||
|
##### Number Pad Layout
|
||||||
|
Activated when holding `Esc` key.
|
||||||
|
|
||||||
|
| | | | | | | | | | | | | | |
|
||||||
|
| :---: | :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:|
|
||||||
|
| | | | | | | | |NMLOCK| 7 | 8 | 9 | / | |
|
||||||
|
| | | | | | | | | | 4 | 5 | 6 | * | |
|
||||||
|
| | | | | | | | | | 1 | 2 | 3 | + | |
|
||||||
|
| | | | | | | Ctrl | Alt | | 0 | . | , | - | |
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
##Program Command
|
|
||||||
teensy_loader_cli -w -mmcu=atmega32u4 handwired_atreus50_ajp10304.hex
|
|
||||||
|
@ -1,8 +1,3 @@
|
|||||||
AUDIO_ENABLE = no
|
AUDIO_ENABLE = no
|
||||||
MOUSEKEY_ENABLE = yes
|
MOUSEKEY_ENABLE = yes
|
||||||
|
|
||||||
TEMP := $(OPT_DEFS)
|
|
||||||
OPT_DEFS = $(filter-out -DBOOTLOADER_SIZE=4096,$(TEMP))
|
|
||||||
OPT_DEFS += -DBOOTLOADER_SIZE=512
|
|
||||||
|
|
||||||
BOOTLOADER = halfkay
|
BOOTLOADER = halfkay
|
||||||
|
51
keyboards/handwired/boss566y/redragon_vara/config.h
Normal file
51
keyboards/handwired/boss566y/redragon_vara/config.h
Normal file
@ -0,0 +1,51 @@
|
|||||||
|
/*
|
||||||
|
Copyright 2020 boss566y
|
||||||
|
|
||||||
|
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 0x5048 //PH
|
||||||
|
#define PRODUCT_ID 0x0001
|
||||||
|
#define DEVICE_VER 0x0001
|
||||||
|
#define MANUFACTURER PH
|
||||||
|
#define PRODUCT Redragon Vara
|
||||||
|
#define DESCRIPTION HandWired Redragon Vara
|
||||||
|
|
||||||
|
/* key matrix size */
|
||||||
|
#define MATRIX_ROWS 12
|
||||||
|
#define MATRIX_COLS 11
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Keyboard Matrix Assignments
|
||||||
|
*
|
||||||
|
* Change this to how you wired your keyboard
|
||||||
|
* COLS: AVR pins used for columns, left to right
|
||||||
|
* ROWS: AVR pins used for rows, top to bottom
|
||||||
|
* DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
|
||||||
|
* ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
#define MATRIX_ROW_PINS { B0, B1, B2, B3, B7, D0, F0, F1, F4, F5, F6, F7 }
|
||||||
|
#define MATRIX_COL_PINS { D1, D2, D3, C6, D5, C7, D4, D7, B4, B5, B6 }
|
||||||
|
|
||||||
|
#define DIODE_DIRECTION COL2ROW
|
||||||
|
|
||||||
|
|
||||||
|
// generated by KBFirmware JSON to QMK Parser
|
||||||
|
// https://noroadsleft.github.io/kbf_qmk_converter/
|
118
keyboards/handwired/boss566y/redragon_vara/info.json
Normal file
118
keyboards/handwired/boss566y/redragon_vara/info.json
Normal file
@ -0,0 +1,118 @@
|
|||||||
|
{
|
||||||
|
"keyboard_name": "Handwired Redragon Vara",
|
||||||
|
"url": "",
|
||||||
|
"maintainer": "qmk",
|
||||||
|
"width": 22.5,
|
||||||
|
"height": 6.5,
|
||||||
|
"layouts": {
|
||||||
|
"LAYOUT_fullsize_ansi": {
|
||||||
|
"layout": [
|
||||||
|
{"label":"K00 (B0,D1)", "x":0, "y":0},
|
||||||
|
{"label":"K02 (B0,D3)", "x":2, "y":0},
|
||||||
|
{"label":"K03 (B0,C6)", "x":3, "y":0},
|
||||||
|
{"label":"K04 (B0,D5)", "x":4, "y":0},
|
||||||
|
{"label":"K05 (B0,C7)", "x":5, "y":0},
|
||||||
|
{"label":"K07 (B0,D7)", "x":6.5, "y":0},
|
||||||
|
{"label":"K08 (B0,B4)", "x":7.5, "y":0},
|
||||||
|
{"label":"K09 (B0,B5)", "x":8.5, "y":0},
|
||||||
|
{"label":"K0A (B0,B6)", "x":9.5, "y":0},
|
||||||
|
{"label":"K6A (F0,B6)", "x":11, "y":0},
|
||||||
|
{"label":"K69 (F0,B5)", "x":12, "y":0},
|
||||||
|
{"label":"K68 (F0,B4)", "x":13, "y":0},
|
||||||
|
{"label":"K67 (F0,D7)", "x":14, "y":0},
|
||||||
|
{"label":"K66 (F0,D4)", "x":15.25, "y":0},
|
||||||
|
{"label":"K65 (F0,C7)", "x":16.25, "y":0},
|
||||||
|
{"label":"K64 (F0,D5)", "x":17.25, "y":0},
|
||||||
|
{"label":"K10 (B1,D1)", "x":0, "y":1.5},
|
||||||
|
{"label":"K11 (B1,D2)", "x":1, "y":1.5},
|
||||||
|
{"label":"K12 (B1,D3)", "x":2, "y":1.5},
|
||||||
|
{"label":"K13 (B1,C6)", "x":3, "y":1.5},
|
||||||
|
{"label":"K14 (B1,D5)", "x":4, "y":1.5},
|
||||||
|
{"label":"K15 (B1,C7)", "x":5, "y":1.5},
|
||||||
|
{"label":"K16 (B1,D4)", "x":6, "y":1.5},
|
||||||
|
{"label":"K17 (B1,D7)", "x":7, "y":1.5},
|
||||||
|
{"label":"K18 (B1,B4)", "x":8, "y":1.5},
|
||||||
|
{"label":"K19 (B1,B5)", "x":9, "y":1.5},
|
||||||
|
{"label":"K1A (B1,B6)", "x":10, "y":1.5},
|
||||||
|
{"label":"K7A (F1,B6)", "x":11, "y":1.5},
|
||||||
|
{"label":"K79 (F1,B5)", "x":12, "y":1.5},
|
||||||
|
{"label":"K78 (F1,B4)", "x":13, "y":1.5, "w":2},
|
||||||
|
{"label":"K76 (F1,D4)", "x":15.25, "y":1.5},
|
||||||
|
{"label":"K75 (F1,C7)", "x":16.25, "y":1.5},
|
||||||
|
{"label":"K74 (F1,D5)", "x":17.25, "y":1.5},
|
||||||
|
{"label":"K73 (F1,C6)", "x":18.5, "y":1.5},
|
||||||
|
{"label":"K72 (F1,D3)", "x":19.5, "y":1.5},
|
||||||
|
{"label":"K71 (F1,D2)", "x":20.5, "y":1.5},
|
||||||
|
{"label":"K70 (F1,D1)", "x":21.5, "y":1.5},
|
||||||
|
{"label":"K20 (B2,D1)", "x":0, "y":2.5, "w":1.5},
|
||||||
|
{"label":"K21 (B2,D2)", "x":1.5, "y":2.5},
|
||||||
|
{"label":"K22 (B2,D3)", "x":2.5, "y":2.5},
|
||||||
|
{"label":"K23 (B2,C6)", "x":3.5, "y":2.5},
|
||||||
|
{"label":"K24 (B2,D5)", "x":4.5, "y":2.5},
|
||||||
|
{"label":"K25 (B2,C7)", "x":5.5, "y":2.5},
|
||||||
|
{"label":"K26 (B2,D4)", "x":6.5, "y":2.5},
|
||||||
|
{"label":"K27 (B2,D7)", "x":7.5, "y":2.5},
|
||||||
|
{"label":"K28 (B2,B4)", "x":8.5, "y":2.5},
|
||||||
|
{"label":"K29 (B2,B5)", "x":9.5, "y":2.5},
|
||||||
|
{"label":"K2A (B2,B6)", "x":10.5, "y":2.5},
|
||||||
|
{"label":"K8A (F4,B6)", "x":11.5, "y":2.5},
|
||||||
|
{"label":"K89 (F4,B5)", "x":12.5, "y":2.5},
|
||||||
|
{"label":"K87 (F4,D7)", "x":13.5, "y":2.5, "w":1.5},
|
||||||
|
{"label":"K86 (F4,D4)", "x":15.25, "y":2.5},
|
||||||
|
{"label":"K85 (F4,C7)", "x":16.25, "y":2.5},
|
||||||
|
{"label":"K84 (F4,D5)", "x":17.25, "y":2.5},
|
||||||
|
{"label":"K83 (F4,C6)", "x":18.5, "y":2.5},
|
||||||
|
{"label":"K82 (F4,D3)", "x":19.5, "y":2.5},
|
||||||
|
{"label":"K81 (F4,D2)", "x":20.5, "y":2.5},
|
||||||
|
{"label":"K90 (F5,D1)", "x":21.5, "y":2.5, "h":2},
|
||||||
|
{"label":"K30 (B3,D1)", "x":0, "y":3.5, "w":1.75},
|
||||||
|
{"label":"K31 (B3,D2)", "x":1.75, "y":3.5},
|
||||||
|
{"label":"K32 (B3,D3)", "x":2.75, "y":3.5},
|
||||||
|
{"label":"K33 (B3,C6)", "x":3.75, "y":3.5},
|
||||||
|
{"label":"K34 (B3,D5)", "x":4.75, "y":3.5},
|
||||||
|
{"label":"K35 (B3,C7)", "x":5.75, "y":3.5},
|
||||||
|
{"label":"K36 (B3,D4)", "x":6.75, "y":3.5},
|
||||||
|
{"label":"K37 (B3,D7)", "x":7.75, "y":3.5},
|
||||||
|
{"label":"K38 (B3,B4)", "x":8.75, "y":3.5},
|
||||||
|
{"label":"K39 (B3,B5)", "x":9.75, "y":3.5},
|
||||||
|
{"label":"K3A (B3,B6)", "x":10.75, "y":3.5},
|
||||||
|
{"label":"K9A (F5,B6)", "x":11.75, "y":3.5},
|
||||||
|
{"label":"K98 (F5,B4)", "x":12.75, "y":3.5, "w":2.25},
|
||||||
|
{"label":"K93 (F5,C6)", "x":18.5, "y":3.5},
|
||||||
|
{"label":"K92 (F5,D3)", "x":19.5, "y":3.5},
|
||||||
|
{"label":"K91 (F5,D2)", "x":20.5, "y":3.5},
|
||||||
|
{"label":"K40 (B7,D1)", "x":0, "y":4.5, "w":2.25},
|
||||||
|
{"label":"K42 (B7,D3)", "x":2.25, "y":4.5},
|
||||||
|
{"label":"K43 (B7,C6)", "x":3.25, "y":4.5},
|
||||||
|
{"label":"K44 (B7,D5)", "x":4.25, "y":4.5},
|
||||||
|
{"label":"K45 (B7,C7)", "x":5.25, "y":4.5},
|
||||||
|
{"label":"K46 (B7,D4)", "x":6.25, "y":4.5},
|
||||||
|
{"label":"K47 (B7,D7)", "x":7.25, "y":4.5},
|
||||||
|
{"label":"K48 (B7,B4)", "x":8.25, "y":4.5},
|
||||||
|
{"label":"K49 (B7,B5)", "x":9.25, "y":4.5},
|
||||||
|
{"label":"K4A (B7,B6)", "x":10.25, "y":4.5},
|
||||||
|
{"label":"KAA (F6,B6)", "x":11.25, "y":4.5},
|
||||||
|
{"label":"KA8 (F6,B4)", "x":12.25, "y":4.5, "w":2.75},
|
||||||
|
{"label":"KA5 (F6,C7)", "x":16.25, "y":4.5},
|
||||||
|
{"label":"KA3 (F6,C6)", "x":18.5, "y":4.5},
|
||||||
|
{"label":"KA2 (F6,D3)", "x":19.5, "y":4.5},
|
||||||
|
{"label":"KA1 (F6,D2)", "x":20.5, "y":4.5},
|
||||||
|
{"label":"KB0 (F7,D1)", "x":21.5, "y":4.5, "h":2},
|
||||||
|
{"label":"K50 (D0,D1)", "x":0, "y":5.5, "w":1.25},
|
||||||
|
{"label":"K51 (D0,D2)", "x":1.25, "y":5.5, "w":1.25},
|
||||||
|
{"label":"K53 (D0,C6)", "x":2.5, "y":5.5, "w":1.25},
|
||||||
|
{"label":"K56 (D0,D4)", "x":3.75, "y":5.5, "w":6.25},
|
||||||
|
{"label":"K5A (D0,B6)", "x":10, "y":5.5, "w":1.25},
|
||||||
|
{"label":"KBA (F7,B6)", "x":11.25, "y":5.5, "w":1.25},
|
||||||
|
{"label":"KB9 (F7,B5)", "x":12.5, "y":5.5, "w":1.25},
|
||||||
|
{"label":"KB7 (F7,D7)", "x":13.75, "y":5.5, "w":1.25},
|
||||||
|
{"label":"KB6 (F7,D4)", "x":15.25, "y":5.5},
|
||||||
|
{"label":"KB5 (F7,C7)", "x":16.25, "y":5.5},
|
||||||
|
{"label":"KB4 (F7,D5)", "x":17.25, "y":5.5},
|
||||||
|
{"label":"KB3 (F7,C6)", "x":18.5, "y":5.5, "w":2},
|
||||||
|
{"label":"KB1 (F7,D2)", "x":20.5, "y":5.5}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
,"meta": "https://noroadsleft.github.io/kbf_qmk_converter/"
|
||||||
|
}
|
@ -0,0 +1,45 @@
|
|||||||
|
/* Copyright 2020 boss566y
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation, either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
#include QMK_KEYBOARD_H
|
||||||
|
|
||||||
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
[0] = LAYOUT_fullsize_ansi(
|
||||||
|
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_PAUS,
|
||||||
|
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS,
|
||||||
|
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN, KC_P7, KC_P8, KC_P9, KC_PPLS,
|
||||||
|
XXXXXXX, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_P4, KC_P5, KC_P6,
|
||||||
|
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_PENT,
|
||||||
|
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), MO(2), RGUI_T(KC_APP), KC_LCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT
|
||||||
|
),
|
||||||
|
[1] = LAYOUT_fullsize_ansi(
|
||||||
|
RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, _______, C(KC_HOME), _______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
KC_CAPS, KC_MPRV, KC_MSTP, KC_MPLY, KC_MNXT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
_______, _______, KC_VOLD, KC_VOLU, KC_MUTE, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||||
|
),
|
||||||
|
[2] = LAYOUT_fullsize_ansi(
|
||||||
|
RESET, _______, _______, _______, _______, _______, KC_VOLD, KC_VOLU, KC_MUTE, KC_MPRV, KC_MSTP, KC_MPLY, KC_MNXT, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, _______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||||
|
),
|
||||||
|
|
||||||
|
|
||||||
|
};
|
@ -0,0 +1,11 @@
|
|||||||
|
# Default Layout
|
||||||
|
|
||||||
|
Keymap is basic 104 qwerty layout with:
|
||||||
|
|
||||||
|
* Caps Lock moved to Layer 1 leaving blank key on Base Layer
|
||||||
|
* Menu Key changed to mod tap for Menu and Windows Keys
|
||||||
|
* RAlt changed to M(1). Media playback on A to F, volume keys on X to V, and Delete on Backspace
|
||||||
|
* FN is M(2). Arrow keys on HJKL, media keys on F6 to F12, and RCtrl+Home on Home.
|
||||||
|
* Both M(1) and M(2) have Reset on Escape
|
||||||
|
|
||||||
|
|
@ -0,0 +1,21 @@
|
|||||||
|
/*
|
||||||
|
Copyright 2020 boss566y
|
||||||
|
|
||||||
|
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
|
||||||
|
|
||||||
|
#define DYNAMIC_KEYMAP_LAYER_COUNT 3
|
||||||
|
|
@ -0,0 +1,45 @@
|
|||||||
|
/* Copyright 2020 boss566y
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation, either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
#include QMK_KEYBOARD_H
|
||||||
|
|
||||||
|
|
||||||
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
[0] = LAYOUT_fullsize_ansi(
|
||||||
|
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_PAUS,
|
||||||
|
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS,
|
||||||
|
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN, KC_P7, KC_P8, KC_P9, KC_PPLS,
|
||||||
|
XXXXXXX, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_P4, KC_P5, KC_P6,
|
||||||
|
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_PENT,
|
||||||
|
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), MO(2), KC_RGUI, KC_LCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT
|
||||||
|
),
|
||||||
|
[1] = LAYOUT_fullsize_ansi(
|
||||||
|
RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
KC_CAPS, KC_MPRV, KC_MSTP, KC_MPLY, KC_MNXT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
_______, _______, KC_VOLD, KC_VOLU, KC_MUTE, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||||
|
),
|
||||||
|
[2] = LAYOUT_fullsize_ansi(
|
||||||
|
RESET, _______, _______, _______, _______, _______, KC_VOLD, KC_VOLU, KC_MUTE, KC_MPRV, KC_MSTP, KC_MPLY, KC_MNXT, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, _______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||||
|
),
|
||||||
|
|
||||||
|
};
|
@ -0,0 +1,12 @@
|
|||||||
|
# Default Layout
|
||||||
|
|
||||||
|
Keymap is basic 104 qwerty layout with:
|
||||||
|
|
||||||
|
* Caps Lock moved to Layer 1 leaving blank key on Base Layer
|
||||||
|
* Menu Key changed to mod tap for Menu and Windows Keys
|
||||||
|
* RAlt changed to M(1). Media playback on A to F, volume keys on X to V, and Delete on Backspace
|
||||||
|
* FN is M(2). Arrow keys on HJKL, media keys on F6 to F12, and RCtrl+Home on Home.
|
||||||
|
* Both M(1) and M(2) have Reset on Escape
|
||||||
|
* VIA Enabled [VIA JSON File](https://github.com/boss566y/keyboards/blob/boss566y/src/boss566y/handwired/redragon_vara.json)
|
||||||
|
|
||||||
|
|
@ -0,0 +1,2 @@
|
|||||||
|
VIA_ENABLE = yes
|
||||||
|
LTO_ENABLE = yes
|
14
keyboards/handwired/boss566y/redragon_vara/readme.md
Normal file
14
keyboards/handwired/boss566y/redragon_vara/readme.md
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
# Handwired Redragon Vara
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
A handwired Redragon Vara. Built using a teensy 2.0 and has a 12x11 matrix
|
||||||
|
|
||||||
|
* Keyboard Maintainer: [boss566y](https://github.com/boss566y)
|
||||||
|
* Hardware: Redragon Vara and Teensy 2.0
|
||||||
|
|
||||||
|
Make example for this keyboard (after setting up your build environment):
|
||||||
|
|
||||||
|
make handwired/boss566y/redragon_vara:default
|
||||||
|
|
||||||
|
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).
|
16
keyboards/handwired/boss566y/redragon_vara/redragon_vara.c
Normal file
16
keyboards/handwired/boss566y/redragon_vara/redragon_vara.c
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
/* Copyright 2020 boss566y
|
||||||
|
*
|
||||||
|
* 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 "redragon_vara.h"
|
43
keyboards/handwired/boss566y/redragon_vara/redragon_vara.h
Normal file
43
keyboards/handwired/boss566y/redragon_vara/redragon_vara.h
Normal file
@ -0,0 +1,43 @@
|
|||||||
|
/* Copyright 2020 boss566y
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation, either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include "quantum.h"
|
||||||
|
|
||||||
|
#define LAYOUT_fullsize_ansi( \
|
||||||
|
K00, K02, K03, K04, K05, K07, K08, K09, K0A, K6A, K69, K68, K67, K66, K65, K64, \
|
||||||
|
K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K7A, K79, K78, K76, K75, K74, K73, K72, K71, K70, \
|
||||||
|
K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K8A, K89, K87, K86, K85, K84, K83, K82, K81, K90, \
|
||||||
|
K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K9A, K98, K93, K92, K91, \
|
||||||
|
K40, K42, K43, K44, K45, K46, K47, K48, K49, K4A, KAA, KA8, KA5, KA3, KA2, KA1, KB0, \
|
||||||
|
K50, K51, K53, K56, K5A, KBA, KB9, KB7, KB6, KB5, KB4, KB3, KB1 \
|
||||||
|
) { \
|
||||||
|
{ K00, KC_NO, K02, K03, K04, K05, KC_NO, K07, K08, K09, K0A }, \
|
||||||
|
{ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A }, \
|
||||||
|
{ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A }, \
|
||||||
|
{ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A }, \
|
||||||
|
{ K40, KC_NO, K42, K43, K44, K45, K46, K47, K48, K49, K4A }, \
|
||||||
|
{ K50, K51, KC_NO, K53, KC_NO, KC_NO, K56, KC_NO, KC_NO, KC_NO, K5A }, \
|
||||||
|
{ KC_NO, KC_NO, KC_NO, KC_NO, K64, K65, K66, K67, K68, K69, K6A }, \
|
||||||
|
{ K70, K71, K72, K73, K74, K75, K76, KC_NO, K78, K79, K7A }, \
|
||||||
|
{ KC_NO, K81, K82, K83, K84, K85, K86, K87, KC_NO, K89, K8A }, \
|
||||||
|
{ K90, K91, K92, K93, KC_NO, KC_NO, KC_NO, KC_NO, K98, KC_NO, K9A }, \
|
||||||
|
{ KC_NO, KA1, KA2, KA3, KC_NO, KA5, KC_NO, KC_NO, KA8, KC_NO, KAA }, \
|
||||||
|
{ KB0, KB1, KC_NO, KB3, KB4, KB5, KB6, KB7, KC_NO, KB9, KBA }, \
|
||||||
|
}
|
||||||
|
|
||||||
|
// generated by KBFirmware JSON to QMK Parser
|
||||||
|
// https://noroadsleft.github.io/kbf_qmk_converter/
|
34
keyboards/handwired/boss566y/redragon_vara/rules.mk
Normal file
34
keyboards/handwired/boss566y/redragon_vara/rules.mk
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
# MCU name
|
||||||
|
MCU = atmega32u4
|
||||||
|
|
||||||
|
# Bootloader selection
|
||||||
|
# Teensy halfkay
|
||||||
|
# Pro Micro caterina
|
||||||
|
# Atmel DFU atmel-dfu
|
||||||
|
# LUFA DFU lufa-dfu
|
||||||
|
# QMK DFU qmk-dfu
|
||||||
|
# ATmega32A bootloadHID
|
||||||
|
# ATmega328P USBasp
|
||||||
|
BOOTLOADER = halfkay
|
||||||
|
|
||||||
|
# Build Options
|
||||||
|
# change yes to no to disable
|
||||||
|
#
|
||||||
|
BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration
|
||||||
|
MOUSEKEY_ENABLE = yes # Mouse keys
|
||||||
|
EXTRAKEY_ENABLE = yes # Audio control and System control
|
||||||
|
CONSOLE_ENABLE = no # Console for debug
|
||||||
|
COMMAND_ENABLE = no # Commands for debug and configuration
|
||||||
|
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
|
||||||
|
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
|
||||||
|
# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
|
||||||
|
NKRO_ENABLE = no # USB Nkey Rollover
|
||||||
|
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
|
||||||
|
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
|
||||||
|
MIDI_ENABLE = no # MIDI support
|
||||||
|
UNICODE_ENABLE = no # Unicode
|
||||||
|
BLUETOOTH_ENABLE = no # Enable Bluetooth
|
||||||
|
AUDIO_ENABLE = no # Audio output
|
||||||
|
FAUXCLICKY_ENABLE = no # Use buzzer to emulate clicky switches
|
||||||
|
|
||||||
|
LAYOUTS = fullsize_ansi
|
49
keyboards/handwired/swiftrax/cowfish/config.h
Normal file
49
keyboards/handwired/swiftrax/cowfish/config.h
Normal file
@ -0,0 +1,49 @@
|
|||||||
|
/*
|
||||||
|
Copyright 2020 Swiftrax <swiftrax@gmail.com>
|
||||||
|
|
||||||
|
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 0x7161
|
||||||
|
#define PRODUCT_ID 0x5239
|
||||||
|
#define DEVICE_VER 0x0001
|
||||||
|
#define MANUFACTURER Swiftrax
|
||||||
|
#define PRODUCT CowFish
|
||||||
|
#define DESCRIPTION TKL with F13
|
||||||
|
|
||||||
|
/* key matrix size */
|
||||||
|
#define MATRIX_ROWS 6
|
||||||
|
#define MATRIX_COLS 18
|
||||||
|
|
||||||
|
// ROWS: Top to bottom, COLS: Left to right
|
||||||
|
|
||||||
|
#define MATRIX_ROW_PINS { D0, D1, B7, E6, D4, D6 }
|
||||||
|
#define MATRIX_COL_PINS { B3, B2, B1, F0, F1, F4, F5, F6, F7, B5, B6, B4, C6, D7, C7, D2, D3, D5}
|
||||||
|
|
||||||
|
/* COL2ROW or ROW2COL */
|
||||||
|
#define DIODE_DIRECTION COL2ROW
|
||||||
|
|
||||||
|
/* define if matrix has ghost */
|
||||||
|
//#define MATRIX_HAS_GHOST
|
||||||
|
|
||||||
|
/* Set 0 if debouncing isn't needed */
|
||||||
|
#define DEBOUNCE 5
|
||||||
|
|
||||||
|
/*EEPROM for via*/
|
||||||
|
#define DYNAMIC_KEYMAP_LAYER_COUNT 3
|
1
keyboards/handwired/swiftrax/cowfish/cowfish.c
Normal file
1
keyboards/handwired/swiftrax/cowfish/cowfish.c
Normal file
@ -0,0 +1 @@
|
|||||||
|
#include "cowfish.h"
|
86
keyboards/handwired/swiftrax/cowfish/cowfish.h
Normal file
86
keyboards/handwired/swiftrax/cowfish/cowfish.h
Normal file
@ -0,0 +1,86 @@
|
|||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include "quantum.h"
|
||||||
|
|
||||||
|
// readability
|
||||||
|
#define XXX KC_NO
|
||||||
|
|
||||||
|
#define LAYOUT( \
|
||||||
|
K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K015, K016, K017, \
|
||||||
|
K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, K116, K117, \
|
||||||
|
K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K214, K215, K216, K217, \
|
||||||
|
K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K313, \
|
||||||
|
K400, K401, K402, K403, K404, K405, K406, K407, K408, K409, K410, K413, K416, \
|
||||||
|
K500, K501, K502, K505, K508, K509, K511, K513, K515, K516, K517 \
|
||||||
|
) { \
|
||||||
|
{ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, XXX, K015, K016, K017 }, \
|
||||||
|
{ K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, K116, K117 }, \
|
||||||
|
{ K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, XXX, K214, K215, K216, K217 }, \
|
||||||
|
{ K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, XXX, K313, XXX, XXX, XXX, XXX }, \
|
||||||
|
{ K400, K401, K402, K403, K404, K405, K406, K407, K408, K409, K410, XXX, XXX, K413, XXX, XXX, K416, XXX }, \
|
||||||
|
{ K500, K501, K502, XXX, XXX, K505, XXX, XXX, K508, K509, XXX, K511, XXX, K513, XXX, K515, K516, K517 } \
|
||||||
|
}
|
||||||
|
|
||||||
|
#define LAYOUT_all( \
|
||||||
|
K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K015, K016, K017, \
|
||||||
|
K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, K116, K117, \
|
||||||
|
K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K214, K215, K216, K217, \
|
||||||
|
K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K313, \
|
||||||
|
K400, K401, K402, K403, K404, K405, K406, K407, K408, K409, K410, K413, K416, \
|
||||||
|
K500, K501, K502, K505, K508, K509, K511, K513, K515, K516, K517 \
|
||||||
|
) { \
|
||||||
|
{ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, XXX, K015, K016, K017 }, \
|
||||||
|
{ K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, K116, K117 }, \
|
||||||
|
{ K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, XXX, K214, K215, K216, K217 }, \
|
||||||
|
{ K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, XXX, K313, XXX, XXX, XXX, XXX }, \
|
||||||
|
{ K400, K401, K402, K403, K404, K405, K406, K407, K408, K409, K410, XXX, XXX, K413, XXX, XXX, K416, XXX }, \
|
||||||
|
{ K500, K501, K502, XXX, XXX, K505, XXX, XXX, K508, K509, XXX, K511, XXX, K513, XXX, K515, K516, K517 } \
|
||||||
|
}
|
||||||
|
|
||||||
|
#define LAYOUT_split_bs( \
|
||||||
|
K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K015, K016, K017, \
|
||||||
|
K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, K116, K117, \
|
||||||
|
K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K214, K215, K216, K217, \
|
||||||
|
K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K313, \
|
||||||
|
K400, K401, K402, K403, K404, K405, K406, K407, K408, K409, K410, K413, K416, \
|
||||||
|
K500, K501, K502, K505, K508, K509, K511, K513, K515, K516, K517 \
|
||||||
|
) { \
|
||||||
|
{ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, XXX, K015, K016, K017 }, \
|
||||||
|
{ K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, K116, K117 }, \
|
||||||
|
{ K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, XXX, K214, K215, K216, K217 }, \
|
||||||
|
{ K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, XXX, K313, XXX, XXX, XXX, XXX }, \
|
||||||
|
{ K400, K401, K402, K403, K404, K405, K406, K407, K408, K409, K410, XXX, XXX, K413, XXX, XXX, K416, XXX }, \
|
||||||
|
{ K500, K501, K502, XXX, XXX, K505, XXX, XXX, K508, K509, XXX, K511, XXX, K513, XXX, K515, K516, K517 } \
|
||||||
|
}
|
||||||
|
|
||||||
|
#define LAYOUT_split_bs_tsangan( \
|
||||||
|
K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K015, K016, K017, \
|
||||||
|
K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, K116, K117, \
|
||||||
|
K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K214, K215, K216, K217, \
|
||||||
|
K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K313, \
|
||||||
|
K400, K401, K402, K403, K404, K405, K406, K407, K408, K409, K410, K413, K416, \
|
||||||
|
K500, K501, K502, K505, K508, K511, K513, K515, K516, K517 \
|
||||||
|
) { \
|
||||||
|
{ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, XXX, K015, K016, K017 }, \
|
||||||
|
{ K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, K116, K117 }, \
|
||||||
|
{ K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, XXX, K214, K215, K216, K217 }, \
|
||||||
|
{ K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, XXX, K313, XXX, XXX, XXX, XXX }, \
|
||||||
|
{ K400, K401, K402, K403, K404, K405, K406, K407, K408, K409, K410, XXX, XXX, K413, XXX, XXX, K416, XXX }, \
|
||||||
|
{ K500, K501, K502, XXX, XXX, K505, XXX, XXX, K508, XXX, XXX, K511, XXX, K513, XXX, K515, K516, K517 } \
|
||||||
|
}
|
||||||
|
|
||||||
|
#define LAYOUT_tsangan( \
|
||||||
|
K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K015, K016, K017, \
|
||||||
|
K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K115, K116, K117, \
|
||||||
|
K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K214, K215, K216, K217, \
|
||||||
|
K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K313, \
|
||||||
|
K400, K401, K402, K403, K404, K405, K406, K407, K408, K409, K410, K413, K416, \
|
||||||
|
K500, K501, K502, K505, K508, K511, K513, K515, K516, K517 \
|
||||||
|
) { \
|
||||||
|
{ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, XXX, K015, K016, K017 }, \
|
||||||
|
{ K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, XXX, K115, K116, K117 }, \
|
||||||
|
{ K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, XXX, K214, K215, K216, K217 }, \
|
||||||
|
{ K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, XXX, K313, XXX, XXX, XXX, XXX }, \
|
||||||
|
{ K400, K401, K402, K403, K404, K405, K406, K407, K408, K409, K410, XXX, XXX, K413, XXX, XXX, K416, XXX }, \
|
||||||
|
{ K500, K501, K502, XXX, XXX, K505, XXX, XXX, K508, XXX, XXX, K511, XXX, K513, XXX, K515, K516, K517 } \
|
||||||
|
}
|
21
keyboards/handwired/swiftrax/cowfish/info.json
Normal file
21
keyboards/handwired/swiftrax/cowfish/info.json
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
{
|
||||||
|
"keyboard_name": "CowFish",
|
||||||
|
"url": "",
|
||||||
|
"maintainer": "swiftrax",
|
||||||
|
"width": 18.25,
|
||||||
|
"height": 6.5,
|
||||||
|
"layouts": {
|
||||||
|
"LAYOUT": {
|
||||||
|
"layout": [{"x":0, "y":0}, {"x":1.25, "y":0}, {"x":2.25, "y":0}, {"x":3.25, "y":0}, {"x":4.25, "y":0}, {"x":5.5, "y":0}, {"x":6.5, "y":0}, {"x":7.5, "y":0}, {"x":8.5, "y":0}, {"x":9.75, "y":0}, {"x":10.75, "y":0}, {"x":11.75, "y":0}, {"x":12.75, "y":0}, {"x":14, "y":0}, {"x":15.25, "y":0}, {"x":16.25, "y":0}, {"x":17.25, "y":0}, {"x":0, "y":1.25}, {"x":1, "y":1.25}, {"x":2, "y":1.25}, {"x":3, "y":1.25}, {"x":4, "y":1.25}, {"x":5, "y":1.25}, {"x":6, "y":1.25}, {"x":7, "y":1.25}, {"x":8, "y":1.25}, {"x":9, "y":1.25}, {"x":10, "y":1.25}, {"x":11, "y":1.25}, {"x":12, "y":1.25}, {"x":13, "y":1.25}, {"x":14, "y":1.25}, {"x":15.25, "y":1.25}, {"x":16.25, "y":1.25}, {"x":17.25, "y":1.25}, {"x":0, "y":2.25, "w":1.5}, {"x":1.5, "y":2.25}, {"x":2.5, "y":2.25}, {"x":3.5, "y":2.25}, {"x":4.5, "y":2.25}, {"x":5.5, "y":2.25}, {"x":6.5, "y":2.25}, {"x":7.5, "y":2.25}, {"x":8.5, "y":2.25}, {"x":9.5, "y":2.25}, {"x":10.5, "y":2.25}, {"x":11.5, "y":2.25}, {"x":12.5, "y":2.25}, {"x":13.5, "y":2.25, "w":1.5}, {"x":15.25, "y":2.25}, {"x":16.25, "y":2.25}, {"x":17.25, "y":2.25}, {"x":0, "y":3.25, "w":1.75}, {"x":1.75, "y":3.25}, {"x":2.75, "y":3.25}, {"x":3.75, "y":3.25}, {"x":4.75, "y":3.25}, {"x":5.75, "y":3.25}, {"x":6.75, "y":3.25}, {"x":7.75, "y":3.25}, {"x":8.75, "y":3.25}, {"x":9.75, "y":3.25}, {"x":10.75, "y":3.25}, {"x":11.75, "y":3.25}, {"x":12.75, "y":3.25, "w":2.25}, {"x":0, "y":4.25, "w":2.25}, {"x":2.25, "y":4.25}, {"x":3.25, "y":4.25}, {"x":4.25, "y":4.25}, {"x":5.25, "y":4.25}, {"x":6.25, "y":4.25}, {"x":7.25, "y":4.25}, {"x":8.25, "y":4.25}, {"x":9.25, "y":4.25}, {"x":10.25, "y":4.25}, {"x":11.25, "y":4.25}, {"x":12.25, "y":4.25, "w":2.75}, {"x":16.25, "y":4.25}, {"x":0, "y":5.25, "w":1.25}, {"x":1.25, "y":5.25, "w":1.25}, {"x":2.5, "y":5.25, "w":1.25}, {"x":3.75, "y":5.25, "w":6.25}, {"x":10, "y":5.25, "w":1.25}, {"x":11.25, "y":5.25, "w":1.25}, {"x":12.5, "y":5.25, "w":1.25}, {"x":13.75, "y":5.25, "w":1.25}, {"x":15.25, "y":5.25}, {"x":16.25, "y":5.25}, {"x":17.25, "y":5.25}]
|
||||||
|
},
|
||||||
|
"LAYOUT_tsangan": {
|
||||||
|
"layout": [{"x":0, "y":0}, {"x":1.25, "y":0}, {"x":2.25, "y":0}, {"x":3.25, "y":0}, {"x":4.25, "y":0}, {"x":5.5, "y":0}, {"x":6.5, "y":0}, {"x":7.5, "y":0}, {"x":8.5, "y":0}, {"x":9.75, "y":0}, {"x":10.75, "y":0}, {"x":11.75, "y":0}, {"x":12.75, "y":0}, {"x":14, "y":0}, {"x":15.25, "y":0}, {"x":16.25, "y":0}, {"x":17.25, "y":0}, {"x":0, "y":1.25}, {"x":1, "y":1.25}, {"x":2, "y":1.25}, {"x":3, "y":1.25}, {"x":4, "y":1.25}, {"x":5, "y":1.25}, {"x":6, "y":1.25}, {"x":7, "y":1.25}, {"x":8, "y":1.25}, {"x":9, "y":1.25}, {"x":10, "y":1.25}, {"x":11, "y":1.25}, {"x":12, "y":1.25}, {"x":13, "y":1.25, "w":2}, {"x":15.25, "y":1.25}, {"x":16.25, "y":1.25}, {"x":17.25, "y":1.25}, {"x":0, "y":2.25, "w":1.5}, {"x":1.5, "y":2.25}, {"x":2.5, "y":2.25}, {"x":3.5, "y":2.25}, {"x":4.5, "y":2.25}, {"x":5.5, "y":2.25}, {"x":6.5, "y":2.25}, {"x":7.5, "y":2.25}, {"x":8.5, "y":2.25}, {"x":9.5, "y":2.25}, {"x":10.5, "y":2.25}, {"x":11.5, "y":2.25}, {"x":12.5, "y":2.25}, {"x":13.5, "y":2.25, "w":1.5}, {"x":15.25, "y":2.25}, {"x":16.25, "y":2.25}, {"x":17.25, "y":2.25}, {"x":0, "y":3.25, "w":1.75}, {"x":1.75, "y":3.25}, {"x":2.75, "y":3.25}, {"x":3.75, "y":3.25}, {"x":4.75, "y":3.25}, {"x":5.75, "y":3.25}, {"x":6.75, "y":3.25}, {"x":7.75, "y":3.25}, {"x":8.75, "y":3.25}, {"x":9.75, "y":3.25}, {"x":10.75, "y":3.25}, {"x":11.75, "y":3.25}, {"x":12.75, "y":3.25, "w":2.25}, {"x":0, "y":4.25, "w":2.25}, {"x":2.25, "y":4.25}, {"x":3.25, "y":4.25}, {"x":4.25, "y":4.25}, {"x":5.25, "y":4.25}, {"x":6.25, "y":4.25}, {"x":7.25, "y":4.25}, {"x":8.25, "y":4.25}, {"x":9.25, "y":4.25}, {"x":10.25, "y":4.25}, {"x":11.25, "y":4.25}, {"x":12.25, "y":4.25, "w":2.75}, {"x":16.25, "y":4.25}, {"x":0, "y":5.25, "w":1.5}, {"x":1.5, "y":5.25}, {"x":2.5, "y":5.25, "w":1.5}, {"x":4, "y":5.25, "w":7}, {"x":11, "y":5.25, "w":1.5}, {"x":12.5, "y":5.25}, {"x":13.5, "y":5.25, "w":1.5}, {"x":15.25, "y":5.25}, {"x":16.25, "y":5.25}, {"x":17.25, "y":5.25}]
|
||||||
|
},
|
||||||
|
"LAYOUT_full_bs": {
|
||||||
|
"layout": [{"x":0, "y":0}, {"x":1.25, "y":0}, {"x":2.25, "y":0}, {"x":3.25, "y":0}, {"x":4.25, "y":0}, {"x":5.5, "y":0}, {"x":6.5, "y":0}, {"x":7.5, "y":0}, {"x":8.5, "y":0}, {"x":9.75, "y":0}, {"x":10.75, "y":0}, {"x":11.75, "y":0}, {"x":12.75, "y":0}, {"x":14, "y":0}, {"x":15.25, "y":0}, {"x":16.25, "y":0}, {"x":17.25, "y":0}, {"x":0, "y":1.25}, {"x":1, "y":1.25}, {"x":2, "y":1.25}, {"x":3, "y":1.25}, {"x":4, "y":1.25}, {"x":5, "y":1.25}, {"x":6, "y":1.25}, {"x":7, "y":1.25}, {"x":8, "y":1.25}, {"x":9, "y":1.25}, {"x":10, "y":1.25}, {"x":11, "y":1.25}, {"x":12, "y":1.25}, {"x":13, "y":1.25, "w":2}, {"x":15.25, "y":1.25}, {"x":16.25, "y":1.25}, {"x":17.25, "y":1.25}, {"x":0, "y":2.25, "w":1.5}, {"x":1.5, "y":2.25}, {"x":2.5, "y":2.25}, {"x":3.5, "y":2.25}, {"x":4.5, "y":2.25}, {"x":5.5, "y":2.25}, {"x":6.5, "y":2.25}, {"x":7.5, "y":2.25}, {"x":8.5, "y":2.25}, {"x":9.5, "y":2.25}, {"x":10.5, "y":2.25}, {"x":11.5, "y":2.25}, {"x":12.5, "y":2.25}, {"x":13.5, "y":2.25, "w":1.5}, {"x":15.25, "y":2.25}, {"x":16.25, "y":2.25}, {"x":17.25, "y":2.25}, {"x":0, "y":3.25, "w":1.75}, {"x":1.75, "y":3.25}, {"x":2.75, "y":3.25}, {"x":3.75, "y":3.25}, {"x":4.75, "y":3.25}, {"x":5.75, "y":3.25}, {"x":6.75, "y":3.25}, {"x":7.75, "y":3.25}, {"x":8.75, "y":3.25}, {"x":9.75, "y":3.25}, {"x":10.75, "y":3.25}, {"x":11.75, "y":3.25}, {"x":12.75, "y":3.25, "w":2.25}, {"x":0, "y":4.25, "w":2.25}, {"x":2.25, "y":4.25}, {"x":3.25, "y":4.25}, {"x":4.25, "y":4.25}, {"x":5.25, "y":4.25}, {"x":6.25, "y":4.25}, {"x":7.25, "y":4.25}, {"x":8.25, "y":4.25}, {"x":9.25, "y":4.25}, {"x":10.25, "y":4.25}, {"x":11.25, "y":4.25}, {"x":12.25, "y":4.25, "w":2.75}, {"x":16.25, "y":4.25}, {"x":0, "y":5.25, "w":1.25}, {"x":1.25, "y":5.25, "w":1.25}, {"x":2.5, "y":5.25, "w":1.25}, {"x":3.75, "y":5.25, "w":6.25}, {"x":10, "y":5.25, "w":1.25}, {"x":11.25, "y":5.25, "w":1.25}, {"x":12.5, "y":5.25, "w":1.25}, {"x":13.75, "y":5.25, "w":1.25}, {"x":15.25, "y":5.25}, {"x":16.25, "y":5.25}, {"x":17.25, "y":5.25}]
|
||||||
|
},
|
||||||
|
"LAYOUT_split_bs_tsangan": {
|
||||||
|
"layout": [{"x":0, "y":0}, {"x":1.25, "y":0}, {"x":2.25, "y":0}, {"x":3.25, "y":0}, {"x":4.25, "y":0}, {"x":5.5, "y":0}, {"x":6.5, "y":0}, {"x":7.5, "y":0}, {"x":8.5, "y":0}, {"x":9.75, "y":0}, {"x":10.75, "y":0}, {"x":11.75, "y":0}, {"x":12.75, "y":0}, {"x":14, "y":0}, {"x":15.25, "y":0}, {"x":16.25, "y":0}, {"x":17.25, "y":0}, {"x":0, "y":1.25}, {"x":1, "y":1.25}, {"x":2, "y":1.25}, {"x":3, "y":1.25}, {"x":4, "y":1.25}, {"x":5, "y":1.25}, {"x":6, "y":1.25}, {"x":7, "y":1.25}, {"x":8, "y":1.25}, {"x":9, "y":1.25}, {"x":10, "y":1.25}, {"x":11, "y":1.25}, {"x":12, "y":1.25}, {"x":13, "y":1.25}, {"x":14, "y":1.25}, {"x":15.25, "y":1.25}, {"x":16.25, "y":1.25}, {"x":17.25, "y":1.25}, {"x":0, "y":2.25, "w":1.5}, {"x":1.5, "y":2.25}, {"x":2.5, "y":2.25}, {"x":3.5, "y":2.25}, {"x":4.5, "y":2.25}, {"x":5.5, "y":2.25}, {"x":6.5, "y":2.25}, {"x":7.5, "y":2.25}, {"x":8.5, "y":2.25}, {"x":9.5, "y":2.25}, {"x":10.5, "y":2.25}, {"x":11.5, "y":2.25}, {"x":12.5, "y":2.25}, {"x":13.5, "y":2.25, "w":1.5}, {"x":15.25, "y":2.25}, {"x":16.25, "y":2.25}, {"x":17.25, "y":2.25}, {"x":0, "y":3.25, "w":1.75}, {"x":1.75, "y":3.25}, {"x":2.75, "y":3.25}, {"x":3.75, "y":3.25}, {"x":4.75, "y":3.25}, {"x":5.75, "y":3.25}, {"x":6.75, "y":3.25}, {"x":7.75, "y":3.25}, {"x":8.75, "y":3.25}, {"x":9.75, "y":3.25}, {"x":10.75, "y":3.25}, {"x":11.75, "y":3.25}, {"x":12.75, "y":3.25, "w":2.25}, {"x":0, "y":4.25, "w":2.25}, {"x":2.25, "y":4.25}, {"x":3.25, "y":4.25}, {"x":4.25, "y":4.25}, {"x":5.25, "y":4.25}, {"x":6.25, "y":4.25}, {"x":7.25, "y":4.25}, {"x":8.25, "y":4.25}, {"x":9.25, "y":4.25}, {"x":10.25, "y":4.25}, {"x":11.25, "y":4.25}, {"x":12.25, "y":4.25, "w":2.75}, {"x":16.25, "y":4.25}, {"x":0, "y":5.25, "w":1.5}, {"x":1.5, "y":5.25}, {"x":2.5, "y":5.25, "w":1.5}, {"x":4, "y":5.25, "w":7}, {"x":11, "y":5.25, "w":1.5}, {"x":12.5, "y":5.25}, {"x":13.5, "y":5.25, "w":1.5}, {"x":15.25, "y":5.25}, {"x":16.25, "y":5.25}, {"x":17.25, "y":5.25}]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,29 @@
|
|||||||
|
#include QMK_KEYBOARD_H
|
||||||
|
|
||||||
|
// Each layer gets a name for readability, which is then used in the keymap matrix below.
|
||||||
|
// The underscores don't mean anything - you can have a layer called STUFF or any other name.
|
||||||
|
// Layer names don't all need to be of the same length, obviously, and you can also skip them
|
||||||
|
// entirely and just use numbers.
|
||||||
|
enum _layer {
|
||||||
|
_MA,
|
||||||
|
_FN
|
||||||
|
};
|
||||||
|
|
||||||
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
|
||||||
|
[_MA] = LAYOUT(
|
||||||
|
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_P1, KC_SLCK, KC_PAUS,
|
||||||
|
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSLS, KC_INS, KC_HOME, KC_PGUP,
|
||||||
|
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
|
||||||
|
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
|
||||||
|
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
|
||||||
|
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_MENU, KC_RCTRL, KC_LEFT, KC_DOWN, KC_RGHT),
|
||||||
|
|
||||||
|
[_FN] = LAYOUT(
|
||||||
|
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_PSCR, KC_SLCK, KC_PAUS,
|
||||||
|
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSLS, KC_INS, KC_HOME, KC_PGUP,
|
||||||
|
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
|
||||||
|
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
|
||||||
|
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
|
||||||
|
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_MENU, KC_RCTRL, KC_LEFT, KC_DOWN, KC_RGHT)
|
||||||
|
};
|
28
keyboards/handwired/swiftrax/cowfish/keymaps/via/keymap.c
Normal file
28
keyboards/handwired/swiftrax/cowfish/keymaps/via/keymap.c
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
#include QMK_KEYBOARD_H
|
||||||
|
|
||||||
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
|
||||||
|
[0] = LAYOUT_all(
|
||||||
|
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_PSCR, KC_SLCK, KC_PAUS,
|
||||||
|
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSLS, KC_INS, KC_HOME, KC_PGUP,
|
||||||
|
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
|
||||||
|
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
|
||||||
|
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
|
||||||
|
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTRL, KC_LEFT, KC_DOWN, KC_RGHT),
|
||||||
|
|
||||||
|
[1] = LAYOUT_all(
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
|
||||||
|
|
||||||
|
[2] = LAYOUT_all(
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______)
|
||||||
|
};
|
@ -0,0 +1 @@
|
|||||||
|
VIA_ENABLE = yes
|
13
keyboards/handwired/swiftrax/cowfish/readme.md
Normal file
13
keyboards/handwired/swiftrax/cowfish/readme.md
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
# CowFish
|
||||||
|
|
||||||
|
A TKL with F13 that uses Ai03's unified daughter board
|
||||||
|
|
||||||
|
* Keyboard Maintainer: Swiftrax
|
||||||
|
* Hardware Supported: CowFish
|
||||||
|
* Hardware Availability: https://github.com/swiftrax
|
||||||
|
|
||||||
|
Make example for this keyboard (after setting up your build environment):
|
||||||
|
|
||||||
|
make handwired/swiftrax/cowfish:default
|
||||||
|
|
||||||
|
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).
|
31
keyboards/handwired/swiftrax/cowfish/rules.mk
Normal file
31
keyboards/handwired/swiftrax/cowfish/rules.mk
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
# MCU name
|
||||||
|
MCU = atmega32u4
|
||||||
|
|
||||||
|
# Bootloader selection
|
||||||
|
# Teensy halfkay
|
||||||
|
# Pro Micro caterina
|
||||||
|
# Atmel DFU atmel-dfu
|
||||||
|
# LUFA DFU lufa-dfu
|
||||||
|
# QMK DFU qmk-dfu
|
||||||
|
# ATmega32A bootloadHID
|
||||||
|
# ATmega328P USBasp
|
||||||
|
BOOTLOADER = atmel-dfu
|
||||||
|
|
||||||
|
# Build Options
|
||||||
|
# change yes to no to disable
|
||||||
|
#
|
||||||
|
BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration
|
||||||
|
MOUSEKEY_ENABLE = no # Mouse keys
|
||||||
|
EXTRAKEY_ENABLE = yes # Audio control and System control
|
||||||
|
CONSOLE_ENABLE = no # Console for debug
|
||||||
|
COMMAND_ENABLE = no # Commands for debug and configuration
|
||||||
|
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
|
||||||
|
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
|
||||||
|
# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
|
||||||
|
NKRO_ENABLE = no # USB Nkey Rollover
|
||||||
|
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
|
||||||
|
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
|
||||||
|
MIDI_ENABLE = no # MIDI support
|
||||||
|
BLUETOOTH_ENABLE = no # Enable Bluetooth
|
||||||
|
AUDIO_ENABLE = no # Audio output
|
||||||
|
FAUXCLICKY_ENABLE = no # Use buzzer to emulate clicky switches
|
@ -2,7 +2,10 @@
|
|||||||
|
|
||||||
<img src="https://i.imgur.com/XUzcaWG.png" data-canonical-src="Jian" width="600"/>
|
<img src="https://i.imgur.com/XUzcaWG.png" data-canonical-src="Jian" width="600"/>
|
||||||
|
|
||||||
A 40% ergonomic keyboard kit. Jian supports cherry mx, alps, kailh choc switches PCB and plate mounted. You can assembly keyboard without mounting plate. Jian also supports rgb led strip like ws2812b and 1 color in-switch backlight. Each half can work standalone.
|
40% ergonomic keyboard kit. Jian supports Cherry MX, Alps, Kailh Choc switches in PCB mounted and plate mounted variants.
|
||||||
|
You can assemble the keyboard without a mounting plate.
|
||||||
|
Jian also supports RGB LED underglow (with a strip like WS2812B) and single color in-switch LED backlight.
|
||||||
|
Each half can work standalone.
|
||||||
|
|
||||||
* Keyboard Maintainer: [KGOH](https://github.com/KGOH)
|
* Keyboard Maintainer: [KGOH](https://github.com/KGOH)
|
||||||
* Hardware Supported: Jian PCB rev1, rev2, Pro Micro
|
* Hardware Supported: Jian PCB rev1, rev2, Pro Micro
|
||||||
|
@ -1,342 +0,0 @@
|
|||||||
#include QMK_KEYBOARD_H
|
|
||||||
#include "keymap_uk.h"
|
|
||||||
|
|
||||||
extern keymap_config_t keymap_config;
|
|
||||||
|
|
||||||
enum jj40_layers {
|
|
||||||
_QWERTY,
|
|
||||||
_MAC,
|
|
||||||
_LOWER,
|
|
||||||
_MLWR,
|
|
||||||
_RAISE,
|
|
||||||
_MRSE,
|
|
||||||
_FUNC,
|
|
||||||
_MFNC,
|
|
||||||
_FUNC2,
|
|
||||||
_MFNC2,
|
|
||||||
_ADJUST,
|
|
||||||
_MOUSE
|
|
||||||
};
|
|
||||||
|
|
||||||
enum jj40_keycodes {
|
|
||||||
QWERTY = SAFE_RANGE,
|
|
||||||
MAC,
|
|
||||||
FUNC,
|
|
||||||
MFNC,
|
|
||||||
FUNC2,
|
|
||||||
MFNC2,
|
|
||||||
LOWER,
|
|
||||||
MLWR,
|
|
||||||
RAISE,
|
|
||||||
MRSE,
|
|
||||||
MOUSE,
|
|
||||||
DYNAMIC_MACRO_RANGE
|
|
||||||
};
|
|
||||||
|
|
||||||
#include "dynamic_macro.h"
|
|
||||||
|
|
||||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|
||||||
|
|
||||||
/* Qwerty
|
|
||||||
* ,-----------------------------------------------------------------------------------.
|
|
||||||
* | Esc | Q | W | E | R | T | Y | U | I | O | P | Bksp |
|
|
||||||
* |------+------+------+------+------+-------------+------+------+------+------+------|
|
|
||||||
* | Tab | A | S | D | F | G | H | J | K | L | ;: | Enter|
|
|
||||||
* |------+------+------+------+------+------|------+------+------+------+------+------|
|
|
||||||
* | Shft | Z | X | C | V | B | N | M | ,< | .> | /? | Shft |
|
|
||||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
|
||||||
* | Fn | Ctrl | Alt | GUI |Lower | Bksp |Space |Raise | Shift| MENU | Ctrl | Fn2 |
|
|
||||||
* `-----------------------------------------------------------------------------------'
|
|
||||||
*/
|
|
||||||
[_QWERTY] = LAYOUT_ortho_4x12(\
|
|
||||||
KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC ,\
|
|
||||||
MT(MOD_LSFT, KC_TAB), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, MT(MOD_RSFT, KC_ENT) ,\
|
|
||||||
KC_LSHIFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSHIFT ,\
|
|
||||||
MO(_FUNC), KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_BSPC, KC_SPC, RAISE, KC_LSHIFT, KC_BTN2, KC_RCTL, MO(_FUNC2) \
|
|
||||||
),
|
|
||||||
|
|
||||||
/* Function
|
|
||||||
* ,-----------------------------------------------------------------------------------.
|
|
||||||
* | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 |
|
|
||||||
* |------+------+------+------+------+-------------+------+------+------+------+------|
|
|
||||||
* | 1! | 2" | 3£ | 4$ | 5% | 6^ | 7& | 8* | 9( | 0) | ~ |INSERT|
|
|
||||||
* |------+------+------+------+------+------|------+------+------+------+------+------|
|
|
||||||
* | Shift| \| | `¬ | #~ | * | -_ | =+ | \| | [{ | ]} | '@ |Shift |
|
|
||||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
|
||||||
* | Fn | Ctrl | Alt | GUI |Lower | Bksp |Space |Mouse | MENU | Alt | Ctrl | Fn |
|
|
||||||
* `-----------------------------------------------------------------------------------'
|
|
||||||
*/
|
|
||||||
[_FUNC] = LAYOUT_ortho_4x12(\
|
|
||||||
KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12 ,\
|
|
||||||
KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, UK_TILD, KC_INSERT ,\
|
|
||||||
KC_LSHIFT, KC_NONUS_BSLASH, KC_GRAVE, KC_NONUS_HASH, KC_PAST, KC_MINS, KC_EQL, KC_BSLASH, KC_LBRC, KC_RBRC, KC_QUOT, MT(MOD_RSFT, KC_ENT) ,\
|
|
||||||
_______, _______, _______, _______, _______, _______, _______, MO(_MOUSE), _______, _______, _______, _______ \
|
|
||||||
),
|
|
||||||
|
|
||||||
/* Lower
|
|
||||||
* ,-----------------------------------------------------------------------------------.
|
|
||||||
* | 1! | 2" | 3£ | 4$ | 5% | 6^ | 7& | 8* | 9( | 0) | DEL | Bksp |
|
|
||||||
* |------+------+------+------+------+-------------+------+------+------+------+------|
|
|
||||||
* | ! | " | £ | $ | % | ^ | & | * | ( | ) |WrdDel|WrdBks|
|
|
||||||
* |------+------+------+------+------+------|------+------+------+------+------+------|
|
|
||||||
* | Shift| \| | `¬ | #~ | '@ | -_ | =+ | #~ | [{ | ]} | '@ |Shift |
|
|
||||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
|
||||||
* | | | | |Lower | Del |Space | | Next | Vol- | Vol+ | Play |
|
|
||||||
* `-----------------------------------------------------------------------------------'
|
|
||||||
*/
|
|
||||||
[_LOWER] = LAYOUT_ortho_4x12(\
|
|
||||||
KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL, KC_BSPC ,\
|
|
||||||
LSFT(KC_1), LSFT(KC_2), LSFT(KC_3), LSFT(KC_4), LSFT(KC_5), LSFT(KC_6), LSFT(KC_7), LSFT(KC_8), LSFT(KC_9), LSFT(KC_0), LCTL(KC_DEL), LCTL(KC_BSPC) ,\
|
|
||||||
KC_LSPO, KC_NONUS_BSLASH, KC_GRAVE, KC_NONUS_HASH, KC_QUOT, KC_MINS, KC_EQL, KC_NONUS_HASH, KC_LBRC, KC_RBRC, KC_QUOT, MT(MOD_RSFT, KC_ENT) ,\
|
|
||||||
_______, _______, _______, _______, _______, KC_DEL, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY \
|
|
||||||
),
|
|
||||||
|
|
||||||
/* Raise
|
|
||||||
* ,-----------------------------------------------------------------------------------.
|
|
||||||
* | ` | |WRDSEL| [ | ] | | | PGUP | HOME |PGDOWN| |PRNTSC|
|
|
||||||
* |------+------+------+------+------+-------------+------+------+------+------+------|
|
|
||||||
* | ` | | | ( | ) | | | HOME | UP | END | |ZOOM +|
|
|
||||||
* |------+------+------+------+------+------|------+------+------+------+------+------|
|
|
||||||
* | | | | { | } | | |< | LEFT | DOWN |RIGHT | >| |ZOOM -|
|
|
||||||
* |------+------+------+------+------+------|------+------+------+------+------+------|
|
|
||||||
* | Mouse| | | | | Alt | Enter|Raise | | | | |
|
|
||||||
* `-----------------------------------------------------------------------------------'
|
|
||||||
*/
|
|
||||||
[_RAISE] = LAYOUT_ortho_4x12(\
|
|
||||||
KC_GRV, XXXXXXX, M(1), KC_LBRC, KC_RBRC, XXXXXXX, XXXXXXX, KC_PGUP, KC_HOME, KC_PGDOWN, XXXXXXX, KC_PSCREEN ,\
|
|
||||||
KC_GRV, XXXXXXX, XXXXXXX, LSFT(KC_9), LSFT(KC_0), XXXXXXX, XXXXXXX, KC_HOME, KC_UP, KC_END, XXXXXXX, LCTL(LSFT(KC_EQL)) ,\
|
|
||||||
_______, XXXXXXX, XXXXXXX, LSFT(KC_LBRC), LSFT(KC_RBRC), XXXXXXX, LCTL(KC_LEFT), KC_LEFT, KC_DOWN, KC_RIGHT, LCTL(KC_RIGHT), LCTL(KC_MINS) ,\
|
|
||||||
MO(_MOUSE), _______, _______, _______, _______, KC_LALT, KC_ENT, _______, XXXXXXX, _______, _______, _______ \
|
|
||||||
),
|
|
||||||
|
|
||||||
/* Adjust (Lower + Raise)
|
|
||||||
* ,-----------------------------------------------------------------------------------.
|
|
||||||
* | ???? | Reset|Qwerty| | | REC1 | REC2 | | | | | Del |
|
|
||||||
* |------+------+------+------+------+-------------+------+------+------+------+------|
|
|
||||||
* | CAPS | | | | | PLAY1| PLAY2| Mute | Vol+ | Play | | |
|
|
||||||
* |------+------+------+------+------+------|------+------+------+------+------+------|
|
|
||||||
* | PC/MC| | | | | STOP | STOP | Prev | Vol- | Next | | |
|
|
||||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
|
||||||
* | | | | | | | | | | | |
|
|
||||||
* `-----------------------------------------------------------------------------------'
|
|
||||||
*/
|
|
||||||
[_ADJUST] = LAYOUT_ortho_4x12(\
|
|
||||||
M(0), RESET, QWERTY, BL_ON, BL_OFF, DYN_REC_START1, DYN_REC_START2, _______, _______, _______, _______, KC_DEL ,\
|
|
||||||
KC_CAPS, RGB_TOG, RGB_MOD, RGB_VAD, RGB_VAI, DYN_MACRO_PLAY1, DYN_MACRO_PLAY2, KC_AUDIO_MUTE, KC_AUDIO_VOL_UP, KC_MEDIA_PLAY_PAUSE, _______, _______ ,\
|
|
||||||
TG(_MAC), RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, DYN_REC_STOP, DYN_REC_STOP, KC_MEDIA_PREV_TRACK, KC_AUDIO_VOL_DOWN, KC_MEDIA_NEXT_TRACK, _______, _______ ,\
|
|
||||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \
|
|
||||||
),
|
|
||||||
|
|
||||||
/* Mouse
|
|
||||||
* ,-----------------------------------------------------------------------------------.
|
|
||||||
* | ESC | | | | | | | | | | | |
|
|
||||||
* |------+------+------+------+------+-------------+------+------+------+------+------|
|
|
||||||
* | ACC0 | ACC1 | ACC2 | | | | | BTN1 | UP | BTN2 | | |
|
|
||||||
* |------+------+------+------+------+------|------+------+------+------+------+------|
|
|
||||||
* | ACC0 | ACC1 | ACC2 | | | | | LEFT | DOWN |RIGHT | | |
|
|
||||||
* |------+------+------+------+------+------|------+------+------+------+------+------|
|
|
||||||
* | | | | | | | | | | | | |
|
|
||||||
* `-----------------------------------------------------------------------------------'
|
|
||||||
*/
|
|
||||||
[_MOUSE] = LAYOUT_ortho_4x12(\
|
|
||||||
KC_ESC , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,\
|
|
||||||
KC_MS_ACCEL0, KC_MS_ACCEL1, KC_MS_ACCEL2, _______, _______, _______, _______, KC_MS_BTN1, KC_MS_UP, KC_MS_BTN2, _______, _______,\
|
|
||||||
KC_MS_ACCEL0, KC_MS_ACCEL1, KC_MS_ACCEL2, _______, _______, _______, _______, KC_MS_LEFT, KC_MS_DOWN, KC_MS_RIGHT, _______, _______,\
|
|
||||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______\
|
|
||||||
),
|
|
||||||
|
|
||||||
/* Function 2 (Right hand side)
|
|
||||||
* ,-----------------------------------------------------------------------------------.
|
|
||||||
* | | |WRDSEL| | | | LNDEL| | | | | |
|
|
||||||
* |------+------+------+------+------+-------------+------+------+------+------+------|
|
|
||||||
* | | | LNSEL| DUP | | | | |LNJOIN| | | |
|
|
||||||
* |------+------+------+------+------+------|------+------+------+------+------+------|
|
|
||||||
* | | UNDO | CUT | COPY | PASTE| | | | | | | MODE |
|
|
||||||
* |------+------+------+------+------+------|------+------+------+------+------+------|
|
|
||||||
* | | | | | | | | | | | | |
|
|
||||||
* `-----------------------------------------------------------------------------------'
|
|
||||||
*/
|
|
||||||
[_FUNC2] = LAYOUT_ortho_4x12(\
|
|
||||||
_______, _______, M(1), _______, _______, _______, M(5), _______, _______, _______, _______, _______,\
|
|
||||||
_______, _______, M(3), M(7), _______, _______, _______, M(10), _______, _______, _______, _______,\
|
|
||||||
_______, LCTL(KC_Z), LCTL(KC_X), LCTL(KC_C), LCTL(KC_V), _______, _______, _______, _______, _______, _______, M(98), \
|
|
||||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \
|
|
||||||
),
|
|
||||||
|
|
||||||
[_MAC]= LAYOUT_ortho_4x12(\
|
|
||||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,\
|
|
||||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,\
|
|
||||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,\
|
|
||||||
MFNC, _______, _______, _______, MLWR, _______, _______, MRSE, _______, _______, _______, MFNC2 \
|
|
||||||
),
|
|
||||||
|
|
||||||
[_MLWR] = LAYOUT_ortho_4x12(\
|
|
||||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,\
|
|
||||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,\
|
|
||||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,\
|
|
||||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \
|
|
||||||
),
|
|
||||||
|
|
||||||
[_MRSE] = LAYOUT_ortho_4x12(\
|
|
||||||
_______, _______, M(2), _______, _______, _______, _______, _______, _______, _______, _______, _______ ,\
|
|
||||||
_______, _______, _______, _______, _______, _______, _______, LCTL(KC_A), _______, LCTL(KC_E), _______, LGUI(KC_EQL) ,\
|
|
||||||
_______, _______, _______, _______, _______, _______, LALT(KC_LEFT), _______, _______, _______, LALT(KC_RIGHT), LGUI(KC_MINS) ,\
|
|
||||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \
|
|
||||||
),
|
|
||||||
|
|
||||||
[_MFNC]= LAYOUT_ortho_4x12(\
|
|
||||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ,\
|
|
||||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, LGUI(KC_PENT) ,\
|
|
||||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ,\
|
|
||||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \
|
|
||||||
),
|
|
||||||
|
|
||||||
[_MFNC2] = LAYOUT_ortho_4x12(\
|
|
||||||
_______, _______, M(2), _______, _______, _______, M(6), _______, _______, _______, _______, _______,\
|
|
||||||
_______, _______, M(4), M(8), _______, _______, _______, M(10), _______, _______, _______, _______,\
|
|
||||||
_______, LGUI(KC_Z), LGUI(KC_X), LGUI(KC_C), LGUI(KC_V), _______, _______, _______, _______, _______, _______, M(99), \
|
|
||||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \
|
|
||||||
)
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
void persistant_default_layer_set(uint16_t default_layer) {
|
|
||||||
eeconfig_update_default_layer(default_layer);
|
|
||||||
default_layer_set(default_layer);
|
|
||||||
}
|
|
||||||
|
|
||||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
|
||||||
|
|
||||||
if (!process_record_dynamic_macro(keycode, record)) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
switch (keycode) {
|
|
||||||
case QWERTY:
|
|
||||||
if (record->event.pressed) {
|
|
||||||
persistant_default_layer_set(1UL<<_QWERTY);
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
case LOWER:
|
|
||||||
if (record->event.pressed) {
|
|
||||||
layer_on(_LOWER);
|
|
||||||
update_tri_layer(_LOWER, _RAISE, _ADJUST);
|
|
||||||
} else {
|
|
||||||
layer_off(_LOWER);
|
|
||||||
update_tri_layer(_LOWER, _RAISE, _ADJUST);
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
case RAISE:
|
|
||||||
if (record->event.pressed) {
|
|
||||||
layer_on(_RAISE);
|
|
||||||
update_tri_layer(_LOWER, _RAISE, _ADJUST);
|
|
||||||
} else {
|
|
||||||
layer_off(_RAISE);
|
|
||||||
update_tri_layer(_LOWER, _RAISE, _ADJUST);
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
case MLWR:
|
|
||||||
if (record->event.pressed) {
|
|
||||||
layer_on(_LOWER);
|
|
||||||
layer_on(_MLWR);
|
|
||||||
update_tri_layer(_LOWER, _RAISE, _ADJUST);
|
|
||||||
} else {
|
|
||||||
layer_off(_LOWER);
|
|
||||||
layer_off(_MLWR);
|
|
||||||
update_tri_layer(_LOWER, _RAISE, _ADJUST);
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
case MRSE:
|
|
||||||
if (record->event.pressed) {
|
|
||||||
layer_on(_RAISE);
|
|
||||||
layer_on(_MRSE);
|
|
||||||
update_tri_layer(_LOWER, _RAISE, _ADJUST);
|
|
||||||
} else {
|
|
||||||
layer_off(_RAISE);
|
|
||||||
layer_off(_MRSE);
|
|
||||||
update_tri_layer(_LOWER, _RAISE, _ADJUST);
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
case MFNC:
|
|
||||||
if (record->event.pressed) {
|
|
||||||
layer_on(_FUNC);
|
|
||||||
layer_on(_MFNC);
|
|
||||||
} else {
|
|
||||||
layer_off(_FUNC);
|
|
||||||
layer_off(_MFNC);
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
case MFNC2:
|
|
||||||
if (record->event.pressed) {
|
|
||||||
layer_on(_FUNC2);
|
|
||||||
layer_on(_MFNC2);
|
|
||||||
} else {
|
|
||||||
layer_off(_FUNC2);
|
|
||||||
layer_off(_MFNC2);
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
const macro_t *action_get_macro(keyrecord_t *record, uint8_t keycode, uint8_t opt) {
|
|
||||||
// These would trigger when you hit a key mapped as M(0)
|
|
||||||
if (record->event.pressed) {
|
|
||||||
switch(keycode) {
|
|
||||||
case 0: // Some custom string here
|
|
||||||
SEND_STRING("");
|
|
||||||
return false;
|
|
||||||
|
|
||||||
case 1: // Word Select
|
|
||||||
SEND_STRING(SS_DOWN(X_LCTRL) SS_TAP(X_RIGHT) SS_DOWN(X_LSHIFT) SS_TAP(X_LEFT) SS_UP(X_LSHIFT) SS_UP(X_LCTRL));
|
|
||||||
return false;
|
|
||||||
|
|
||||||
case 2: // Word Select Mac
|
|
||||||
SEND_STRING(SS_DOWN(X_LALT) SS_TAP(X_RIGHT) SS_DOWN(X_LSHIFT) SS_TAP(X_LEFT) SS_UP(X_LSHIFT) SS_UP(X_LALT));
|
|
||||||
return false;
|
|
||||||
|
|
||||||
case 3: // Line Select
|
|
||||||
SEND_STRING(SS_TAP(X_HOME) SS_DOWN(X_LSHIFT) SS_TAP(X_END) SS_UP(X_LSHIFT));
|
|
||||||
return false;
|
|
||||||
|
|
||||||
case 4: // Line Select Mac
|
|
||||||
SEND_STRING(SS_LCTRL("a") SS_DOWN(X_LSHIFT) SS_LCTRL("e") SS_UP(X_LSHIFT));
|
|
||||||
return false;
|
|
||||||
|
|
||||||
case 5: // Line Delete
|
|
||||||
SEND_STRING(SS_TAP(X_HOME) SS_DOWN(X_LSHIFT) SS_TAP(X_END) SS_UP(X_LSHIFT));
|
|
||||||
SEND_STRING(SS_TAP(X_BSPACE));
|
|
||||||
return false;
|
|
||||||
|
|
||||||
case 6: // Line Delete Mac
|
|
||||||
SEND_STRING(SS_LCTRL("a") SS_DOWN(X_LSHIFT) SS_LCTRL("e") SS_UP(X_LSHIFT));
|
|
||||||
SEND_STRING(SS_TAP(X_BSPACE));
|
|
||||||
return false;
|
|
||||||
|
|
||||||
case 7: // Duplicate Selection
|
|
||||||
SEND_STRING(SS_LCTRL("c") SS_TAP(X_RIGHT) SS_LCTRL("v"));
|
|
||||||
return false;
|
|
||||||
|
|
||||||
case 8: // Duplicate Selection Mac
|
|
||||||
SEND_STRING(SS_LGUI("c") SS_TAP(X_RIGHT) SS_LGUI("v"));
|
|
||||||
return false;
|
|
||||||
|
|
||||||
case 9: // Join line
|
|
||||||
SEND_STRING(SS_TAP(X_END) SS_TAP(X_DELETE));
|
|
||||||
return false;
|
|
||||||
|
|
||||||
case 10: // Join line Mac
|
|
||||||
SEND_STRING(SS_LCTRL("e") SS_TAP(X_DELETE));
|
|
||||||
return false;
|
|
||||||
|
|
||||||
case 98: // Print mode
|
|
||||||
SEND_STRING("PC");
|
|
||||||
return false;
|
|
||||||
|
|
||||||
case 99: // Print mode
|
|
||||||
SEND_STRING("OSX");
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return MACRO_NONE;
|
|
||||||
};
|
|
@ -1,11 +1,16 @@
|
|||||||
# AJP10304 Custom JJ40 Layout
|
# AJP10304 Custom JJ40 Layout
|
||||||
# Also available for the Atreus50 and Planck
|
# Also available for the Planck, Shark and Atreus50
|
||||||
|
|
||||||
**Note:** In the tables below where there are two characters on a key,
|
**Note:** In the tables below where there are two characters on a key,
|
||||||
the second is the output when shift is applied.
|
the second is the output when shift is applied.
|
||||||
|
|
||||||
**Note:** The below tables assume a UK layout.
|
**Note:** The below tables assume a UK layout.
|
||||||
|
|
||||||
|
#### Flashing
|
||||||
|
Use sleep to get a chance to get into boot mode.
|
||||||
|
|
||||||
|
`make jj40:ajp10304:flash`
|
||||||
|
|
||||||
##### Main Qwerty Layer
|
##### Main Qwerty Layer
|
||||||
|
|
||||||
* Tab: when held, operates as shift.
|
* Tab: when held, operates as shift.
|
||||||
@ -43,13 +48,13 @@ Activated when `Lower` is held in the above `qwerty` layer.
|
|||||||
| Shift | \| | `¬ | #~ | '@ | -_ | =+ | #~ | [{ | ]} | '@ |Shift |
|
| Shift | \| | `¬ | #~ | '@ | -_ | =+ | #~ | [{ | ]} | '@ |Shift |
|
||||||
| | | | |Lower | Del |Space | | Next | Vol- | Vol+ | Play |
|
| | | | |Lower | Del |Space | | Next | Vol- | Vol+ | Play |
|
||||||
|
|
||||||
##### Raise Layer
|
##### Raise Layer
|
||||||
Activated when `Raise` is held in the above `qwerty` layer.
|
Activated when `Raise` is held in the above `qwerty` layer.
|
||||||
|
|
||||||
* Preferred layer for typing brackets.
|
* Preferred layer for typing brackets.
|
||||||
* Allows for cursor navigation to be used solely with the right hand.
|
* Allows for cursor navigation to be used solely with the right hand.
|
||||||
* WRDSEL: Select the word where the cursor is.
|
* WRDSEL: Select the word where the cursor is.
|
||||||
* |< and >|: Apply `ctrl` to `left` and `right` respectively for word jumping.
|
* |< and >|: Apply `ctrl` to `left` and `right` respectively for word jumping.
|
||||||
|
|
||||||
| | | | | | | | | | | | |
|
| | | | | | | | | | | | |
|
||||||
| :---: |:----:| :---:| :---:| :---:| :---:| :---: | :---:| :---:| :---:| :---: | :---:|
|
| :---: |:----:| :---:| :---:| :---:| :---:| :---: | :---:| :---:| :---:| :---: | :---:|
|
||||||
@ -98,11 +103,17 @@ Activated when `fn` and `raise` held together.
|
|||||||
|
|
||||||
| | | | | | | | | | | | |
|
| | | | | | | | | | | | |
|
||||||
| :---: | :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:|
|
| :---: | :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:|
|
||||||
| ESC | | | | | | | | | | | |
|
| ESC | | | | | | | | BTN3 | | | |
|
||||||
| ACC0 | ACC1 | ACC2 | | | | | BTN1 | UP | BTN2 | | |
|
| ACC0 | ACC1 | ACC2 | | | | | BTN1 | UP | BTN2 | | |
|
||||||
| ACC0 | ACC1 | ACC2 | | | | | LEFT | DOWN | RIGHT| | |
|
| ACC0 | ACC1 | ACC2 | | | | | LEFT | DOWN | RIGHT| | |
|
||||||
| | | | | | | | | | | | |
|
| | | | | | | | | | | | |
|
||||||
|
|
||||||
####Manual Flashing of hex file
|
##### Number Pad Layout
|
||||||
Use sleep to get a chance to get into boot mode.
|
Activated when holding `Esc` key.
|
||||||
`sleep 5; bootloadHID -r .build/jj40_ajp10304.hex`
|
|
||||||
|
| | | | | | | | | | | | |
|
||||||
|
| :---: | :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:|
|
||||||
|
| | | | | | |NMLOCK| 7 | 8 | 9 | / | |
|
||||||
|
| | | | | | | | 4 | 5 | 6 | * | |
|
||||||
|
| | | | | | | | 1 | 2 | 3 | + | |
|
||||||
|
| | | | | | | | 0 | . | , | - | |
|
||||||
|
@ -17,8 +17,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||||||
#include "config_common.h"
|
#include "config_common.h"
|
||||||
|
|
||||||
/* USB Device descriptor parameter */
|
/* USB Device descriptor parameter */
|
||||||
#define VENDOR_ID 0xFEED
|
#define VENDOR_ID 0x4B48 //KH for Keyhive
|
||||||
#define PRODUCT_ID 0x6060
|
#define PRODUCT_ID 0x4D50 // MP
|
||||||
#define DEVICE_VER 0x0001
|
#define DEVICE_VER 0x0001
|
||||||
#define MANUFACTURER KeyHive
|
#define MANUFACTURER KeyHive
|
||||||
#define PRODUCT maypad
|
#define PRODUCT maypad
|
||||||
|
26
keyboards/keyhive/maypad/keymaps/via/keymap.c
Normal file
26
keyboards/keyhive/maypad/keymaps/via/keymap.c
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
/* Copyright 2019 codybender
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation, either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
#include QMK_KEYBOARD_H
|
||||||
|
|
||||||
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
LAYOUT_ortho_5x4(
|
||||||
|
KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS,
|
||||||
|
KC_P7, KC_P8, KC_P9, KC_PPLS,
|
||||||
|
KC_P4, KC_P5, KC_P6, KC_PPLS,
|
||||||
|
KC_P1, KC_P2, KC_P3, KC_PENT,
|
||||||
|
KC_P0, KC_P0, KC_PDOT, KC_PENT
|
||||||
|
)
|
||||||
|
};
|
6
keyboards/keyhive/maypad/keymaps/via/readme.md
Normal file
6
keyboards/keyhive/maypad/keymaps/via/readme.md
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
# VIA Support for Maypad
|
||||||
|
|
||||||
|
This adds [VIA](https://caniusevia.com/) support for the Keyhive Maypad.
|
||||||
|
|
||||||
|
Please note that this is a keymap for the Ortho_5x4 layout.
|
||||||
|
|
2
keyboards/keyhive/maypad/keymaps/via/rules.mk
Normal file
2
keyboards/keyhive/maypad/keymaps/via/rules.mk
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
VIA_ENABLE = yes
|
||||||
|
LTO_ENABLE = yes
|
@ -21,8 +21,8 @@ thumb keys to make it work without them.
|
|||||||
// |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
|
// |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
|
||||||
// | LShift | Z | X | C | V | B | Lead | RAISE| | LOWER|DBLTAP| N | M | , < | . > | / ? | RShift |
|
// | LShift | Z | X | C | V | B | Lead | RAISE| | LOWER|DBLTAP| N | M | , < | . > | / ? | RShift |
|
||||||
// `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
|
// `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
|
||||||
// | MPlay| GUI | LCtrl| Space| LALT | | Enter|BSpace| NAV | LAlt |Worksp|
|
// | MPlay| GUI | LCtrl| Space| LALT | | Enter|BSpace| NAV | LCTL+|Worksp|
|
||||||
// | | | | | | | | | | |toggle|
|
// | | | | | | | | | | LALT |toggle|
|
||||||
// `----------------------------------' `----------------------------------'
|
// `----------------------------------' `----------------------------------'
|
||||||
```
|
```
|
||||||
|
|
||||||
@ -103,9 +103,9 @@ programming, and it is editor agnostic.
|
|||||||
// |--------+------+------+------+------+------| |------+------+------+------+------+--------|
|
// |--------+------+------+------+------+------| |------+------+------+------+------+--------|
|
||||||
// | | | | | | F11 | | F12 | | | | | |
|
// | | | | | | F11 | | F12 | | | | | |
|
||||||
// |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
|
// |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
|
||||||
// | | | | | | |ScLock| | | | Ins | | | | | | |
|
// | | | | | | |ScLock| | | | Ins | | | | | |CapsLock|
|
||||||
// `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
|
// `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
|
||||||
// | | | | | | | Esc | Del | | RAlt | |
|
// | | | | | | | | | | RAlt | |
|
||||||
// | | | | | | | | | | | |
|
// | | | | | | | | | | | |
|
||||||
// `----------------------------------' `----------------------------------'
|
// `----------------------------------' `----------------------------------'
|
||||||
```
|
```
|
||||||
@ -113,6 +113,9 @@ programming, and it is editor agnostic.
|
|||||||
Access to the functional keys, which I mostly use to run `emacs`
|
Access to the functional keys, which I mostly use to run `emacs`
|
||||||
compilation mode.
|
compilation mode.
|
||||||
|
|
||||||
|
This layer also includes key that changes the state, like insert and
|
||||||
|
caps lock.
|
||||||
|
|
||||||
Scroll Lock is used to toggle between English and Swedish.
|
Scroll Lock is used to toggle between English and Swedish.
|
||||||
|
|
||||||
## Notable features on this layer
|
## Notable features on this layer
|
||||||
@ -130,7 +133,7 @@ Right rotary encoder
|
|||||||
// ,-------------------------------------------. ,-------------------------------------------.
|
// ,-------------------------------------------. ,-------------------------------------------.
|
||||||
// | | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | |
|
// | | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | |
|
||||||
// |--------+------+------+------+------+------| |------+------+------+------+------+--------|
|
// |--------+------+------+------+------+------| |------+------+------+------+------+--------|
|
||||||
// | | | | | | | | | Left | Up | Down | Right| |
|
// | | | ESC | DEL | | | | | Left | Up | Down | Right| |
|
||||||
// |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
|
// |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
|
||||||
// | | | | | | | | | | | | | | | | | |
|
// | | | | | | | | | | | | | | | | | |
|
||||||
// `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
|
// `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
|
||||||
@ -144,6 +147,9 @@ row after using [ErgoDox](https://www.ergodox.io/) keyboards for a few
|
|||||||
years. Do not feel I need a numpad layer, which seems to be quite
|
years. Do not feel I need a numpad layer, which seems to be quite
|
||||||
common with small keyboards like this.
|
common with small keyboards like this.
|
||||||
|
|
||||||
|
Esc and Delete is also on this layer as they are easy to reach and they
|
||||||
|
only need to be chord with the modifiers.
|
||||||
|
|
||||||
# Adjust Layer: RGB
|
# Adjust Layer: RGB
|
||||||
```
|
```
|
||||||
//
|
//
|
||||||
|
@ -52,8 +52,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||||||
* |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
|
* |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
|
||||||
* | LShift | Z | X | C | V | B | Lead | RAISE| | LOWER|DBLTAP| N | M | , < | . > | / ? | RShift |
|
* | LShift | Z | X | C | V | B | Lead | RAISE| | LOWER|DBLTAP| N | M | , < | . > | / ? | RShift |
|
||||||
* `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
|
* `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
|
||||||
* | MPlay| GUI | LCtrl| Space| LALT | | Enter|BSpace| NAV | LAlt |Worksp|
|
* | MPlay| GUI | LCtrl| Space| LALT | | Enter|BSpace| NAV |LCTL+ |Worksp|
|
||||||
* | | | | | | | | | | |toggle|
|
* | | | | | | | | | |LALT |toggle|
|
||||||
* `----------------------------------' `----------------------------------'
|
* `----------------------------------' `----------------------------------'
|
||||||
*/
|
*/
|
||||||
[_DEFAULT] = LAYOUT(
|
[_DEFAULT] = LAYOUT(
|
||||||
@ -91,26 +91,26 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||||||
* |--------+------+------+------+------+------| |------+------+------+------+------+--------|
|
* |--------+------+------+------+------+------| |------+------+------+------+------+--------|
|
||||||
* | | | | | | F11 | | F12 | | | | | |
|
* | | | | | | F11 | | F12 | | | | | |
|
||||||
* |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
|
* |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
|
||||||
* | | | | | | |ScLock| | | | Ins | | | | | | |
|
* | | | | | | |ScLock| | | | Ins | | | | | |CapsLock|
|
||||||
* `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
|
* `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
|
||||||
* | | | | | | | Esc | Del | | RAlt | |
|
* | | | | | | | | | | RAlt | |
|
||||||
* | | | | | | | | | | | |
|
* | | | | | | | | | | | |
|
||||||
* `----------------------------------' `----------------------------------'
|
* `----------------------------------' `----------------------------------'
|
||||||
*/
|
*/
|
||||||
[_RAISE] = LAYOUT(
|
[_RAISE] = LAYOUT(
|
||||||
_______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______,
|
_______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______,
|
||||||
_______, _______, _______, _______, _______, KC_F11, KC_F12, _______, _______, _______, _______, _______,
|
_______, _______, _______, _______, _______, KC_F11, KC_F12, _______, _______, _______, _______, _______,
|
||||||
_______, _______, _______, _______, _______, _______, KC_SLCK, _______, _______, KC_INS, _______, _______, _______, _______, _______, _______,
|
_______, _______, _______, _______, _______, _______, KC_SLCK, _______, _______, KC_INS, _______, _______, _______, _______, _______, KC_CAPS,
|
||||||
_______, _______, _______, _______, _______, KC_ESC, KC_DEL, _______, KC_RALT, _______
|
_______, _______, _______, _______, _______, _______, _______, _______, KC_RALT, _______
|
||||||
|
|
||||||
),
|
),
|
||||||
/*
|
/*
|
||||||
* Navigation Layer: Number keys, navigation
|
* Navigation Layer: Number keys, navigation, modification
|
||||||
*
|
*
|
||||||
* ,-------------------------------------------. ,-------------------------------------------.
|
* ,-------------------------------------------. ,-------------------------------------------.
|
||||||
* | | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | |
|
* | | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | |
|
||||||
* |--------+------+------+------+------+------| |------+------+------+------+------+--------|
|
* |--------+------+------+------+------+------| |------+------+------+------+------+--------|
|
||||||
* | | | | | | | | | Left | Up | Down | Right| |
|
* | | | Esc | Del | | | | | Left | Up | Down | Right| |
|
||||||
* |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
|
* |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
|
||||||
* | | | | | | | | | | | | | | | | | |
|
* | | | | | | | | | | | | | | | | | |
|
||||||
* `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
|
* `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
|
||||||
@ -120,7 +120,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||||||
*/
|
*/
|
||||||
[_NAV] = LAYOUT(
|
[_NAV] = LAYOUT(
|
||||||
_______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______,
|
_______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______,
|
||||||
_______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_UP, KC_DOWN, KC_RGHT, _______,
|
_______, _______, KC_ESC, KC_DEL, _______, _______, _______, KC_LEFT, KC_UP, KC_DOWN, KC_RGHT, _______,
|
||||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
_______, _______, _______, _______, _______, _______, _______, _______, KC_RCTL, _______
|
_______, _______, _______, _______, _______, _______, _______, _______, KC_RCTL, _______
|
||||||
),
|
),
|
||||||
@ -177,27 +177,22 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
|||||||
// Double tap gets messed up with macros, turning it off
|
// Double tap gets messed up with macros, turning it off
|
||||||
double_tap_it = false;
|
double_tap_it = false;
|
||||||
SEND_STRING("()" SS_TAP(X_LEFT));
|
SEND_STRING("()" SS_TAP(X_LEFT));
|
||||||
clear_oneshot_layer_state(ONESHOT_OTHER_KEY_PRESSED);
|
|
||||||
return false;
|
return false;
|
||||||
case M_LRCBR:
|
case M_LRCBR:
|
||||||
double_tap_it = false;
|
double_tap_it = false;
|
||||||
SEND_STRING("{}" SS_TAP(X_LEFT));
|
SEND_STRING("{}" SS_TAP(X_LEFT));
|
||||||
clear_oneshot_layer_state(ONESHOT_OTHER_KEY_PRESSED);
|
|
||||||
return false;
|
return false;
|
||||||
case M_LRBRC:
|
case M_LRBRC:
|
||||||
double_tap_it = false;
|
double_tap_it = false;
|
||||||
SEND_STRING("[]" SS_TAP(X_LEFT));
|
SEND_STRING("[]" SS_TAP(X_LEFT));
|
||||||
clear_oneshot_layer_state(ONESHOT_OTHER_KEY_PRESSED);
|
|
||||||
return false;
|
return false;
|
||||||
case M_LRABR:
|
case M_LRABR:
|
||||||
double_tap_it = false;
|
double_tap_it = false;
|
||||||
SEND_STRING("<>" SS_TAP(X_LEFT));
|
SEND_STRING("<>" SS_TAP(X_LEFT));
|
||||||
clear_oneshot_layer_state(ONESHOT_OTHER_KEY_PRESSED);
|
|
||||||
return false;
|
return false;
|
||||||
case M_DQUOT:
|
case M_DQUOT:
|
||||||
double_tap_it = false;
|
double_tap_it = false;
|
||||||
SEND_STRING("''" SS_TAP(X_LEFT));
|
SEND_STRING("''" SS_TAP(X_LEFT));
|
||||||
clear_oneshot_layer_state(ONESHOT_OTHER_KEY_PRESSED);
|
|
||||||
return false;
|
return false;
|
||||||
case DBL_TAP:
|
case DBL_TAP:
|
||||||
double_tap_it = !double_tap_it;
|
double_tap_it = !double_tap_it;
|
||||||
@ -206,10 +201,14 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
|||||||
double_tap_it = false;
|
double_tap_it = false;
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
} else if (double_tap_it && keycode != DBL_TAP) {
|
|
||||||
|
} else if (double_tap_it &&
|
||||||
|
keycode != DBL_TAP &&
|
||||||
|
keycode != OSL(_RAISE) &&
|
||||||
|
keycode != OSL(_LOWER) &&
|
||||||
|
keycode != MO(_NAV)) {
|
||||||
double_tap_it = false;
|
double_tap_it = false;
|
||||||
tap_code16(keycode);
|
tap_code16(keycode);
|
||||||
clear_oneshot_layer_state(ONESHOT_OTHER_KEY_PRESSED);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
|
@ -1,6 +1,3 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#define EE_HANDS
|
#define EE_HANDS
|
||||||
|
|
||||||
/* Work around Elite-C v3 with broken VBUS detection. */
|
|
||||||
#define SPLIT_USB_DETECT
|
|
||||||
|
@ -1,5 +1,7 @@
|
|||||||
#include QMK_KEYBOARD_H
|
#include QMK_KEYBOARD_H
|
||||||
|
|
||||||
|
#include "bcat.h"
|
||||||
|
|
||||||
enum layer {
|
enum layer {
|
||||||
LAYER_DEFAULT,
|
LAYER_DEFAULT,
|
||||||
LAYER_LOWER,
|
LAYER_LOWER,
|
||||||
@ -10,31 +12,34 @@ enum layer {
|
|||||||
#define LY_LWR MO(LAYER_LOWER)
|
#define LY_LWR MO(LAYER_LOWER)
|
||||||
#define LY_RSE MO(LAYER_RAISE)
|
#define LY_RSE MO(LAYER_RAISE)
|
||||||
|
|
||||||
#define KY_CESC LCTL_T(KC_ESC)
|
#define KY_CSPC LCTL(KC_SPC)
|
||||||
|
#define KY_LOCK LGUI(KC_L)
|
||||||
|
#define KY_WINL LGUI(KC_LEFT)
|
||||||
|
#define KY_WINR LGUI(KC_RGHT)
|
||||||
|
|
||||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
/* Default layer: http://www.keyboard-layout-editor.com/#/gists/e0eb3af65961e9fd612dcff3ddd88e4f */
|
/* Default layer: http://www.keyboard-layout-editor.com/#/gists/e0eb3af65961e9fd612dcff3ddd88e4f */
|
||||||
[LAYER_DEFAULT] = LAYOUT(
|
[LAYER_DEFAULT] = LAYOUT(
|
||||||
KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,
|
KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,
|
||||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
|
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
|
||||||
KY_CESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
|
KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
|
||||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_WBAK, KC_WFWD, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
|
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_WBAK, KC_WFWD, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
|
||||||
KC_LCTL, KC_LALT, LY_LWR, KC_SPC, KC_ENT, LY_RSE, KC_RGUI, KC_APP
|
KC_LGUI, KC_LCTL, LY_LWR, KC_SPC, KC_ENT, LY_RSE, KC_RALT, KC_APP
|
||||||
),
|
),
|
||||||
|
|
||||||
/* Lower layer: http://www.keyboard-layout-editor.com/#/gists/19ad0d3b5d745fbb2818db09740f5a11 */
|
/* Lower layer: http://www.keyboard-layout-editor.com/#/gists/19ad0d3b5d745fbb2818db09740f5a11 */
|
||||||
[LAYER_LOWER] = LAYOUT(
|
[LAYER_LOWER] = LAYOUT(
|
||||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
KC_CAPS, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______,
|
MC_ALTT, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______,
|
||||||
_______, _______, _______, _______, _______, _______, KC_PIPE, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_TILD,
|
KY_CSPC, KY_WINL, KY_WINR, KY_LOCK, KC_WBAK, KC_WFWD, KC_PIPE, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_TILD,
|
||||||
_______, KC_APP, KC_PSCR, KC_SLCK, KC_PAUS, _______, _______, _______, KC_BSLS, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_GRV,
|
_______, KC_APP, KC_PSCR, KC_SLCK, KC_PAUS, KC_LGUI, _______, _______, KC_BSLS, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_GRV,
|
||||||
_______, _______, _______, _______, _______, _______, _______, _______
|
_______, _______, _______, _______, _______, _______, _______, _______
|
||||||
),
|
),
|
||||||
|
|
||||||
/* Raise layer: http://www.keyboard-layout-editor.com/#/gists/912be7955f781cdaf692cc4d4c0b5823 */
|
/* Raise layer: http://www.keyboard-layout-editor.com/#/gists/912be7955f781cdaf692cc4d4c0b5823 */
|
||||||
[LAYER_RAISE] = LAYOUT(
|
[LAYER_RAISE] = LAYOUT(
|
||||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
_______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______,
|
KC_CAPS, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______,
|
||||||
_______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_F11, KC_DEL,
|
_______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_F11, KC_DEL,
|
||||||
_______, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______, _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END, KC_F12, KC_INS,
|
_______, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______, _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END, KC_F12, KC_INS,
|
||||||
_______, _______, _______, _______, _______, _______, _______, _______
|
_______, _______, _______, _______, _______, _______, _______, _______
|
||||||
@ -50,6 +55,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||||||
),
|
),
|
||||||
};
|
};
|
||||||
|
|
||||||
layer_state_t layer_state_set_user(layer_state_t state) {
|
layer_state_t layer_state_set_keymap(layer_state_t state) {
|
||||||
return update_tri_layer_state(state, LAYER_LOWER, LAYER_RAISE, LAYER_ADJUST);
|
return update_tri_layer_state(state, LAYER_LOWER, LAYER_RAISE, LAYER_ADJUST);
|
||||||
}
|
}
|
||||||
|
@ -11,24 +11,24 @@ using layers for numbers and symbols, so in practice this goes unused.
|
|||||||
placed in the same positions as on the ErgoDox EZ. (There's no real reason for
|
placed in the same positions as on the ErgoDox EZ. (There's no real reason for
|
||||||
this; I just had to do _something_ with those keys.)
|
this; I just had to do _something_ with those keys.)
|
||||||
|
|
||||||
* The extra thumb keys are used for dedicated Ctrl/Menu keys (not super useful)
|
* The extra thumb keys are used for dedicated Super/Menu keys, as well as
|
||||||
and browser back/forward navigation keys (actually more useful than expected).
|
browser back/forward navigation keys.
|
||||||
|
|
||||||
## Default layer
|
## Default layer
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
([KLE](http://www.keyboard-layout-editor.com/#/gists/e0eb3af65961e9fd612dcff3ddd88e4f))
|
([KLE](http://www.keyboard-layout-editor.com/#/gists/e0eb3af65961e9fd612dcff3ddd88e4f))
|
||||||
|
|
||||||
## Lower layer
|
## Lower layer
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
([KLE](http://www.keyboard-layout-editor.com/#/gists/19ad0d3b5d745fbb2818db09740f5a11))
|
([KLE](http://www.keyboard-layout-editor.com/#/gists/19ad0d3b5d745fbb2818db09740f5a11))
|
||||||
|
|
||||||
## Raise layer
|
## Raise layer
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
([KLE](http://www.keyboard-layout-editor.com/#/gists/912be7955f781cdaf692cc4d4c0b5823))
|
([KLE](http://www.keyboard-layout-editor.com/#/gists/912be7955f781cdaf692cc4d4c0b5823))
|
||||||
|
|
||||||
|
@ -20,8 +20,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||||||
#include "config_common.h"
|
#include "config_common.h"
|
||||||
|
|
||||||
/* USB Device descriptor parameter */
|
/* USB Device descriptor parameter */
|
||||||
#define VENDOR_ID 0xB00B
|
#define VENDOR_ID 0x434B // "CK"
|
||||||
#define PRODUCT_ID 0x0000
|
#define PRODUCT_ID 0x4E49 // "NI"
|
||||||
#define DEVICE_VER 0x0001
|
#define DEVICE_VER 0x0001
|
||||||
#define MANUFACTURER cfbender
|
#define MANUFACTURER cfbender
|
||||||
#define PRODUCT nightmare
|
#define PRODUCT nightmare
|
||||||
|
43
keyboards/nightmare/keymaps/via/keymap.c
Normal file
43
keyboards/nightmare/keymaps/via/keymap.c
Normal file
@ -0,0 +1,43 @@
|
|||||||
|
/* Copyright 2019 cfbender
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation, either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
#include QMK_KEYBOARD_H
|
||||||
|
|
||||||
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
[0] = LAYOUT_split(/* Base */
|
||||||
|
KC_HOME, KC_GESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC,
|
||||||
|
KC_END, LCTL_T(KC_TAB), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOTE, KC_ENTER,
|
||||||
|
KC_PGUP, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMMA, KC_DOT, KC_SLSH, KC_RSFT, MO(1),
|
||||||
|
KC_PGDN, KC_LGUI, KC_LALT, KC_LALT, KC_SPACE, KC_SPACE, KC_RGUI, KC_RCTL, MO(2)),
|
||||||
|
|
||||||
|
[1] = LAYOUT_split(
|
||||||
|
_______, _______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINUS, KC_EQUAL, KC_DEL,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_RIGHT, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______),
|
||||||
|
|
||||||
|
[2] = LAYOUT_split(
|
||||||
|
_______, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_UP, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_RIGHT, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DOWN, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______),
|
||||||
|
|
||||||
|
[3] = LAYOUT_split(
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______),
|
||||||
|
};
|
||||||
|
|
3
keyboards/nightmare/keymaps/via/readme.md
Normal file
3
keyboards/nightmare/keymaps/via/readme.md
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
# The default keymap for nightmare
|
||||||
|
|
||||||
|

|
2
keyboards/nightmare/keymaps/via/rules.mk
Normal file
2
keyboards/nightmare/keymaps/via/rules.mk
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
VIA_ENABLE = yes
|
||||||
|
LTO_ENABLE = yes
|
@ -20,30 +20,17 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||||||
#include "config_common.h"
|
#include "config_common.h"
|
||||||
|
|
||||||
/* USB Device descriptor parameter */
|
/* USB Device descriptor parameter */
|
||||||
#define VENDOR_ID 0xC0C0
|
#define VENDOR_ID 0x524B // recompile keys
|
||||||
#define PRODUCT_ID 0x3000
|
#define PRODUCT_ID 0x4E31 // Nomu30
|
||||||
#define DEVICE_VER 0x0001
|
#define DEVICE_VER 0x0001
|
||||||
#define MANUFACTURER Naoto Takai
|
#define MANUFACTURER recompile keys
|
||||||
#define PRODUCT nomu30
|
#define PRODUCT Nomu30
|
||||||
#define DESCRIPTION A 30% keyboard with ISO enter.
|
#define DESCRIPTION recompile keys Nomu30
|
||||||
|
|
||||||
/* key matrix size */
|
/* key matrix size */
|
||||||
#define MATRIX_ROWS 3
|
#define MATRIX_ROWS 3
|
||||||
#define MATRIX_COLS 12
|
#define MATRIX_COLS 12
|
||||||
|
|
||||||
/*
|
/* Bootmagic Lite key configuration */
|
||||||
* Keyboard Matrix Assignments
|
#define BOOTMAGIC_LITE_ROW 0
|
||||||
*
|
#define BOOTMAGIC_LITE_COLUMN 11
|
||||||
* Change this to how you wired your keyboard
|
|
||||||
* COLS: AVR pins used for columns, left to right
|
|
||||||
* ROWS: AVR pins used for rows, top to bottom
|
|
||||||
* DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
|
|
||||||
* ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
#define MATRIX_ROW_PINS { D1, D0, D4 }
|
|
||||||
#define MATRIX_COL_PINS { C6, D7, E6, B4, F4, F5, F6, F7, B1, B3, B2, B6 }
|
|
||||||
#define UNUSED_PINS
|
|
||||||
|
|
||||||
/* COL2ROW, ROW2COL*/
|
|
||||||
#define DIODE_DIRECTION COL2ROW
|
|
||||||
|
40
keyboards/nomu30/keymaps/via/keymap.c
Normal file
40
keyboards/nomu30/keymaps/via/keymap.c
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
/* Copyright 2019 Naoto Takai
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation, either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
#include QMK_KEYBOARD_H
|
||||||
|
|
||||||
|
|
||||||
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
[0] = LAYOUT(
|
||||||
|
KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
|
||||||
|
KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_ENT,
|
||||||
|
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_SPC
|
||||||
|
),
|
||||||
|
[1] = LAYOUT(
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
|
||||||
|
),
|
||||||
|
[2] = LAYOUT(
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
|
||||||
|
),
|
||||||
|
[3] = LAYOUT(
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
|
||||||
|
)
|
||||||
|
};
|
2
keyboards/nomu30/keymaps/via/rules.mk
Normal file
2
keyboards/nomu30/keymaps/via/rules.mk
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
VIA_ENABLE = yes
|
||||||
|
LTO_ENABLE = yes
|
@ -16,15 +16,12 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include "quantum.h"
|
#include "quantum.h"
|
||||||
|
#ifdef KEYBOARD_nomu30_rev1
|
||||||
|
#include "rev1.h"
|
||||||
|
#elif KEYBOARD_nomu30_rev2
|
||||||
|
#include "rev2.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
/* This a shortcut to help you visually see your layout.
|
|
||||||
*
|
|
||||||
* The first section contains all of the arguments representing the physical
|
|
||||||
* layout of the board and position of the keys.
|
|
||||||
*
|
|
||||||
* The second converts the arguments into a two-dimensional array which
|
|
||||||
* represents the switch matrix.
|
|
||||||
*/
|
|
||||||
#define LAYOUT( \
|
#define LAYOUT( \
|
||||||
K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, \
|
K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, \
|
||||||
K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, \
|
K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, \
|
||||||
@ -35,14 +32,3 @@
|
|||||||
{ K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, KC_NO }, \
|
{ K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, KC_NO }, \
|
||||||
{ K200, K201, K202, K203, K204, K205, K206, K207, K208, KC_NO, KC_NO, KC_NO }, \
|
{ K200, K201, K202, K203, K204, K205, K206, K207, K208, KC_NO, KC_NO, KC_NO }, \
|
||||||
}
|
}
|
||||||
|
|
||||||
#define LAYOUT_kc( \
|
|
||||||
K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, \
|
|
||||||
K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, \
|
|
||||||
K200, K201, K202, K203, K204, K205, K206, K207, K208 \
|
|
||||||
) \
|
|
||||||
LAYOUT( \
|
|
||||||
KC_##K001, KC_##K002, KC_##K003, KC_##K004, KC_##K005, KC_##K006, KC_##K007, KC_##K008, KC_##K009, KC_##K010, KC_##K011, \
|
|
||||||
KC_##K100, KC_##K101, KC_##K102, KC_##K103, KC_##K104, KC_##K105, KC_##K106, KC_##K107, KC_##K108, KC_##K109, KC_##K110, \
|
|
||||||
KC_##K200, KC_##K201, KC_##K202, KC_##K203, KC_##K204, KC_##K205, KC_##K206, KC_##K207, KC_##K208 \
|
|
||||||
)
|
|
||||||
|
35
keyboards/nomu30/rev1/config.h
Normal file
35
keyboards/nomu30/rev1/config.h
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
/*
|
||||||
|
Copyright 2019 Naoto Takai
|
||||||
|
|
||||||
|
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
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Keyboard Matrix Assignments
|
||||||
|
*
|
||||||
|
* Change this to how you wired your keyboard
|
||||||
|
* COLS: AVR pins used for columns, left to right
|
||||||
|
* ROWS: AVR pins used for rows, top to bottom
|
||||||
|
* DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
|
||||||
|
* ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
#define MATRIX_ROW_PINS { D1, D0, D4 }
|
||||||
|
#define MATRIX_COL_PINS { C6, D7, E6, B4, F4, F5, F6, F7, B1, B3, B2, B6 }
|
||||||
|
#define UNUSED_PINS
|
||||||
|
|
||||||
|
/* COL2ROW, ROW2COL*/
|
||||||
|
#define DIODE_DIRECTION COL2ROW
|
17
keyboards/nomu30/rev1/rev1.c
Normal file
17
keyboards/nomu30/rev1/rev1.c
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
/* Copyright 2020 Naoto Takai
|
||||||
|
*
|
||||||
|
* 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 "rev1.h"
|
19
keyboards/nomu30/rev1/rev1.h
Normal file
19
keyboards/nomu30/rev1/rev1.h
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
/* Copyright 2020 Naoto Takai
|
||||||
|
*
|
||||||
|
* 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"
|
32
keyboards/nomu30/rev1/rules.mk
Normal file
32
keyboards/nomu30/rev1/rules.mk
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
# MCU name
|
||||||
|
MCU = atmega32u4
|
||||||
|
|
||||||
|
# Bootloader selection
|
||||||
|
# Teensy halfkay
|
||||||
|
# Pro Micro caterina
|
||||||
|
# Atmel DFU atmel-dfu
|
||||||
|
# LUFA DFU lufa-dfu
|
||||||
|
# QMK DFU qmk-dfu
|
||||||
|
# ATmega32A bootloadHID
|
||||||
|
# ATmega328P USBasp
|
||||||
|
BOOTLOADER = caterina
|
||||||
|
|
||||||
|
# Build Options
|
||||||
|
# change yes to no to disable
|
||||||
|
#
|
||||||
|
BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration
|
||||||
|
MOUSEKEY_ENABLE = no # Mouse keys
|
||||||
|
EXTRAKEY_ENABLE = yes # Audio control and System control
|
||||||
|
CONSOLE_ENABLE = no # Console for debug
|
||||||
|
COMMAND_ENABLE = no # Commands for debug and configuration
|
||||||
|
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
|
||||||
|
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
|
||||||
|
# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
|
||||||
|
NKRO_ENABLE = no # USB Nkey Rollover
|
||||||
|
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
|
||||||
|
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
|
||||||
|
MIDI_ENABLE = no # MIDI support
|
||||||
|
UNICODE_ENABLE = no # Unicode
|
||||||
|
BLUETOOTH_ENABLE = no # Enable Bluetooth
|
||||||
|
AUDIO_ENABLE = no # Audio output
|
||||||
|
FAUXCLICKY_ENABLE = no # Use buzzer to emulate clicky switches
|
47
keyboards/nomu30/rev2/config.h
Normal file
47
keyboards/nomu30/rev2/config.h
Normal file
@ -0,0 +1,47 @@
|
|||||||
|
/*
|
||||||
|
Copyright 2020 Naoto Takai
|
||||||
|
|
||||||
|
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
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Keyboard Matrix Assignments
|
||||||
|
*
|
||||||
|
* Change this to how you wired your keyboard
|
||||||
|
* COLS: AVR pins used for columns, left to right
|
||||||
|
* ROWS: AVR pins used for rows, top to bottom
|
||||||
|
* DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
|
||||||
|
* ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
#define MATRIX_ROW_PINS { B2, B1, B0 }
|
||||||
|
#define MATRIX_COL_PINS { C4, C5, C6, C7, B7, B6, B5, B4, B3, D5, D4, D3 }
|
||||||
|
#define UNUSED_PINS { C2, D0, D1, D2, D6 }
|
||||||
|
|
||||||
|
/* COL2ROW, ROW2COL*/
|
||||||
|
#define DIODE_DIRECTION COL2ROW
|
||||||
|
|
||||||
|
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
|
||||||
|
#define DEBOUNCE 5
|
||||||
|
|
||||||
|
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
|
||||||
|
#define LOCKING_SUPPORT_ENABLE
|
||||||
|
/* Locking resynchronize hack */
|
||||||
|
#define LOCKING_RESYNC_ENABLE
|
||||||
|
|
||||||
|
/* disable these deprecated features by default */
|
||||||
|
#define NO_ACTION_MACRO
|
||||||
|
#define NO_ACTION_FUNCTION
|
17
keyboards/nomu30/rev2/rev2.c
Normal file
17
keyboards/nomu30/rev2/rev2.c
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
/* Copyright 2020 Naoto Takai
|
||||||
|
*
|
||||||
|
* 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 "rev2.h"
|
19
keyboards/nomu30/rev2/rev2.h
Normal file
19
keyboards/nomu30/rev2/rev2.h
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
/* Copyright 2020 Naoto Takai
|
||||||
|
*
|
||||||
|
* 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"
|
31
keyboards/nomu30/rev2/rules.mk
Normal file
31
keyboards/nomu30/rev2/rules.mk
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
# MCU name
|
||||||
|
MCU = atmega32u2
|
||||||
|
|
||||||
|
# Bootloader selection
|
||||||
|
# Teensy halfkay
|
||||||
|
# Pro Micro caterina
|
||||||
|
# Atmel DFU atmel-dfu
|
||||||
|
# LUFA DFU lufa-dfu
|
||||||
|
# QMK DFU qmk-dfu
|
||||||
|
# ATmega32A bootloadHID
|
||||||
|
# ATmega328P USBasp
|
||||||
|
BOOTLOADER = atmel-dfu
|
||||||
|
|
||||||
|
# Build Options
|
||||||
|
# change yes to no to disable
|
||||||
|
#
|
||||||
|
BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration
|
||||||
|
MOUSEKEY_ENABLE = no # Mouse keys
|
||||||
|
EXTRAKEY_ENABLE = no # Audio control and System control
|
||||||
|
CONSOLE_ENABLE = no # Console for debug
|
||||||
|
COMMAND_ENABLE = no # Commands for debug and configuration
|
||||||
|
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
|
||||||
|
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
|
||||||
|
# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
|
||||||
|
NKRO_ENABLE = no # USB Nkey Rollover
|
||||||
|
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
|
||||||
|
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
|
||||||
|
MIDI_ENABLE = no # MIDI support
|
||||||
|
BLUETOOTH_ENABLE = no # Enable Bluetooth
|
||||||
|
AUDIO_ENABLE = no # Audio output
|
||||||
|
FAUXCLICKY_ENABLE = no # Use buzzer to emulate clicky switches
|
@ -1,33 +1 @@
|
|||||||
# MCU name
|
DEFAULT_FOLDER = nomu30/rev1
|
||||||
MCU = atmega32u4
|
|
||||||
|
|
||||||
# Bootloader selection
|
|
||||||
# Teensy halfkay
|
|
||||||
# Pro Micro caterina
|
|
||||||
# Atmel DFU atmel-dfu
|
|
||||||
# LUFA DFU lufa-dfu
|
|
||||||
# QMK DFU qmk-dfu
|
|
||||||
# ATmega32A bootloadHID
|
|
||||||
# ATmega328P USBasp
|
|
||||||
BOOTLOADER = caterina
|
|
||||||
|
|
||||||
# Build Options
|
|
||||||
# change yes to no to disable
|
|
||||||
#
|
|
||||||
BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration
|
|
||||||
MOUSEKEY_ENABLE = no # Mouse keys
|
|
||||||
EXTRAKEY_ENABLE = yes # Audio control and System control
|
|
||||||
CONSOLE_ENABLE = no # Console for debug
|
|
||||||
COMMAND_ENABLE = no # Commands for debug and configuration
|
|
||||||
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
|
|
||||||
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
|
|
||||||
# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
|
|
||||||
NKRO_ENABLE = no # USB Nkey Rollover
|
|
||||||
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality on B7 by default
|
|
||||||
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
|
|
||||||
MIDI_ENABLE = no # MIDI support
|
|
||||||
UNICODE_ENABLE = no # Unicode
|
|
||||||
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
|
|
||||||
AUDIO_ENABLE = no # Audio output on port C6
|
|
||||||
FAUXCLICKY_ENABLE = no # Use buzzer to emulate clicky switches
|
|
||||||
HD44780_ENABLE = no # Enable support for HD44780 based LCDs
|
|
||||||
|
35
keyboards/planck/keymaps/abishalom/config.h
Normal file
35
keyboards/planck/keymaps/abishalom/config.h
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
#pragma once
|
||||||
|
|
||||||
|
#ifdef AUDIO_ENABLE
|
||||||
|
#define STARTUP_SONG SONG(PLANCK_SOUND)
|
||||||
|
// #define STARTUP_SONG SONG(NO_SOUND)
|
||||||
|
|
||||||
|
#define DEFAULT_LAYER_SONGS { SONG(QWERTY_SOUND), \
|
||||||
|
SONG(COLEMAK_SOUND), \
|
||||||
|
SONG(DVORAK_SOUND) \
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/*
|
||||||
|
* MIDI options
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* Prevent use of disabled MIDI features in the keymap */
|
||||||
|
//#define MIDI_ENABLE_STRICT 1
|
||||||
|
|
||||||
|
/* enable basic MIDI features:
|
||||||
|
- MIDI notes can be sent when in Music mode is on
|
||||||
|
*/
|
||||||
|
|
||||||
|
#define MIDI_BASIC
|
||||||
|
|
||||||
|
/* enable advanced MIDI features:
|
||||||
|
- MIDI notes can be added to the keymap
|
||||||
|
- Octave shift and transpose
|
||||||
|
- Virtual sustain, portamento, and modulation wheel
|
||||||
|
- etc.
|
||||||
|
*/
|
||||||
|
//#define MIDI_ADVANCED
|
||||||
|
|
||||||
|
/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */
|
||||||
|
//#define MIDI_TONE_KEYCODE_OCTAVES 2
|
316
keyboards/planck/keymaps/abishalom/keymap.c
Normal file
316
keyboards/planck/keymaps/abishalom/keymap.c
Normal file
@ -0,0 +1,316 @@
|
|||||||
|
/* Copyright 2015-2017 Jack Humbert
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation, either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include QMK_KEYBOARD_H
|
||||||
|
#include "muse.h"
|
||||||
|
|
||||||
|
|
||||||
|
enum planck_layers {
|
||||||
|
_QWERTY,
|
||||||
|
_LOWER,
|
||||||
|
_RAISE,
|
||||||
|
_NAV,
|
||||||
|
_PLOVER,
|
||||||
|
_ADJUST
|
||||||
|
};
|
||||||
|
|
||||||
|
enum planck_keycodes {
|
||||||
|
QWERTY = SAFE_RANGE,
|
||||||
|
PLOVER,
|
||||||
|
BACKLIT,
|
||||||
|
EXT_PLV
|
||||||
|
};
|
||||||
|
|
||||||
|
#define LOWER MO(_LOWER)
|
||||||
|
#define RAISE MO(_RAISE)
|
||||||
|
|
||||||
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
|
||||||
|
/* Qwerty
|
||||||
|
* ,-----------------------------------------------------------------------------------.
|
||||||
|
* | Tab | Q | W | E | R | T | Y | U | I | O | P | Bksp |
|
||||||
|
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||||
|
* | Esc | A | S | D | F | G | H | J | K | L | ; | " |
|
||||||
|
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||||
|
* | Shift| Z | X | C | V | B | N | M | , | . | / |Enter |
|
||||||
|
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||||
|
* | Ctrl| CAPS | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right |
|
||||||
|
* `-----------------------------------------------------------------------------------'
|
||||||
|
*/
|
||||||
|
[_QWERTY] = LAYOUT_planck_grid(
|
||||||
|
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
|
||||||
|
LT(_NAV, KC_ESC), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
|
||||||
|
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT ,
|
||||||
|
KC_LCTL, KC_CAPS, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
|
||||||
|
),
|
||||||
|
|
||||||
|
|
||||||
|
/* Lower
|
||||||
|
* ,-----------------------------------------------------------------------------------.
|
||||||
|
* | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Bksp |
|
||||||
|
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||||
|
* | Del | F1 | F2 | F3 | F4 | F5 | F6 | _ | + | { | } | | |
|
||||||
|
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||||
|
* | | F7 | F8 | F9 | F10 | F11 | F12 |ISO ~ |ISO | | Home | End |Pl/Ps |
|
||||||
|
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||||
|
* | | | | | | | | Prev | Vol- | Vol+ | Next |
|
||||||
|
* `-----------------------------------------------------------------------------------'
|
||||||
|
*/
|
||||||
|
[_LOWER] = LAYOUT_planck_grid(
|
||||||
|
KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC,
|
||||||
|
KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE,
|
||||||
|
_______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, S(KC_NUHS), S(KC_NUBS), KC_HOME, KC_END, KC_MPLY,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_VOLD, KC_VOLU, KC_MNXT
|
||||||
|
),
|
||||||
|
|
||||||
|
/* Raise
|
||||||
|
* ,-----------------------------------------------------------------------------------.
|
||||||
|
* | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp |
|
||||||
|
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||||
|
* | Del | F1 | F2 | F3 | F4 | F5 | F6 | - | = | [ | ] | \ |
|
||||||
|
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||||
|
* | | F7 | F8 | F9 | F10 | F11 | F12 |ISO # |ISO / |Pg Up |Pg Dn |Pl/Ps |
|
||||||
|
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||||
|
* | | | | | | | | Prev | Vol- | Vol+ | Next |
|
||||||
|
* `-----------------------------------------------------------------------------------'
|
||||||
|
*/
|
||||||
|
[_RAISE] = LAYOUT_planck_grid(
|
||||||
|
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
|
||||||
|
KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS,
|
||||||
|
_______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, KC_PGUP, KC_PGDN, KC_MPLY,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_VOLD, KC_VOLU, KC_MNXT
|
||||||
|
),
|
||||||
|
|
||||||
|
/* Nav
|
||||||
|
* ,----------------------------------l-------------------------------------------------.
|
||||||
|
* | | | | | | | | Pg Dn| Up | Pg Up| | |
|
||||||
|
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||||
|
* | | Mute | Vol-| Vol+ | Pl/Ps| | | Left | Down | Right| | |
|
||||||
|
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||||
|
* | | | | | | | | | | | | |
|
||||||
|
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||||
|
* | | | | | | | | | | | |
|
||||||
|
* `-----------------------------------------------------------------------------------'
|
||||||
|
*/
|
||||||
|
[_NAV] = LAYOUT_planck_grid(
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, KC_PGDOWN, KC_UP, KC_PGUP, _______ , _______,
|
||||||
|
_______, KC_MUTE, KC_VOLD, KC_VOLU, KC_MPLY, _______, _______, KC_LEFT, KC_DOWN, KC_RIGHT, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPLY,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_VOLD, KC_VOLU, KC_MNXT
|
||||||
|
),
|
||||||
|
|
||||||
|
|
||||||
|
/* Plover layer (http://opensteno.org)
|
||||||
|
* ,-----------------------------------------------------------------------------------.
|
||||||
|
* | # | # | # | # | # | # | # | # | # | # | # | # |
|
||||||
|
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||||
|
* | | S | T | P | H | * | * | F | P | L | T | D |
|
||||||
|
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||||
|
* | | S | K | W | R | * | * | R | B | G | S | Z |
|
||||||
|
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||||
|
* | Exit | | | A | O | | E | U | | | |
|
||||||
|
* `-----------------------------------------------------------------------------------'
|
||||||
|
*/
|
||||||
|
[_PLOVER] = LAYOUT_planck_grid(
|
||||||
|
KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1 ,
|
||||||
|
XXXXXXX, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC,
|
||||||
|
XXXXXXX, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
|
||||||
|
EXT_PLV, XXXXXXX, XXXXXXX, KC_C, KC_V, XXXXXXX, XXXXXXX, KC_N, KC_M, XXXXXXX, XXXXXXX, XXXXXXX
|
||||||
|
),
|
||||||
|
|
||||||
|
/* Adjust (Lower + Raise)
|
||||||
|
* v------------------------RGB CONTROL--------------------v
|
||||||
|
* ,-----------------------------------------------------------------------------------.
|
||||||
|
* | | Reset|Debug | RGB |RGBMOD| HUE+ | HUE- | SAT+ | SAT- |BRGTH+|BRGTH-| Del |
|
||||||
|
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||||
|
* | | |MUSmod|Aud on|Audoff|AGnorm|AGswap|Qwerty| | |Plover| |
|
||||||
|
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||||
|
* | |Voice-|Voice+|Mus on|Musoff|MIDIon|MIDIof|TermOn|TermOf| | | |
|
||||||
|
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||||
|
* | | | | | | | | | | | |
|
||||||
|
* `-----------------------------------------------------------------------------------'
|
||||||
|
*/
|
||||||
|
[_ADJUST] = LAYOUT_planck_grid(
|
||||||
|
_______, RESET, DEBUG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL ,
|
||||||
|
_______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, _______, _______, PLOVER, _______,
|
||||||
|
_______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, TERM_ON, TERM_OFF, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||||
|
)
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
#ifdef AUDIO_ENABLE
|
||||||
|
float plover_song[][2] = SONG(PLOVER_SOUND);
|
||||||
|
float plover_gb_song[][2] = SONG(PLOVER_GOODBYE_SOUND);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
layer_state_t layer_state_set_user(layer_state_t state) {
|
||||||
|
return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
|
||||||
|
}
|
||||||
|
|
||||||
|
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||||
|
switch (keycode) {
|
||||||
|
case QWERTY:
|
||||||
|
if (record->event.pressed) {
|
||||||
|
print("mode just switched to qwerty and this is a huge string\n");
|
||||||
|
set_single_persistent_default_layer(_QWERTY);
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
case BACKLIT:
|
||||||
|
if (record->event.pressed) {
|
||||||
|
register_code(KC_RSFT);
|
||||||
|
#ifdef BACKLIGHT_ENABLE
|
||||||
|
backlight_step();
|
||||||
|
#endif
|
||||||
|
#ifdef KEYBOARD_planck_rev5
|
||||||
|
writePinLow(E6);
|
||||||
|
#endif
|
||||||
|
} else {
|
||||||
|
unregister_code(KC_RSFT);
|
||||||
|
#ifdef KEYBOARD_planck_rev5
|
||||||
|
writePinHigh(E6);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
case PLOVER:
|
||||||
|
if (record->event.pressed) {
|
||||||
|
#ifdef AUDIO_ENABLE
|
||||||
|
stop_all_notes();
|
||||||
|
PLAY_SONG(plover_song);
|
||||||
|
#endif
|
||||||
|
layer_off(_RAISE);
|
||||||
|
layer_off(_LOWER);
|
||||||
|
layer_off(_ADJUST);
|
||||||
|
layer_on(_PLOVER);
|
||||||
|
if (!eeconfig_is_enabled()) {
|
||||||
|
eeconfig_init();
|
||||||
|
}
|
||||||
|
keymap_config.raw = eeconfig_read_keymap();
|
||||||
|
keymap_config.nkro = 1;
|
||||||
|
eeconfig_update_keymap(keymap_config.raw);
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
case EXT_PLV:
|
||||||
|
if (record->event.pressed) {
|
||||||
|
#ifdef AUDIO_ENABLE
|
||||||
|
PLAY_SONG(plover_gb_song);
|
||||||
|
#endif
|
||||||
|
layer_off(_PLOVER);
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool muse_mode = false;
|
||||||
|
uint8_t last_muse_note = 0;
|
||||||
|
uint16_t muse_counter = 0;
|
||||||
|
uint8_t muse_offset = 70;
|
||||||
|
uint16_t muse_tempo = 50;
|
||||||
|
|
||||||
|
void encoder_update(bool clockwise) {
|
||||||
|
if (muse_mode) {
|
||||||
|
if (IS_LAYER_ON(_RAISE)) {
|
||||||
|
if (clockwise) {
|
||||||
|
muse_offset++;
|
||||||
|
} else {
|
||||||
|
muse_offset--;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if (clockwise) {
|
||||||
|
muse_tempo+=1;
|
||||||
|
} else {
|
||||||
|
muse_tempo-=1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if (clockwise) {
|
||||||
|
#ifdef MOUSEKEY_ENABLE
|
||||||
|
tap_code(KC_MS_WH_DOWN);
|
||||||
|
#else
|
||||||
|
tap_code(KC_PGDN);
|
||||||
|
#endif
|
||||||
|
} else {
|
||||||
|
#ifdef MOUSEKEY_ENABLE
|
||||||
|
tap_code(KC_MS_WH_UP);
|
||||||
|
#else
|
||||||
|
tap_code(KC_PGUP);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void dip_switch_update_user(uint8_t index, bool active) {
|
||||||
|
switch (index) {
|
||||||
|
case 0: {
|
||||||
|
#ifdef AUDIO_ENABLE
|
||||||
|
static bool play_sound = false;
|
||||||
|
#endif
|
||||||
|
if (active) {
|
||||||
|
#ifdef AUDIO_ENABLE
|
||||||
|
if (play_sound) { PLAY_SONG(plover_song); }
|
||||||
|
#endif
|
||||||
|
layer_on(_ADJUST);
|
||||||
|
} else {
|
||||||
|
#ifdef AUDIO_ENABLE
|
||||||
|
if (play_sound) { PLAY_SONG(plover_gb_song); }
|
||||||
|
#endif
|
||||||
|
layer_off(_ADJUST);
|
||||||
|
}
|
||||||
|
#ifdef AUDIO_ENABLE
|
||||||
|
play_sound = true;
|
||||||
|
#endif
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case 1:
|
||||||
|
if (active) {
|
||||||
|
muse_mode = true;
|
||||||
|
} else {
|
||||||
|
muse_mode = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void matrix_scan_user(void) {
|
||||||
|
#ifdef AUDIO_ENABLE
|
||||||
|
if (muse_mode) {
|
||||||
|
if (muse_counter == 0) {
|
||||||
|
uint8_t muse_note = muse_offset + SCALE[muse_clock_pulse()];
|
||||||
|
if (muse_note != last_muse_note) {
|
||||||
|
stop_note(compute_freq_for_midi_note(last_muse_note));
|
||||||
|
play_note(compute_freq_for_midi_note(muse_note), 0xF);
|
||||||
|
last_muse_note = muse_note;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
muse_counter = (muse_counter + 1) % muse_tempo;
|
||||||
|
} else {
|
||||||
|
if (muse_counter) {
|
||||||
|
stop_all_notes();
|
||||||
|
muse_counter = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
bool music_mask_user(uint16_t keycode) {
|
||||||
|
switch (keycode) {
|
||||||
|
case RAISE:
|
||||||
|
case LOWER:
|
||||||
|
return false;
|
||||||
|
default:
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
7
keyboards/planck/keymaps/abishalom/readme.md
Normal file
7
keyboards/planck/keymaps/abishalom/readme.md
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
# Abishalom Planck Layout
|
||||||
|
|
||||||
|
Mostly the same as default. Changes:
|
||||||
|
- Get rid of COLEMAK and DVORAK layers
|
||||||
|
- Add new layer (NAV) which is accessed by holding the ESC key. This brings up arrow keys in ijkl spots, along with handy media funcions in wasd.
|
||||||
|
- Move left control to the corner, put caps lock between LCTRL and LGUI
|
||||||
|
- Adjustments to media keys in bottom right corner
|
1
keyboards/planck/keymaps/abishalom/rules.mk
Normal file
1
keyboards/planck/keymaps/abishalom/rules.mk
Normal file
@ -0,0 +1 @@
|
|||||||
|
SRC += muse.c
|
@ -1,14 +1,15 @@
|
|||||||
# AJP10304 Custom Planck Layout
|
# AJP10304 Custom Planck Layout
|
||||||
# Also available for the Atreus50 and JJ40
|
# Also available for the Shark, JJ40 and Atreus50
|
||||||
|
|
||||||
**Note:** In the tables below where there are two characters on a key,
|
**Note:** In the tables below where there are two characters on a key,
|
||||||
the second is the output when shift is applied.
|
the second is the output when shift is applied.
|
||||||
|
|
||||||
**Note:** The below tables assume a UK layout.
|
**Note:** The below tables assume a UK layout.
|
||||||
|
|
||||||
####Flashing
|
#### Flashing
|
||||||
Rev <=5: sudo make planck:ajp10304:dfu
|
Rev <=5: `make planck:ajp10304:flash`
|
||||||
Rev 6: sudo make planck/rev6:ajp10304:dfu-util
|
|
||||||
|
Rev 6: `make planck/rev6:ajp10304:flash`
|
||||||
|
|
||||||
##### Main Qwerty Layer
|
##### Main Qwerty Layer
|
||||||
|
|
||||||
@ -47,13 +48,13 @@ Activated when `Lower` is held in the above `qwerty` layer.
|
|||||||
| Shift | \| | `¬ | #~ | '@ | -_ | =+ | #~ | [{ | ]} | '@ |Shift |
|
| Shift | \| | `¬ | #~ | '@ | -_ | =+ | #~ | [{ | ]} | '@ |Shift |
|
||||||
| | | | |Lower | Del |Space | | Next | Vol- | Vol+ | Play |
|
| | | | |Lower | Del |Space | | Next | Vol- | Vol+ | Play |
|
||||||
|
|
||||||
##### Raise Layer
|
##### Raise Layer
|
||||||
Activated when `Raise` is held in the above `qwerty` layer.
|
Activated when `Raise` is held in the above `qwerty` layer.
|
||||||
|
|
||||||
* Preferred layer for typing brackets.
|
* Preferred layer for typing brackets.
|
||||||
* Allows for cursor navigation to be used solely with the right hand.
|
* Allows for cursor navigation to be used solely with the right hand.
|
||||||
* WRDSEL: Select the word where the cursor is.
|
* WRDSEL: Select the word where the cursor is.
|
||||||
* |< and >|: Apply `ctrl` to `left` and `right` respectively for word jumping.
|
* |< and >|: Apply `ctrl` to `left` and `right` respectively for word jumping.
|
||||||
|
|
||||||
| | | | | | | | | | | | |
|
| | | | | | | | | | | | |
|
||||||
| :---: |:----:| :---:| :---:| :---:| :---:| :---: | :---:| :---:| :---:| :---: | :---:|
|
| :---: |:----:| :---:| :---:| :---:| :---:| :---: | :---:| :---:| :---:| :---: | :---:|
|
||||||
@ -102,7 +103,17 @@ Activated when `fn` and `raise` held together.
|
|||||||
|
|
||||||
| | | | | | | | | | | | |
|
| | | | | | | | | | | | |
|
||||||
| :---: | :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:|
|
| :---: | :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:|
|
||||||
| ESC | | | | | | | | | | | |
|
| ESC | | | | | | | | BTN3 | | | |
|
||||||
| ACC0 | ACC1 | ACC2 | | | | | BTN1 | UP | BTN2 | | |
|
| ACC0 | ACC1 | ACC2 | | | | | BTN1 | UP | BTN2 | | |
|
||||||
| ACC0 | ACC1 | ACC2 | | | | | LEFT | DOWN | RIGHT| | |
|
| ACC0 | ACC1 | ACC2 | | | | | LEFT | DOWN | RIGHT| | |
|
||||||
| | | | | | | | | | | | |
|
| | | | | | | | | | | | |
|
||||||
|
|
||||||
|
##### Number Pad Layout
|
||||||
|
Activated when holding `Esc` key.
|
||||||
|
|
||||||
|
| | | | | | | | | | | | |
|
||||||
|
| :---: | :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:|
|
||||||
|
| | | | | | |NMLOCK| 7 | 8 | 9 | / | |
|
||||||
|
| | | | | | | | 4 | 5 | 6 | * | |
|
||||||
|
| | | | | | | | 1 | 2 | 3 | + | |
|
||||||
|
| | | | | | | | 0 | . | , | - | |
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user