summaryrefslogtreecommitdiff
path: root/keyboards/helix/rev3_4rows/rev3_4rows.c
diff options
context:
space:
mode:
authorMakotoKurauchi <pluis@me.com>2020-10-12 11:37:31 +0900
committerGitHub <noreply@github.com>2020-10-12 11:37:31 +0900
commit4f923b1673fe35644af3dfe5c8e2a766116e0012 (patch)
treeb2890b314456bb0c456cb73133b1e996a925e29a /keyboards/helix/rev3_4rows/rev3_4rows.c
parentcacf495c91c7f6ad0e31edcefa8355eba98f75b6 (diff)
[Keyboard] Add Helix rev3 (#10297)
* add Helix Type-R keyboard * add default 4Rows keymaps * cleanup 4row keymaps * update about SPLIT_HAND_MATRIX_GRID and DIP_SWITCH_MATRIX_GRID * change how to toggle mac/win * update "Hardware Availability" * add a section of "How to build" * update "Hardware Supported" * add dip-sw sections * comment updated in function `encoder_update_user` * revert how to toggle mac/win * remove 4Rows variant build options * rename helix_type_r to helix_5r * add helix type-R 4Rows edition * small modifications in keymap.c * small modifications according to renaming * change project root directory * continuous work on ee2c39f1f9bffd97a2deb8f430746933a8d8684c * cleanup unused files * update info.json files * cleanup 5rows' keymaps * rename and update readme.md * update config.h * update helix's readme.md and rules.mk * update keymaps' overviews * split into each keyboard * optimize firmware size for via keymaps * fix LAYOUT to LAYOUT4 in 4rows/rev3.h * remove LAYOUT_kc lines from both keymaps * rename tyep-r to rev3 * enable to SPLIT_HAND_MATRIX_GRID_LOW_IS_RIGHT * remove image from readme * clean up for PR * delete unnecessary comments * change keyboard directory * rename LAYOUT4 to LAYOUT for rev3_4rows * Update keyboards/helix/rev3_4rows/keymaps/default/keymap.c Co-authored-by: Drashna Jaelre <drashna@live.com> * Update keyboards/helix/rev3_4rows/keymaps/default/keymap.c Co-authored-by: Drashna Jaelre <drashna@live.com> * Update keyboards/helix/rev3_4rows/keymaps/default/keymap.c Co-authored-by: Drashna Jaelre <drashna@live.com> * Update keyboards/helix/rev3_4rows/keymaps/default/keymap.c Co-authored-by: Drashna Jaelre <drashna@live.com> * Update keyboards/helix/rev3_4rows/keymaps/via/keymap.c Co-authored-by: Drashna Jaelre <drashna@live.com> * Update keyboards/helix/rev3_4rows/keymaps/via/keymap.c Co-authored-by: Drashna Jaelre <drashna@live.com> * Update keyboards/helix/rev3_4rows/keymaps/via/keymap.c Co-authored-by: Drashna Jaelre <drashna@live.com> * Update keyboards/helix/rev3_4rows/rules.mk Co-authored-by: Drashna Jaelre <drashna@live.com> * Update keyboards/helix/rev3_5rows/keymaps/default/keymap.c Co-authored-by: Drashna Jaelre <drashna@live.com> * Update keyboards/helix/rev3_5rows/keymaps/default/keymap.c Co-authored-by: Drashna Jaelre <drashna@live.com> * Update keyboards/helix/rev3_5rows/keymaps/via/keymap.c Co-authored-by: Drashna Jaelre <drashna@live.com> * Update keyboards/helix/rev3_5rows/keymaps/via/keymap.c Co-authored-by: Drashna Jaelre <drashna@live.com> * Update keyboards/helix/rev3_5rows/keymaps/via/keymap.c Co-authored-by: Drashna Jaelre <drashna@live.com> * Update keyboards/helix/rev3_5rows/rules.mk Co-authored-by: Drashna Jaelre <drashna@live.com> * Cleanup ADJUST Layer code for VIA * change SEND_STRING to tap_code * update readme * moved the oled code from the keymap to the keyboard * moved the dip switch code from the keymap to the keyboard * change layout name for info.json * Update keyboards/helix/rev3_4rows/rev3_4rows.c Co-authored-by: Takeshi ISHII <2170248+mtei@users.noreply.github.com> * Update keyboards/helix/rev3_4rows/rev3_4rows.c Co-authored-by: Takeshi ISHII <2170248+mtei@users.noreply.github.com> * Update keyboards/helix/rev3_4rows/rev3_4rows.h Co-authored-by: Takeshi ISHII <2170248+mtei@users.noreply.github.com> * Update keyboards/helix/rev3_5rows/rev3_5rows.c Co-authored-by: Takeshi ISHII <2170248+mtei@users.noreply.github.com> * Update keyboards/helix/rev3_5rows/rev3_5rows.c Co-authored-by: Takeshi ISHII <2170248+mtei@users.noreply.github.com> * Update keyboards/helix/rev3_5rows/keymaps/default/keymap.c Co-authored-by: Takeshi ISHII <2170248+mtei@users.noreply.github.com> * Update keyboards/helix/rev3_5rows/keymaps/via/keymap.c Co-authored-by: Takeshi ISHII <2170248+mtei@users.noreply.github.com> * Update keyboards/helix/rev3_5rows/keymaps/via/keymap.c Co-authored-by: Takeshi ISHII <2170248+mtei@users.noreply.github.com> * Update keyboards/helix/rev3_5rows/oled_display.c Co-authored-by: Takeshi ISHII <2170248+mtei@users.noreply.github.com> * Update keyboards/helix/rev3_5rows/keymaps/default/keymap.c Co-authored-by: Takeshi ISHII <2170248+mtei@users.noreply.github.com> * Update keyboards/helix/rev3_5rows/rev3_5rows.h Co-authored-by: Takeshi ISHII <2170248+mtei@users.noreply.github.com> * Update keyboards/helix/rev3_4rows/keymaps/default/keymap.c Co-authored-by: Takeshi ISHII <2170248+mtei@users.noreply.github.com> * Update keyboards/helix/rev3_4rows/keymaps/default/keymap.c Co-authored-by: Takeshi ISHII <2170248+mtei@users.noreply.github.com> * Update keyboards/helix/rev3_4rows/keymaps/via/keymap.c Co-authored-by: Takeshi ISHII <2170248+mtei@users.noreply.github.com> * Update keyboards/helix/rev3_4rows/keymaps/via/keymap.c Co-authored-by: Takeshi ISHII <2170248+mtei@users.noreply.github.com> * Update keyboards/helix/rev3_4rows/oled_display.c Co-authored-by: Takeshi ISHII <2170248+mtei@users.noreply.github.com> * Update keyboards/helix/rev3_4rows/oled_display.c Co-authored-by: Drashna Jaelre <drashna@live.com> * Update keyboards/helix/rev3_5rows/config.h Co-authored-by: Drashna Jaelre <drashna@live.com> * Update keyboards/helix/rev3_5rows/info.json Co-authored-by: Drashna Jaelre <drashna@live.com> * Update keyboards/helix/rev3_4rows/oled_display.c Co-authored-by: Takeshi ISHII <2170248+mtei@users.noreply.github.com> * Update keyboards/helix/rev3_5rows/oled_display.c Co-authored-by: Takeshi ISHII <2170248+mtei@users.noreply.github.com> * Update keyboards/helix/rules.mk Co-authored-by: Joel Challis <git@zvecr.com> * Update keyboards/helix/rev3_4rows/config.h Co-authored-by: Takeshi ISHII <2170248+mtei@users.noreply.github.com> * Update keyboards/helix/rev3_4rows/oled_display.c Co-authored-by: Takeshi ISHII <2170248+mtei@users.noreply.github.com> * deleted key_count in info.json Co-authored-by: keyaki-namiki <28521374+keyaki-namiki@users.noreply.github.com> Co-authored-by: Drashna Jaelre <drashna@live.com> Co-authored-by: Takeshi ISHII <2170248+mtei@users.noreply.github.com> Co-authored-by: Joel Challis <git@zvecr.com>
Diffstat (limited to 'keyboards/helix/rev3_4rows/rev3_4rows.c')
-rw-r--r--keyboards/helix/rev3_4rows/rev3_4rows.c48
1 files changed, 48 insertions, 0 deletions
diff --git a/keyboards/helix/rev3_4rows/rev3_4rows.c b/keyboards/helix/rev3_4rows/rev3_4rows.c
new file mode 100644
index 0000000000..cf183366d6
--- /dev/null
+++ b/keyboards/helix/rev3_4rows/rev3_4rows.c
@@ -0,0 +1,48 @@
+/* Copyright 2020 yushakobo
+ *
+ * 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 "helix.h"
+
+bool is_mac_mode(void) {
+ return keymap_config.swap_lalt_lgui == false;
+}
+
+void set_mac_mode(bool macmode) {
+ if (macmode) {
+ /* The result is the same as pressing the AG_NORM(=MAGIC_UNSWAP_ALT_GUI) key. */
+ /* https://github.com/qmk/qmk_firmware/blob/fb4a6ad30ea7a648acd59793ed4a30c3a8d8dc32/quantum/process_keycode/process_magic.c#L123-L124 */
+ keymap_config.swap_lalt_lgui = keymap_config.swap_ralt_rgui = false;
+ } else {
+ /* The result is the same as pressing the AG_SWAP(=MAGIC_SWAP_ALT_GUI) key. */
+ /* https://github.com/qmk/qmk_firmware/blob/fb4a6ad30ea7a648acd59793ed4a30c3a8d8dc32/quantum/process_keycode/process_magic.c#L80-L81 */
+ keymap_config.swap_lalt_lgui = keymap_config.swap_ralt_rgui = true;
+ }
+}
+
+void dip_switch_update_kb(uint8_t index, bool active) {
+ switch (index) {
+ case 0:
+ if(active) { // Left no.1 Helix rev3 common
+ set_mac_mode(false);
+ } else {
+ set_mac_mode(true);
+ }
+ break;
+ default: // Left no.2 or Right no.1 or Right no.2 for user/keymap
+ dip_switch_update_user(index, active);
+ break;
+ }
+}