-
-
Notifications
You must be signed in to change notification settings - Fork 40.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Added german_gaming keymap for hidtech/bastyl #11446
Merged
noroadsleft
merged 3 commits into
qmk:master
from
CreamyCookie:german_gaming_keymap_for_bastyl
Feb 10, 2021
Merged
Changes from all commits
Commits
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,90 @@ | ||
/* | ||
* Copyright 2021 Joschua Gandert | ||
* | ||
* 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 "keymap_german.h" | ||
|
||
|
||
enum layer_names { | ||
_BASE, | ||
_GAME, /* WASD shifted right once */ | ||
_LOWER, | ||
_RAISE, | ||
_ADJUST /* when both LOWER and RAISE pressed */ | ||
}; | ||
|
||
#define RAISE MO(_RAISE) | ||
#define LOWER MO(_LOWER) | ||
|
||
|
||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||
[_BASE] = LAYOUT( | ||
KC_ESC , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , DE_SS , | ||
KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , DE_Z , KC_U , KC_I , KC_O , KC_P , DE_UDIA, | ||
KC_LSFT, KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , DE_ODIA, DE_ADIA, | ||
KC_LCTL, DE_Y , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT, DE_MINS, DE_PLUS, | ||
|
||
RAISE, KC_SPC, KC_LCTL, KC_RALT, KC_BSPC, LOWER, | ||
KC_ENT, KC_LALT, KC_LGUI, KC_RSFT | ||
), | ||
|
||
[_GAME] = LAYOUT( | ||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, | ||
KC_T , KC_TAB , KC_Q , KC_W , KC_E , KC_R , _______, _______, KC_UP, _______, _______, _______, | ||
KC_G , KC_LSFT, KC_A , KC_S , KC_D , KC_F , _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, | ||
KC_B , KC_LCTL, DE_Y , KC_X , KC_C , KC_V , _______, _______, _______, _______, _______, _______, | ||
|
||
_______, _______, _______, _______, _______, _______, | ||
_______, _______, _______, _______ | ||
), | ||
|
||
[_LOWER] = LAYOUT( | ||
KC_TILD, KC_EXLM, KC_AT , KC_HASH, KC_DLR , KC_PERC, KC_CIRC, KC_AMPR, KC_PSLS, KC_PAST, KC_PMNS, KC_DEL , | ||
_______, DE_HASH, DE_CIRC, KC_PGUP, DE_LABK, _______, _______, KC_P7 , KC_P8 , KC_P9 , KC_PPLS, KC_BSPC , | ||
_______, DE_ACUT, KC_HOME, KC_PGDN, KC_END , KC_LPRN, KC_RPRN, KC_P4 , KC_P5 , KC_P6 , KC_PDOT, _______ , | ||
_______, KC_PLUS, KC_PIPE, KC_UNDS, _______, _______, KC_P0 , KC_P1 , KC_P2 , KC_P3 , KC_PENT, KC_KP_EQUAL, | ||
|
||
_______, KC_RGHT, _______, _______, _______, _______, | ||
KC_LEFT, _______, RESET , _______ | ||
), | ||
|
||
[_RAISE] = LAYOUT( | ||
KC_F12 , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , | ||
_______, _______, _______, KC_UP , _______, _______, KC_LALT, KC_INS , KC_NLCK , KC_CALC, KC_PSCREEN, KC_MUTE, | ||
_______, _______, KC_LEFT, KC_DOWN, KC_RGHT, KC_ENT , KC_MSEL, KC_MPRV , KC_MPLY , KC_MNXT, _______ , KC_VOLU, | ||
_______, _______, _______, _______, _______, _______, DE_HASH, KC_MYCM , _______ , _______, KC_SLCK , KC_VOLD, | ||
|
||
_______, _______, _______, _______, KC_UP , _______, | ||
_______, _______, _______, KC_DOWN | ||
), | ||
|
||
[_ADJUST] = LAYOUT( | ||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, | ||
_______, _______, _______, _______, RESET , _______, _______, _______, _______, _______, _______, _______, | ||
_______, _______, _______, _______, _______, DF(_GAME), _______, _______, _______, _______, _______, _______, | ||
_______, _______, _______, _______, _______, DF(_BASE), _______, _______, _______, _______, _______, _______, | ||
|
||
_______, _______, _______, _______, _______, _______, | ||
_______, _______, _______, _______ | ||
), | ||
}; | ||
|
||
|
||
layer_state_t layer_state_set_user(layer_state_t state) { | ||
return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST); | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,24 @@ | ||
![German Gaming Layout Image](https://i.imgur.com/0y938rG.png) | ||
|
||
Despite being less accurate, the columns in the image are shifted up and down to avoid the [Hermann grid illusion](https://en.wikipedia.org/wiki/Grid_illusion). | ||
| ||
|
||
# German Gaming Layout | ||
| ||
This layout was build with gaming in mind for a german user. As a result I added a "game" layer that shifts the keys of the left side (below the number row) one to the right, so that <kbd>WASD</kbd> is on the <kbd>ESDF</kbd> keys. The reason this layer was added is that using <kbd>WASD</kbd> is less comfortable with a contoured Dactyl-style keyboard, where each column is adjusted for the respective fingers. <kbd>ESDF</kbd> also has the upside of allowing one to stay in the home row. Note that the rightmost column of the default layer, so <kbd>TGB</kbd>, ends up in the leftmost position. | ||
|
||
Of course, one could just be forced to reconfigure every game, but that wouldn't be very user-friendly and likely reduce satisfaction with the layout. When in game mode, the right side of keys also features arrow keys on <kbd>IJKL</kbd>. | ||
|
||
|
||
## Raise and Lower layer | ||
|
||
Additionally, via the RAISE layer, it's always possible to access the arrow keys, which are often used in game menues. On the exact same position one can access <kbd>Home</kbd>, <kbd>End</kbd>, <kbd>Page Down</kbd> and <kbd>Page Up</kbd> via the LOWER layer. The left side of the LOWER layer also contains the few characters that would usually have their own key in a traditional german keyboard. | ||
|
||
The right side features various media keys in the RAISE layer, and a numpad in the LOWER layer. | ||
|
||
|
||
## Firmware | ||
|
||
The keyboard can be put into Reset mode (for flashing a keymap) by pressing <kbd>**LOWER**</kbd> + <kbd>Super</kbd> (also known as Windows key), or by pressing <kbd>**LOWER**</kbd> + <kbd>**RAISE**</kbd> + <kbd>R</kbd>. | ||
|
||
`MOUSEKEY_ENABLE` was set to `no` for this keymap, since it wasn't used and the size of the firmware ended up being too large. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
MOUSEKEY_ENABLE = no |
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
All the other changes make sense to me, but this seems unnecessary and counterproductive.
The file size is only 283 KiB and screen resolutions are constantly increasing. Halving the size makes this image and the text fuzzy and harder to read.
Am I missing something, and if not, is this change necessary?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@fauxpark Thanks again for the review! 👍
Is this a blocking change request?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't know if fauxpark considers this a blocking issue, but GitHub's not going to display this image at anything larger than about 1,000 pixels wide anywhere that a user would see it, no matter how large the source image is.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@noroadsleft That does not seem to be true. Check out the way it is rendered here on a HiDPI screen:
https://github.com/qmk/qmk_firmware/blob/ecbef0f66440674cca7dac8ed6e3e940be12b6bb/keyboards/hidtech/bastyl/keymaps/german_gaming/readme.md
or
https://github.com/CreamyCookie/qmk_firmware/blob/german_gaming_keymap_for_bastyl/keyboards/hidtech/bastyl/keymaps/german_gaming/readme.md
Screenshot created using Firefox's screenshot tool (on a 1440p screen):
Now here's the fuzzy half-size image again ( https://i.imgur.com/0y938rGh.png ):
Codec: Also important to note is that the half-size image is not just a half-size PNG, it's actually a lossy JPEG, which is the reason for the washed out look.
Even if it was true that GitHub currently downsized all images or limited the size via the layout, there's no reason to believe that this will still be the case in a couple years, especially when screen resolutions like 4K are getting really common. But, of course,
2339 x 1654
is not even that large.I want to be clear. It's not a big issue. I'm happy for this to be merged either way, but I also believe that the change is actually counter productive for any potential user and thus also for the QMK community. (Of course, nobody might ever use the keymap, but who knows.)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hm, I guess this is hardware dependent; I wasn't aware GitHub did anything differently with page layout/rendering in that regard.
I personally don't find the smaller image to be so much more fuzzy as to be unreadable, but I'm undoubtedly not the best person to ask as I have 20/20 vision.
Also good point about the fact that GitHub may change this rendering in future as higher-resolution display become more common (I'm on a 24" 1080p screen).