Compare commits

...
6 Commits
Author SHA1 Message Date
Drashna Jaelre 845953cc67 V-USB remote wakeup (#7627)
* V-USB remote wakeup

Backport from tmk/tmk_keyboard@391c979be7

* Change vusb.c remote wake config

as per fauxpark's suggestion
2020-04-05 18:18:19 +10:00
RyanandKonstantin Đorđević c3c2eb71e1 Add Greek keymap (#8636)
* Add Greek keymap

* Split left shift (unused), change keycode for dialytika tonos

* Update quantum/keymap_extras/keymap_greek.h

Co-Authored-By: Konstantin Đorđević <[email protected]>

* Fix definition for DTON

Co-authored-by: Konstantin Đorđević <[email protected]>
2020-04-05 00:56:20 -07:00
Ryan 28a6a4a15b Add Polish keymap (#8637)
* Add Polish keymap

* Fix wrong AltGr mapping

* These are ogoneks, not cedillas

* Too many !s

* ANSI

* Just use BSLS

* Move BSLS

* Move PIPE

* Fix some incorrect names in keymap_slovak.h

Thanks to vomindoraan
2020-04-05 00:55:13 -07:00
Drashna Jaelre ccb37f673a Add Russian keymap (#8638)
* Add Russian keymap

* Switch to ANSI layout
2020-04-05 00:53:52 -07:00
fauxpark 781308507d Switch to ANSI layout 2020-04-02 03:10:51 +11:00
fauxpark 3fe8d604a4 Add Russian keymap 2020-04-01 14:09:34 +11:00
6 changed files with 472 additions and 9 deletions

No files matched your search

+162
View File
@@ -0,0 +1,162 @@
/* Copyright 2020
*
* 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 "keymap.h"
// clang-format off
/*
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
* │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │       │
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
* │     │ ; │ ς │ Ε │ Ρ │ Τ │ Υ │ Θ │ Ι │ Ο │ Π │ [ │ ] │     │
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐    │
* │      │ Α │ Σ │ Δ │ Φ │ Γ │ Η │ Ξ │ Κ │ Λ │ ΄ │ ' │ \ │    │
* ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
* │    │   │ Ζ │ Χ │ Ψ │ Ω │ Β │ Ν │ Μ │ , │ . │ / │          │
* ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
* │    │    │    │                        │    │    │    │    │
* └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
*/
// Row 1
#define GR_GRV KC_GRV // `
#define GR_1 KC_1 // 1
#define GR_2 KC_2 // 2
#define GR_3 KC_3 // 3
#define GR_4 KC_4 // 4
#define GR_5 KC_5 // 5
#define GR_6 KC_6 // 6
#define GR_7 KC_7 // 7
#define GR_8 KC_8 // 8
#define GR_9 KC_9 // 9
#define GR_0 KC_0 // 0
#define GR_MINS KC_MINS // -
#define GR_EQL KC_EQL // =
// Row 2
#define GR_SCLN KC_Q // ;
#define GR_FSIG KC_W // ς
#define GR_EPSL KC_E // Ε
#define GR_RHO KC_R // Ρ
#define GR_TAU KC_T // Τ
#define GR_UPSL KC_Y // Υ
#define GR_THET KC_U // Θ
#define GR_IOTA KC_I // Ι
#define GR_OMCR KC_O // Ο
#define GR_PI KC_P // Π
#define GR_LBRC KC_LBRC // [
#define GR_RBRC KC_RBRC // ]
// Row 3
#define GR_ALPH KC_A // Α
#define GR_SIGM KC_S // Σ
#define GR_DELT KC_D // Δ
#define GR_PHI KC_F // Φ
#define GR_GAMM KC_G // Γ
#define GR_ETA KC_H // Η
#define GR_XI KC_J // Ξ
#define GR_KAPP KC_K // Κ
#define GR_LAMB KC_L // Λ
#define GR_TONS KC_SCLN // ΄ (dead)
#define GR_QUOT KC_QUOT // '
#define GR_BSLS KC_NUHS // (backslash)
// Row 4
#define GR_ZETA KC_Z // Ζ
#define GR_CHI KC_X // Χ
#define GR_PSI KC_C // Ψ
#define GR_OMEG KC_V // Ω
#define GR_BETA KC_B // Β
#define GR_NU KC_N // Ν
#define GR_MU KC_M // Μ
#define GR_COMM KC_COMM // ,
#define GR_DOT KC_DOT // .
#define GR_SLSH KC_SLSH // /
/* Shifted symbols
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
* │ ~ │ ! │ @ │ # │ $ │ % │ ^ │ & │ * │ ( │ ) │ _ │ + │       │
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
* │     │ : │ ΅ │   │   │   │   │   │   │   │   │ { │ } │     │
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐    │
* │      │   │   │   │   │   │   │   │   │   │ ¨ │ " │ | │    │
* ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
* │    │   │   │   │   │   │   │   │   │ < │ > │ ? │          │
* ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
* │    │    │    │                        │    │    │    │    │
* └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
*/
// Row 1
#define GR_TILD S(GR_GRV) // ~
#define GR_EXLM S(GR_1) // !
#define GR_AT S(GR_2) // @
#define GR_HASH S(GR_3) // #
#define GR_DLR S(GR_4) // $
#define GR_PERC S(GR_5) // %
#define GR_CIRC S(GR_6) // ^
#define GR_AMPR S(GR_7) // &
#define GR_ASTR S(GR_8) // *
#define GR_LPRN S(GR_9) // (
#define GR_RPRN S(GR_0) // )
#define GR_UNDS S(GR_MINS) // _
#define GR_PLUS S(GR_EQL) // +
// Row 2
#define GR_COLN S(GR_SCLN) // :
#define GR_DTON S(GR_FSIG) // ΅ (dead)
#define GR_LCBR S(GR_LBRC) // {
#define GR_RCBR S(GR_RBRC) // }
// Row 3
#define GR_DIAE S(GR_TONS) // ¨ (dead)
#define GR_DQUO S(GR_QUOT) // "
#define GR_PIPE S(GR_BSLS) // |
// Row 4
#define GR_LABK S(GR_COMM) // <
#define GR_RABK S(GR_DOT) // >
#define GR_QUES S(GR_SLSH) // ?
/* AltGr symbols
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
* │   │   │ ² │ ³ │ £ │ § │ ¶ │   │ ¤ │ ¦ │ ° │ ± │ ½ │       │
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
* │     │   │   │ € │ ® │   │ ¥ │   │   │   │   │ « │ » │     │
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐    │
* │      │   │   │   │   │   │   │   │   │   │   │   │ ¬ │    │
* ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
* │    │   │   │   │ © │   │   │   │   │   │   │   │          │
* ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
* │    │    │    │                        │    │    │    │    │
* └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
*/
// Row 1
#define GR_SUP2 ALGR(GR_2) // ²
#define GR_SUP3 ALGR(GR_3) // ³
#define GR_PND ALGR(GR_4) // £
#define GR_SECT ALGR(GR_5) // §
#define GR_PILC ALGR(GR_6) // ¶
#define GR_CURR ALGR(GR_8) // ¤
#define GR_BRKP ALGR(GR_9) // ¦
#define GR_DEG ALGR(GR_0) // °
#define GR_PLMN ALGR(GR_MINS) // ±
#define GR_HALF ALGR(GR_EQL) // ½
// Row 2
#define GR_EURO ALGR(GR_EPSL) // €
#define GR_REGD ALGR(GR_RHO) // ®
#define GR_YEN ALGR(GR_UPSL) // ¥
#define GR_LDAQ ALGR(GR_LBRC) // «
#define GR_RDAQ ALGR(GR_RBRC) // »
// Row 3
#define GR_NOT ALGR(GR_BSLS) // ¬
// Row 4
#define GR_COPY ALGR(GR_PSI) // ©
+152
View File
@@ -0,0 +1,152 @@
/* Copyright 2020
*
* 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 "keymap.h"
// clang-format off
/*
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
* │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │       │
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
* │     │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │  \  │
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
* │      │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │        │
* ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
* │        │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │          │
* ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
* │    │    │    │                        │    │    │    │    │
* └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
*/
// Row 1
#define PL_GRV KC_GRV // `
#define PL_1 KC_1 // 1
#define PL_2 KC_2 // 2
#define PL_3 KC_3 // 3
#define PL_4 KC_4 // 4
#define PL_5 KC_5 // 5
#define PL_6 KC_6 // 6
#define PL_7 KC_7 // 7
#define PL_8 KC_8 // 8
#define PL_9 KC_9 // 9
#define PL_0 KC_0 // 0
#define PL_MINS KC_MINS // -
#define PL_EQL KC_EQL // =
// Row 2
#define PL_Q KC_Q // Q
#define PL_W KC_W // W
#define PL_E KC_E // E
#define PL_R KC_R // R
#define PL_T KC_T // T
#define PL_Y KC_Y // Y
#define PL_U KC_U // U
#define PL_I KC_I // I
#define PL_O KC_O // O
#define PL_P KC_P // P
#define PL_LBRC KC_LBRC // [
#define PL_RBRC KC_RBRC // ]
#define PL_BSLS KC_BSLS // (backslash)
// Row 3
#define PL_A KC_A // A
#define PL_S KC_S // S
#define PL_D KC_D // D
#define PL_F KC_F // F
#define PL_G KC_G // G
#define PL_H KC_H // H
#define PL_J KC_J // J
#define PL_K KC_K // K
#define PL_L KC_L // L
#define PL_SCLN KC_SCLN // ;
#define PL_QUOT KC_QUOT // '
// Row 4
#define PL_Z KC_Z // Z
#define PL_X KC_X // X
#define PL_C KC_C // C
#define PL_V KC_V // V
#define PL_B KC_B // B
#define PL_N KC_N // N
#define PL_M KC_M // M
#define PL_COMM KC_COMM // ,
#define PL_DOT KC_DOT // .
#define PL_SLSH KC_SLSH // /
/* Shifted symbols
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
* │ ~ │ ! │ @ │ # │ $ │ % │ ^ │ & │ * │ ( │ ) │ _ │ + │       │
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
* │     │   │   │   │   │   │   │   │   │   │   │ { │ } │  |  │
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
* │      │   │   │   │   │   │   │   │   │   │ : │ " │        │
* ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
* │        │   │   │   │   │   │   │   │ < │ > │ ? │          │
* ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
* │    │    │    │                        │    │    │    │    │
* └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
*/
// Row 1
#define PL_TILD S(PL_GRV) // ~
#define PL_EXLM S(PL_1) // !
#define PL_AT S(PL_2) // @
#define PL_HASH S(PL_3) // #
#define PL_DLR S(PL_4) // $
#define PL_PERC S(PL_5) // %
#define PL_CIRC S(PL_6) // ^
#define PL_AMPR S(PL_7) // &
#define PL_ASTR S(PL_8) // *
#define PL_LPRN S(PL_9) // (
#define PL_RPRN S(PL_0) // )
#define PL_UNDS S(PL_MINS) // _
#define PL_PLUS S(PL_EQL) // +
// Row 2
#define PL_LCBR S(PL_LBRC) // {
#define PL_RCBR S(PL_RBRC) // }
#define PL_PIPE S(PL_BSLS) // |
// Row 3
#define PL_COLN S(PL_SCLN) // :
#define PL_DQUO S(PL_QUOT) // "
// Row 4
#define PL_LABK S(PL_COMM) // <
#define PL_RABK S(PL_DOT) // >
#define PL_QUES S(PL_SLSH) // ?
/* AltGr symbols
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
* │   │   │   │   │   │   │   │   │   │   │   │   │   │       │
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
* │     │   │   │ Ę │   │   │   │ € │   │ Ó │   │   │   │     │
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
* │      │ Ą │ Ś │   │   │   │   │   │   │ Ł │   │   │        │
* ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
* │        │ Ż │ Ź │ Ć │   │   │ Ń │   │   │   │   │          │
* ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
* │    │    │    │                        │    │    │    │    │
* └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
*/
// Row 2
#define PL_EOGO ALGR(PL_E) // Ę
#define PL_EURO ALGR(PL_U) // €
#define PL_OACU ALGR(PL_O) // Ó
// Row 3
#define PL_AOGO ALGR(PL_A) // Ą
#define PL_SACU ALGR(PL_S) // Ś
#define PL_LSTR ALGR(PL_L) // Ł
// Row 4
#define PL_ZDOT ALGR(PL_Z) // Ż
#define PL_ZACU ALGR(PL_X) // Ź
#define PL_CACU ALGR(PL_C) // Ć
#define PL_NACU ALGR(PL_N) // Ń
+133
View File
@@ -0,0 +1,133 @@
/* Copyright 2020
*
* 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 "keymap.h"
// clang-format off
/*
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
* │ Ё │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │       │
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
* │     │ Й │ Ц │ У │ К │ Е │ Н │ Г │ Ш │ Щ │ З │ Х │ Ъ │  \  │
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
* │      │ Ф │ Ы │ В │ А │ П │ Р │ О │ Л │ Д │ Ж │ Э │        │
* ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
* │        │ Я │ Ч │ С │ М │ И │ Т │ Ь │ Б │ Ю │ . │          │
* ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
* │    │    │    │                        │    │    │    │    │
* └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
*/
// Row 1
#define RU_YO KC_GRV // Ё
#define RU_1 KC_1 // 1
#define RU_2 KC_2 // 2
#define RU_3 KC_3 // 3
#define RU_4 KC_4 // 4
#define RU_5 KC_5 // 5
#define RU_6 KC_6 // 6
#define RU_7 KC_7 // 7
#define RU_8 KC_8 // 8
#define RU_9 KC_9 // 9
#define RU_0 KC_0 // 0
#define RU_MINS KC_MINS // -
#define RU_EQL KC_EQL // =
// Row 2
#define RU_SHTI KC_Q // Й
#define RU_TSE KC_W // Ц
#define RU_U KC_E // У
#define RU_KA KC_R // К
#define RU_IE KC_T // Е
#define RU_EN KC_Y // Н
#define RU_GHE KC_U // Г
#define RU_SHA KC_I // Ш
#define RU_SHCH KC_O // Щ
#define RU_ZE KC_P // З
#define RU_HA KC_LBRC // Х
#define RU_HARD KC_RBRC // Ъ
#define RU_BSLS KC_BSLS // (backslash)
// Row 3
#define RU_EF KC_A // Ф
#define RU_YERU KC_S // Ы
#define RU_VE KC_D // В
#define RU_A KC_F // А
#define RU_PE KC_G // П
#define RU_ER KC_H // Р
#define RU_O KC_J // О
#define RU_EL KC_K // Л
#define RU_DE KC_L // Д
#define RU_ZHE KC_SCLN // Ж
#define RU_E KC_QUOT // Э
// Row 4
#define RU_YA KC_Z // Я
#define RU_CHE KC_X // Ч
#define RU_ES KC_C // С
#define RU_EM KC_V // М
#define RU_I KC_B // И
#define RU_TE KC_N // Т
#define RU_SOFT KC_M // Ь
#define RU_BE KC_COMM // Б
#define RU_YU KC_DOT // Ю
#define RU_DOT KC_SLSH // .
/* Shifted symbols
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
* │   │ ! │ " │ № │ ; │ % │ : │ ? │ * │ ( │ ) │ _ │ + │       │
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
* │     │   │   │   │   │   │   │   │   │   │   │   │   │  /  │
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
* │      │   │   │   │   │   │   │   │   │   │   │   │        │
* ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
* │        │   │   │   │   │   │   │   │   │   │ , │          │
* ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
* │    │    │    │                        │    │    │    │    │
* └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
*/
// Row 1
#define RU_EXLM S(RU_1) // !
#define RU_DQUO S(RU_2) // "
#define RU_NUM S(RU_3) // №
#define RU_SCLN S(RU_4) // ;
#define RU_PERC S(RU_5) // %
#define RU_COLN S(RU_6) // :
#define RU_QUES S(RU_7) // ?
#define RU_ASTR S(RU_8) // *
#define RU_LPRN S(RU_9) // (
#define RU_RPRN S(RU_0) // )
#define RU_UNDS S(RU_MINS) // _
#define RU_PLUS S(RU_EQL) // +
// Row 2
#define RU_SLSH S(RU_BSLS) // /
// Row 4
#define RU_COMM S(RU_DOT) // ,
/* AltGr symbols
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
* │   │   │   │   │   │   │   │   │ ₽ │   │   │   │   │       │
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
* │     │   │   │   │   │   │   │   │   │   │   │   │   │     │
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
* │      │   │   │   │   │   │   │   │   │   │   │   │        │
* ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
* │        │   │   │   │   │   │   │   │   │   │   │          │
* ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
* │    │    │    │                        │    │    │    │    │
* └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
*/
// Row 1
#define RU_RUBL ALGR(RU_8) // ₽
+4 -4
View File
@@ -36,10 +36,10 @@
// Row 1 // Row 1
#define SK_SCLN KC_GRV // ; #define SK_SCLN KC_GRV // ;
#define SK_PLUS KC_1 // + #define SK_PLUS KC_1 // +
#define SK_LACU KC_2 // ľ #define SK_LCAR KC_2 // ľ
#define SK_SCAR KC_3 // š #define SK_SCAR KC_3 // š
#define SK_CCAR KC_4 // č #define SK_CCAR KC_4 // č
#define SK_TACU KC_5 // ť #define SK_TCAR KC_5 // ť
#define SK_ZCAR KC_6 // ž #define SK_ZCAR KC_6 // ž
#define SK_YACU KC_7 // ý #define SK_YACU KC_7 // ý
#define SK_AACU KC_8 // á #define SK_AACU KC_8 // á
@@ -141,10 +141,10 @@
*/ */
// Row 1 // Row 1
#define SK_TILD ALGR(SK_PLUS) // ~ #define SK_TILD ALGR(SK_PLUS) // ~
#define SK_CIRC ALGR(SK_LACU) // ^ (dead) #define SK_CIRC ALGR(SK_LCAR) // ^ (dead)
#define SK_BREV ALGR(SK_SCAR) // ˘ (dead) #define SK_BREV ALGR(SK_SCAR) // ˘ (dead)
#define SK_RNGA ALGR(SK_CCAR) // ° (dead) #define SK_RNGA ALGR(SK_CCAR) // ° (dead)
#define SK_OGON ALGR(SK_TACU) // ˛ (dead) #define SK_OGON ALGR(SK_TCAR) // ˛ (dead)
#define SK_GRV ALGR(SK_ZCAR) // ` #define SK_GRV ALGR(SK_ZCAR) // `
#define SK_DOTA ALGR(SK_YACU) // ˙ (dead) #define SK_DOTA ALGR(SK_YACU) // ˙ (dead)
#define SK_DACU ALGR(SK_EACU) // ˝ (dead) #define SK_DACU ALGR(SK_EACU) // ˝ (dead)
+20
View File
@@ -20,6 +20,7 @@
#include "timer.h" #include "timer.h"
#include "uart.h" #include "uart.h"
#include "debug.h" #include "debug.h"
#include "suspend.h"
#ifdef SLEEP_LED_ENABLE #ifdef SLEEP_LED_ENABLE
# include "sleep_led.h" # include "sleep_led.h"
#endif #endif
@@ -41,6 +42,23 @@ static void initForUsbConnectivity(void) {
sei(); sei();
} }
void usb_remote_wakeup(void) {
cli();
int8_t ddr_orig = USBDDR;
USBOUT |= (1 << USBMINUS);
USBDDR = ddr_orig | USBMASK;
USBOUT ^= USBMASK;
_delay_ms(25);
USBOUT ^= USBMASK;
USBDDR = ddr_orig;
USBOUT &= ~(1 << USBMINUS);
sei();
}
int main(void) { int main(void) {
bool suspended = false; bool suspended = false;
#if USB_COUNT_SOF #if USB_COUNT_SOF
@@ -115,6 +133,8 @@ int main(void) {
raw_hid_task(); raw_hid_task();
} }
#endif #endif
} else if (suspend_wakeup_condition()) {
usb_remote_wakeup();
} }
} }
} }
+1 -5
View File
@@ -521,11 +521,7 @@ const PROGMEM usbConfigurationDescriptor_t usbConfigurationDescriptor = {
# endif # endif
.bConfigurationValue = 0x01, .bConfigurationValue = 0x01,
.iConfiguration = 0x00, .iConfiguration = 0x00,
# if USB_CFG_IS_SELF_POWERED .bmAttributes = (1 << 7) | USBATTR_REMOTEWAKE,
.bmAttributes = (1 << 7) | USBATTR_SELFPOWER,
# else
.bmAttributes = (1 << 7),
# endif
.bMaxPower = USB_MAX_POWER_CONSUMPTION / 2 .bMaxPower = USB_MAX_POWER_CONSUMPTION / 2
}, },