From ef468c3e49d5ad4908bc75ea50dc55e1dd994c64 Mon Sep 17 00:00:00 2001
From: Elliot Pahl <elliot.pahl@gmail.com>
Date: Sat, 21 May 2022 23:46:23 +1000
Subject: [PATCH] Tighten up combo timings, etc

---
 .../kyria/keymaps/halcyoncorsair/config.h     |  2 ++
 .../kyria/keymaps/halcyoncorsair/keymap.c     |  3 ++-
 users/halcyoncorsair/combos.c                 | 20 +++++++++++++++++++
 3 files changed, 24 insertions(+), 1 deletion(-)

diff --git a/keyboards/splitkb/kyria/keymaps/halcyoncorsair/config.h b/keyboards/splitkb/kyria/keymaps/halcyoncorsair/config.h
index a64cfe6..56b08cf 100644
--- a/keyboards/splitkb/kyria/keymaps/halcyoncorsair/config.h
+++ b/keyboards/splitkb/kyria/keymaps/halcyoncorsair/config.h
@@ -62,6 +62,8 @@
 
 // Combos
 #define COMBO_ONLY_FROM_LAYER 0
+#define COMBO_TERM 30
+#define COMBO_TERM_PER_COMBO
 
 // Rotary encoders
 #define ENCODER_DIRECTION_FLIP
diff --git a/keyboards/splitkb/kyria/keymaps/halcyoncorsair/keymap.c b/keyboards/splitkb/kyria/keymaps/halcyoncorsair/keymap.c
index f5594e7..b6a83ea 100644
--- a/keyboards/splitkb/kyria/keymaps/halcyoncorsair/keymap.c
+++ b/keyboards/splitkb/kyria/keymaps/halcyoncorsair/keymap.c
@@ -1,4 +1,4 @@
-/* Copyright 2019 Thomas Baart <thomas@splitkb.com>
+/* Copyright 2021 Elliot Pahl <elliot.pahl@gmail.com>
  *
  * 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
@@ -191,6 +191,7 @@ uint16_t get_tapping_term(uint16_t keycode, keyrecord_t *record) {
     switch (keycode) {
         case HOME_A:
             return TAPPING_TERM + 40;
+        case HOME_I:
         case HOME_R:
         case HOME_O:
         case QHOME_S:
diff --git a/users/halcyoncorsair/combos.c b/users/halcyoncorsair/combos.c
index d7e5218..0c44ff9 100644
--- a/users/halcyoncorsair/combos.c
+++ b/users/halcyoncorsair/combos.c
@@ -81,3 +81,23 @@ void process_combo_event(uint16_t combo_index, bool pressed) {
 		#include COMBOS_DEF
 	}
 }
+
+uint16_t get_combo_term(uint16_t index, combo_t *combo) {
+    switch (combo->keycode) {
+    case PASTE:
+    case KC_LBRC:
+    case KC_RBRC:
+    case KC_SLSH:
+        return COMBO_TERM - 10;
+        break;
+
+    case KC_QUES:
+    case KC_EXLM:
+        return COMBO_TERM + 10;
+        break;
+
+    default:
+        return COMBO_TERM;
+        break;
+    }
+}