]> git.donarmstrong.com Git - qmk_firmware.git/commitdiff
[Keyboard] Fixing drag-and-drop (#5728)
authorJeremy Bernhardt <bernhardtjeremy@gmail.com>
Tue, 30 Apr 2019 00:29:00 +0000 (18:29 -0600)
committerDrashna Jaelre <drashna@live.com>
Tue, 30 Apr 2019 00:29:00 +0000 (17:29 -0700)
* Fixing drag-and-drop

* Forgot to rtfm and do a full build. Added colemak

* What

keyboards/gergo/keymaps/colemak/keymap.c [new file with mode: 0644]
keyboards/gergo/keymaps/colemak/readme.md [new file with mode: 0644]
keyboards/gergo/keymaps/colemak/rules.mk [new file with mode: 0644]
keyboards/gergo/keymaps/default/rules.mk
keyboards/gergo/keymaps/germ/rules.mk
keyboards/gergo/matrix.c
keyboards/gergo/rules.mk

diff --git a/keyboards/gergo/keymaps/colemak/keymap.c b/keyboards/gergo/keymaps/colemak/keymap.c
new file mode 100644 (file)
index 0000000..b2e7911
--- /dev/null
@@ -0,0 +1,174 @@
+/* Good on you for modifying your layout! if you don't have
+ * time to read the QMK docs, a list of keycodes can be found at
+ *
+ * https://github.com/qmk/qmk_firmware/blob/master/docs/keycodes.md
+ *
+ * There's also a template for adding new layers at the bottom of this file!
+ */
+
+#include QMK_KEYBOARD_H
+
+#define IGNORE_MOD_TAP_INTERRUPT
+#define BASE 0 // default layer
+#define SYMB 1 // symbols
+#define NUMB 2 // numbers/motion
+
+enum custom_keycodes {
+  M1_STRING = SAFE_RANGE,
+  M2_URL,
+};
+
+// Blank template at the bottom
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+/* Keymap 0: Basic layer
+ *
+ *       ,-------------------------------------------.                         ,-------------------------------------------.
+ *       |  TAB   |   Q  |   W  |   F  |   P  |   G  |                         |   J  |   L  |   U  |   Y  | ; :  |  | \   |
+ *       |--------+------+------+------+------+------|------.           .------|------+------+------+------+------+--------|
+ *       |  Ctrl  |   A  |   R  |  S   |   T  |   D  |O(CMD)|           |O(CTL)|   H  |   N  |   E  |   I  |  O   |  ' "   |
+ *       |--------+------+------+------+------+------|------|           |------|------+------+------+------+------+--------|
+ *       | LShift |   Z  |   X  |   C  |   V  |   B  |O(ALT)|           |      |   K  |   M  | ,  < | . >  | /  ? | RShift |
+ *       `--------+------+------+------+------+-------------'           `-------------+------+------+------+------+--------'
+ *                          .----------.   .-------.                                 .------.   .--------.
+ *                          | alt/del  |   | BKSP  |                                 | Space|   |cmd/del |
+ *                          '----------'   '-------'                                 `------.   '--------'
+ *                                              ,-------.                      ,-------.
+ *                                              | MMB   |                      |  :    |
+ *                                       ,------|-------|                      |-------|------.
+ *                                       | NUMB | SYMB  |                      | SYMB  | NUMB |
+ *                                       |  Esc |  F13  |                      | F14   | Enter|
+ *                                       |      |       |                      |       |      |
+ *                                       `--------------'                      `--------------'
+ */
+[BASE] = LAYOUT_gergo(
+KC_TAB,               KC_Q,  KC_W,   KC_F,   KC_P, KC_G,                                       KC_J,  KC_L,  KC_U,  KC_Y,KC_SCLN,  KC_BSLS,
+KC_LCTL,              KC_A,  KC_R,   KC_S,   KC_T, KC_D, OSM(MOD_LGUI),       OSM(MOD_LCTL),   KC_H,  KC_N,  KC_E,  KC_I, KC_O, KC_QUOT,
+KC_LSFT,              KC_Z,  KC_X,   KC_C,   KC_V, KC_B, OSM(MOD_LALT),       KC_TRNS,         KC_K, KC_M,  KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
+
+                                     ALT_T(KC_DEL), KC_BSPC,                           KC_SPC, CMD_T(KC_DEL),
+
+                                                         KC_BTN3,       KC_COLON,
+                                LT(SYMB, KC_ESC), LT(NUMB, KC_F13),     LT(NUMB, KC_F14), LT(SYMB, KC_ENT)),
+/* Keymap 1: Symbols layer
+ *
+ * ,-------------------------------------------.                         ,-------------------------------------------.
+ * |        |  !   |  @   |  #   |  $   |  %   |                         |   ^  |  &   |  *   |  (   |  )   |  VolUp |
+ * |--------+------+------+------+------+------|------.           .------|------+------+------+------+------+--------|
+ * |        |  [   |  ]   |  {   |  }   |  `   |  M1  |           |      |      |  -   |  _   |  +   |  =   |  VolDn |
+ * |--------+------+------+------+------+------|------|           |------|------+------+------+------+------+--------|
+ * |        |  `   |  ~   |      |      |  ~   |  M2  |           |      |      |      | Prev |Pl/Pau| Next |  Mute  |
+ * `--------+------+------+------+------+-------------'           `-------------+------+------+------+------+--------'
+ *                        .------.   .------.                                 .------.   .-----.
+ *                        |      |   |      |                                 |      |   |     |
+ *                        '------'   '------'                                 `------.   '-----'
+ *                                        ,-------.                     ,-------.
+ *                                        |       |                     |       |
+ *                                 ,------|-------|                     |-------|------.
+ *                                 |      |       |                     |       |      |
+ *                                 |      |       |                     |       |      |
+ *                                 |      |       |                     |       |      |
+ *                                 `--------------'                     `--------------'
+ */
+[SYMB] = LAYOUT_gergo(
+KC_TRNS, KC_EXLM, KC_AT,  KC_HASH,KC_DLR, KC_PERC,                         KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC__VOLUP,
+KC_TRNS, KC_LBRC, KC_RBRC, KC_LCBR,KC_RCBR, KC_PLUS, M1_STRING,             KC_TRNS,  KC_TRNS, KC_MINS, KC_UNDERSCORE, KC_PLUS, KC_EQL, KC__VOLDOWN,
+KC_TRNS, KC_GRV, KC_TILD,KC_TRNS,KC_TRNS, KC_EQL, M2_URL,                 KC_TRNS,  KC_TRNS, KC_TRNS,  KC_MEDIA_REWIND, KC_MEDIA_PLAY_PAUSE,  KC_MEDIA_FAST_FORWARD, KC__MUTE,
+
+                                                  KC_TRNS, KC_TRNS,       KC_TRNS, KC_TRNS,
+
+                                                           KC_TRNS,       KC_TRNS,
+                                                 KC_TRNS, KC_TRNS,        KC_TRNS, KC_TRNS),
+/* Keymap 2: Pad/Function layer
+ *
+ * ,-------------------------------------------.                         ,-------------------------------------------.
+ * |        |   1  |  2   |  3   |  4   |  5   |                         |  6   |  7   |  8   |  9   |  0   | PgUp   |
+ * |--------+------+------+------+------+------|------.           .------|------+------+------+------+------+--------|
+ * |  F1    |  F2  | F3   | F4   | F5   | F6   | BTN1 |           | Home | LEFT | DOWN |  UP  | RIGHT| End  | PgDn   |
+ * |--------+------+------+------+------+------|------|           |------|------+------+------+------+------+--------|
+ * |  F7    |  F8  | F9   | F10  | F11  | F12  | BTN2 |           |      | MLFT | MDWN | MUP  | MRGHT|      |        |
+ * `--------+------+------+------+------+-------------'           `-------------+------+------+------+------+--------'
+ *                        .------.   .------.                                 .------.   .-----.
+ *                        |      |   |      |                                 |  ALT |   |     |
+ *                        '------'   '------'                                 `------.   '-----'
+ *                                        ,-------.                     ,-------.
+ *                                        |       |                     |       |
+ *                                 ,------|-------|                     |-------|------.
+ *                                 |      |       |                     |       |      |
+ *                                 |      |       |                     |       |      |
+ *                                 |      |       |                     |       |      |
+ *                                 `--------------'                     `--------------'
+ */
+[NUMB] = LAYOUT_gergo(
+KC_TRNS, KC_1,           KC_2,    KC_3,    KC_4,    KC_5,                             KC_6,    KC_7,    KC_8,    KC_9,    KC_0,    KC_PGUP,
+KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,   KC_F6, KC_BTN1,         KC_HOME,  KC_LEFT, KC_DOWN, KC_UP,   KC_RGHT, KC_END, KC_PGDN,
+KC_F7,   KC_F8,   KC_F9,   KC_F10,  KC_F11,  KC_F12, KC_BTN2,        KC_TRNS,  KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R, KC_TRNS, KC_TRNS,
+
+                                                  KC_TRNS, KC_TRNS,       KC_RALT, KC_TRNS,
+
+                                                           KC_TRNS,       KC_TRNS,
+                                                 KC_TRNS, KC_TRNS,       KC_TRNS, KC_TRNS)
+};
+
+/* Keymap template
+ *
+ * ,-------------------------------------------.                         ,-------------------------------------------.
+ * |        |      |      |      |      |      |                         |      |      |      |      |      |        |
+ * |--------+------+------+------+------+------|------.           .------|------+------+------+------+------+--------|
+ * |        |      |      |      |      |      |      |           |      |      |      |      |      |      |        |
+ * |--------+------+------+------+------+------|------|           |------|------+------+------+------+------+--------|
+ * |        |      |      |      |      |      |      |           |      |      |      |      |      |      |        |
+ * `--------+------+------+------+------+-------------'           `-------------+------+------+------+------+--------'
+ *                        .------.   .------.                                 .------.   .-----.
+ *                        |      |   |      |                                 |      |   |     |
+ *                        '------'   '------'                                 `------.   '-----'
+ *                                        ,-------.       ,-------.
+ *                                        |       |       |       |
+ *                                 ,------|-------|       |-------|------.
+ *                                 |      |       |       |       |      |
+ *                                 |      |       |       |       |      |
+ *                                 |      |       |       |       |      |
+ *                                 `--------------'       `--------------'
+[SYMB] = LAYOUT_gergo(
+KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,                          KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,       KC_TRNS,  KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,       KC_TRNS,  KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,  KC_TRNS, KC_TRNS,
+
+                                                  KC_TRNS, KC_TRNS,       KC_TRNS, KC_TRNS,
+                                                           KC_TRNS,       KC_TRNS,
+                                                 KC_TRNS, KC_TRNS,       KC_TRNS, KC_TRNS),
+ */
+
+// Runs just one time when the keyboard initializes.
+void matrix_init_user(void) {
+
+};
+
+// Runs constantly in the background, in a loop.
+void matrix_scan_user(void) {
+    //uint8_t layer = biton32(layer_state);
+    biton32(layer_state);
+};
+
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+  switch (keycode) {
+    case M1_STRING:
+      if (record->event.pressed) {
+        // when keycode QMKBEST is pressed
+        SEND_STRING("Hi!" SS_TAP(X_ENTER));
+      } else {
+        // when keycode QMKBEST is released
+      }
+      break;
+
+    case M2_URL:
+      if (record->event.pressed) {
+          SEND_STRING("https://ddg.gg" SS_TAP(X_ENTER));
+      }
+      break;
+
+  }
+  return true;
+};
+
diff --git a/keyboards/gergo/keymaps/colemak/readme.md b/keyboards/gergo/keymaps/colemak/readme.md
new file mode 100644 (file)
index 0000000..1c1cc7b
--- /dev/null
@@ -0,0 +1,16 @@
+# [Gergo! By g Heavy Industries](http://gboards.ca)
+
+![Gergo image](https://4.bp.blogspot.com/-889nMXxgSM0/XCNxwnO5kUI/AAAAAAAA6mI/tZbWgZVCBW0dyZOCGJDkjN06DVax7j8XwCLcBGAs/s1600/48422820_967732713413298_485744639215665152_n.jpg)
+
+This is a [Colemak](https://colemak.com/) mapping for the Gergo, 
+
+Unlike the default mapping, most symbols are at their original place on the number row to ease in the
+learning curve.
+
+You can view this layout over at
+[keyboad-layout-editor.com](http://www.keyboard-layout-editor.com/#/gists/f04d6a3b0cd3db91407c51f7ba36aeb3).
+
+## Settings
+To edit various settings, enable the 1u trackball and whatnot please modify /keyboards/gergo/keymaps/default/rules.mk
+
+Ideally you should copy this directory and make your changes there. If you come up with a good layout submit a PR!
diff --git a/keyboards/gergo/keymaps/colemak/rules.mk b/keyboards/gergo/keymaps/colemak/rules.mk
new file mode 100644 (file)
index 0000000..ddec12d
--- /dev/null
@@ -0,0 +1,36 @@
+#----------------------------------------------------------------------------
+# make gergo:germ:dfu
+# Make sure you have dfu-programmer installed!
+#----------------------------------------------------------------------------
+# Firmware options
+BALLER = no                    # Enable to ball out
+BALLSTEP = 20                          # Multiple in px to move, multiplied by layer number
+SCROLLSTEP = 1                         # Lines to scroll with ball
+MOUSEKEY_ENABLE = yes                  # Mouse keys(+4700), needed for baller
+
+#Debug options
+VERBOSE                 = no
+DEBUG_MATRIX_SCAN_RATE   = no
+DEBUG_BALLER            = no
+DEBUG_MATRIX            = no
+
+# A bunch of stuff that you shouldn't touch unless you
+# know what you're doing.
+#
+# No touchy, capiche?
+SRC += matrix.c i2c_master.c
+ifneq ($(strip $(BALLSTEP)),)
+    OPT_DEFS += -DTRKSTEP=$(strip $(BALLSTEP))
+endif
+ifneq ($(strip $(SCROLLSTEP)),)
+    OPT_DEFS += -DSCROLLSTEP=$(strip $(SCROLLSTEP))
+endif
+ifeq ($(strip $(BALLER)), yes)
+    OPT_DEFS += -DBALLER
+endif
+ifeq ($(strip $(DEBUG_BALLER)), yes)
+    OPT_DEFS += -DDEBUG_BALLER
+endif
+ifeq ($(strip $(DEBUG_MATRIX)), yes)
+    OPT_DEFS += -DDEBUG_MATRIX
+endif
index 507cc97b7b6de467467220fb545116ec97ab82a0..da2d03af2c44548f49a9e0f0a0e184981eaa8c6a 100644 (file)
@@ -3,7 +3,7 @@
 # Make sure you have dfu-programmer installed!
 #----------------------------------------------------------------------------
 # Firmware options
-BALLER = yes                   # Enable to ball out
+BALLER = no                    # Enable to ball out
 BALLSTEP = 20                          # Multiple in px to move, multiplied by layer number
 SCROLLSTEP = 1                         # Lines to scroll with ball
 MOUSEKEY_ENABLE = yes                  # Mouse keys(+4700), needed for baller
@@ -26,6 +26,7 @@ ifneq ($(strip $(SCROLLSTEP)),)
     OPT_DEFS += -DSCROLLSTEP=$(strip $(SCROLLSTEP))
 endif
 ifeq ($(strip $(BALLER)), yes)
+       POINTING_DEVICE_ENABLE  = yes
     OPT_DEFS += -DBALLER
 endif
 ifeq ($(strip $(DEBUG_BALLER)), yes)
index 2f825a76639fd7d220295eac8b592cc031d663e8..badfe7bb99884870f13a1d729f5cdfd6798e3a0d 100644 (file)
@@ -27,6 +27,7 @@ ifneq ($(strip $(SCROLLSTEP)),)
 endif
 ifeq ($(strip $(BALLER)), yes)
     OPT_DEFS += -DBALLER
+       POINTING_DEVICE_ENABLE = yes
 endif
 ifeq ($(strip $(DEBUG_BALLER)), yes)
     OPT_DEFS += -DDEBUG_BALLER
index aa1dc4842e4fcd8180f6af293ed336c571875a99..234160326a5212f84994ea82fb98171b2276ec7f 100644 (file)
@@ -30,7 +30,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #include "debug.h"
 #include "util.h"
 #include "debounce.h"
-#include "pointing_device.h"
 #include QMK_KEYBOARD_H
 #ifdef DEBUG_MATRIX_SCAN_RATE
 #   include  "timer.h"
@@ -38,6 +37,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 #ifdef BALLER
 #include <avr/interrupt.h>
+#include "pointing_device.h"
 #endif
 
 #ifndef DEBOUNCE
index 2ce9e01e6d4a08909905b0eb8baddc26e783bdf0..a33bfcec8df3ff17f7988c3dee480f5555108faf 100644 (file)
@@ -14,7 +14,6 @@ BOOTLOADER = atmel-dfu
 F_USB = $(F_CPU)
 
 CUSTOM_MATRIX          = yes
-POINTING_DEVICE_ENABLE = yes
 EXTRAKEY_ENABLE                = yes
 CONSOLE_ENABLE         = yes
 COMMAND_ENABLE         = yes