From 499060a9a50fe25f926c4fe2e522f44ee7e03bc4 Mon Sep 17 00:00:00 2001
From: LegoWolf <glynwolf@gmail.com>
Date: Tue, 19 Apr 2022 05:20:11 -0600
Subject: [PATCH] Dactyl manuform 5x6 5 via (#16741)

---
 .../5x6_5/keymaps/via/config.h                |  24 ++
 .../5x6_5/keymaps/via/keymap.json             | 266 ++++++++++++++++++
 .../5x6_5/keymaps/via/rules.mk                |   1 +
 keyboards/handwired/dactyl_manuform/readme.md |  11 +
 4 files changed, 302 insertions(+)
 create mode 100755 keyboards/handwired/dactyl_manuform/5x6_5/keymaps/via/config.h
 create mode 100755 keyboards/handwired/dactyl_manuform/5x6_5/keymaps/via/keymap.json
 create mode 100755 keyboards/handwired/dactyl_manuform/5x6_5/keymaps/via/rules.mk

diff --git a/keyboards/handwired/dactyl_manuform/5x6_5/keymaps/via/config.h b/keyboards/handwired/dactyl_manuform/5x6_5/keymaps/via/config.h
new file mode 100755
index 0000000000..dc2d3ee111
--- /dev/null
+++ b/keyboards/handwired/dactyl_manuform/5x6_5/keymaps/via/config.h
@@ -0,0 +1,24 @@
+/*
+Copyright 2022 David Falkner (falkner@martica.org)
+
+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 USE_SERIAL
+
+#define EE_HANDS
+
+#define KINETIC_SPEED
\ No newline at end of file
diff --git a/keyboards/handwired/dactyl_manuform/5x6_5/keymaps/via/keymap.json b/keyboards/handwired/dactyl_manuform/5x6_5/keymaps/via/keymap.json
new file mode 100755
index 0000000000..90aa13a260
--- /dev/null
+++ b/keyboards/handwired/dactyl_manuform/5x6_5/keymaps/via/keymap.json
@@ -0,0 +1,266 @@
+{
+  "version": 1,
+  "notes": "",
+  "author": "David Falkner",
+  "keyboard": "handwired/dactyl_manuform/5x6_5",
+  "keymap": "via",
+  "layout": "LAYOUT_5x6_5",
+  "layers": [
+    [
+      "KC_ESC",
+      "KC_1",
+      "KC_2",
+      "KC_3",
+      "KC_4",
+      "KC_5",
+      "KC_6",
+      "KC_7",
+      "KC_8",
+      "KC_9",
+      "KC_0",
+      "KC_MINS",
+      "MO(1)",
+      "KC_Q",
+      "KC_W",
+      "KC_E",
+      "KC_R",
+      "KC_T",
+      "KC_Y",
+      "KC_U",
+      "KC_I",
+      "KC_O",
+      "KC_P",
+      "MO(1)",
+      "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_LSFT",
+      "KC_Z",
+      "KC_X",
+      "KC_C",
+      "KC_V",
+      "KC_B",
+      "KC_N",
+      "KC_M",
+      "KC_COMM",
+      "KC_DOT",
+      "KC_SLSH",
+      "KC_RSFT",
+      "KC_EQL",
+      "KC_BSLS",
+      "KC_BSPC",
+      "KC_TAB",
+      "KC_LCTL",
+      "KC_RCTL",
+      "KC_ENT",
+      "KC_SPC",
+      "KC_LBRC",
+      "KC_RBRC",
+      "KC_LGUI",
+      "KC_LALT",
+      "KC_RALT",
+      "MO(2)"
+    ],
+    [
+      "KC_TRNS",
+      "KC_BRID",
+      "KC_BRIU",
+      "KC_TRNS",
+      "KC_TRNS",
+      "KC_TRNS",
+      "KC_SLEP",
+      "KC_MRWD",
+      "KC_MPLY",
+      "KC_MFFD",
+      "KC_MUTE",
+      "KC_TRNS",
+      "KC_TRNS",
+      "KC_PSLS",
+      "KC_P7",
+      "KC_P8",
+      "KC_P9",
+      "KC_PMNS",
+      "KC_INS",
+      "KC_PGUP",
+      "KC_UP",
+      "KC_HOME",
+      "KC_TILD",
+      "KC_TRNS",
+      "KC_PCMM",
+      "KC_PAST",
+      "KC_P4",
+      "KC_P5",
+      "KC_P6",
+      "KC_PPLS",
+      "KC_DEL",
+      "KC_LEFT",
+      "KC_DOWN",
+      "KC_RGHT",
+      "KC_GRV",
+      "KC_TRNS",
+      "KC_TRNS",
+      "KC_PEQL",
+      "KC_P1",
+      "KC_P2",
+      "KC_P3",
+      "KC_PENT",
+      "KC_TRNS",
+      "KC_PGDN",
+      "KC_TRNS",
+      "KC_END",
+      "KC_TRNS",
+      "KC_TRNS",
+      "KC_P0",
+      "KC_PDOT",
+      "KC_TRNS",
+      "KC_TRNS",
+      "KC_TRNS",
+      "KC_TRNS",
+      "KC_TRNS",
+      "KC_TRNS",
+      "KC_VOLD",
+      "KC_VOLU",
+      "KC_TRNS",
+      "KC_TRNS",
+      "KC_TRNS",
+      "KC_TRNS"
+    ],
+    [
+      "KC_TRNS",
+      "KC_F1",
+      "KC_F2",
+      "KC_F3",
+      "KC_F4",
+      "KC_F5",
+      "KC_F6",
+      "KC_F7",
+      "KC_F8",
+      "KC_F9",
+      "KC_F10",
+      "KC_PAUS",
+      "KC_TRNS",
+      "KC_F11",
+      "KC_F12",
+      "KC_F13",
+      "KC_F14",
+      "KC_F15",
+      "KC_F16",
+      "KC_F17",
+      "KC_F18",
+      "KC_F19",
+      "KC_F20",
+      "KC_TRNS",
+      "KC_TRNS",
+      "KC_TRNS",
+      "KC_TRNS",
+      "KC_TRNS",
+      "KC_TRNS",
+      "KC_TRNS",
+      "KC_TRNS",
+      "KC_TRNS",
+      "KC_TRNS",
+      "KC_TRNS",
+      "KC_TRNS",
+      "KC_TRNS",
+      "KC_TRNS",
+      "KC_TRNS",
+      "KC_TRNS",
+      "KC_TRNS",
+      "KC_TRNS",
+      "KC_TRNS",
+      "KC_TRNS",
+      "KC_TRNS",
+      "KC_TRNS",
+      "KC_TRNS",
+      "KC_TRNS",
+      "KC_TRNS",
+      "KC_PSCR",
+      "KC_SLCK",
+      "KC_TRNS",
+      "KC_TRNS",
+      "KC_TRNS",
+      "KC_TRNS",
+      "KC_TRNS",
+      "KC_TRNS",
+      "KC_WH_U",
+      "KC_WH_D",
+      "KC_APP",
+      "KC_TRNS",
+      "KC_TRNS",
+      "KC_TRNS"
+    ],
+    [
+      "KC_TRNS",
+      "KC_TRNS",
+      "KC_TRNS",
+      "KC_TRNS",
+      "KC_TRNS",
+      "KC_TRNS",
+      "KC_TRNS",
+      "KC_TRNS",
+      "KC_TRNS",
+      "KC_TRNS",
+      "KC_TRNS",
+      "KC_TRNS",
+      "KC_TRNS",
+      "KC_TRNS",
+      "KC_TRNS",
+      "KC_TRNS",
+      "KC_TRNS",
+      "KC_TRNS",
+      "KC_TRNS",
+      "KC_TRNS",
+      "KC_TRNS",
+      "KC_TRNS",
+      "KC_TRNS",
+      "KC_TRNS",
+      "KC_TRNS",
+      "KC_TRNS",
+      "KC_TRNS",
+      "KC_TRNS",
+      "KC_TRNS",
+      "KC_TRNS",
+      "KC_TRNS",
+      "KC_TRNS",
+      "KC_TRNS",
+      "KC_TRNS",
+      "KC_TRNS",
+      "KC_TRNS",
+      "KC_TRNS",
+      "KC_TRNS",
+      "KC_TRNS",
+      "KC_TRNS",
+      "KC_TRNS",
+      "KC_TRNS",
+      "KC_TRNS",
+      "KC_TRNS",
+      "KC_TRNS",
+      "KC_TRNS",
+      "KC_TRNS",
+      "KC_TRNS",
+      "KC_TRNS",
+      "KC_TRNS",
+      "KC_TRNS",
+      "KC_TRNS",
+      "KC_TRNS",
+      "KC_TRNS",
+      "KC_TRNS",
+      "KC_TRNS",
+      "KC_TRNS",
+      "KC_TRNS",
+      "KC_TRNS",
+      "KC_TRNS",
+      "KC_TRNS",
+      "KC_TRNS"
+    ]
+  ]
+}
\ No newline at end of file
diff --git a/keyboards/handwired/dactyl_manuform/5x6_5/keymaps/via/rules.mk b/keyboards/handwired/dactyl_manuform/5x6_5/keymaps/via/rules.mk
new file mode 100755
index 0000000000..036bd6d1c3
--- /dev/null
+++ b/keyboards/handwired/dactyl_manuform/5x6_5/keymaps/via/rules.mk
@@ -0,0 +1 @@
+VIA_ENABLE = yes
\ No newline at end of file
diff --git a/keyboards/handwired/dactyl_manuform/readme.md b/keyboards/handwired/dactyl_manuform/readme.md
index 4882f4ab4b..da4ac2ad68 100644
--- a/keyboards/handwired/dactyl_manuform/readme.md
+++ b/keyboards/handwired/dactyl_manuform/readme.md
@@ -44,6 +44,17 @@ Just a copy of the Impstyle keymap. Feel free to adjust it.
 #### Impstyle
 A simple QWERTY keymap with 3 Layers. Both sides are connected via serial and the Left ist the master.
 
+### [Keymaps 5x6_5](/keyboards/handwired/dactyl_manuform/5x6_5/keymaps/)
+
+Similar layout to 5x6 but with only 5 thumb keys per side instead of 6.
+
+#### Default
+QWERTY layout with 7 Layers.
+
+#### Via
+Similar to Default but adds support for the [Via](https://www.caniusevia.com/) keymap configurator. Reduces the number of layers to 4 to comply with Via defaults, and remaps
+some keys to accomodate that constraint.
+
 ### [Keymaps 5x7 aka almost Ergodox](/keyboards/handwired/dactyl_manuform/5x7/keymaps/)
 #### Default
 Keymap of Loligagger from geekhack.