summaryrefslogtreecommitdiff
path: root/keyboards/dz60/keymaps/marianas/relativity.c
diff options
context:
space:
mode:
Diffstat (limited to 'keyboards/dz60/keymaps/marianas/relativity.c')
-rw-r--r--keyboards/dz60/keymaps/marianas/relativity.c510
1 files changed, 0 insertions, 510 deletions
diff --git a/keyboards/dz60/keymaps/marianas/relativity.c b/keyboards/dz60/keymaps/marianas/relativity.c
deleted file mode 100644
index 96a5eb4e6f..0000000000
--- a/keyboards/dz60/keymaps/marianas/relativity.c
+++ /dev/null
@@ -1,510 +0,0 @@
-#include "relativity.h"
-#include "keymap.h"
-#include "keyDefinitions.h"
-
-
-uint16_t *macroTaps = 0;
-
-char *tableNameList = 0;
-
-uint8_t *charCount = 0;
-uint8_t countPointer = 0;
-
-bool relativityActive = false;
-
-
-bool sendAbbr = false;
-
-
-static int16_t relativityTimer = 0;
-
-
-bool tempOff = false;
-
-
-
-
-void initStringData()
-{
- if (macroTaps == 0)
- {
- macroTaps = malloc(macroTapsLen*sizeof(uint16_t));
- for(int i = 0; i < macroTapsLen; i++)
- {
- macroTaps[i] = 0;
- }
- }
- if (tableNameList == 0)
- {
- tableNameList = malloc(tableNameListLen*sizeof(char));
- for(int i = 0; i < tableNameListLen; i++)
- {
- tableNameList[i] = 0;
- }
- }
- if (charCount == 0)
- {
- charCount = malloc(charCountLen*sizeof(uint8_t));
- for (int i = 0; i < charCountLen; i++)
- {
- charCount[i] = 0;
- }
- }
-}
-
-void activateRelativity(void)
-{
- initStringData();
- rgblight_mode(RGBLIGHT_MODE_KNIGHT);
- relativityTimer = timer_read();
- relativityActive = true;
-}
-
-bool deactivateRelativity(void)
-{
- rgblight_mode(9);
- eraseKeyCodes();
- eraseTableAbbreviation();
- eraseCharCounts();
- relativityActive = false;
- tempOff = false;
- return false;
-}
-
-bool containsCode(uint16_t kc)
-{
- for (int i = 0; i < macroTapsLen && macroTaps[i] > 0; i++)
- {
- if (macroTaps[i] == kc) return true;
- }
- return false;
-}
-
-bool lastCodeIs(uint16_t kc)
-{
- for (int i = 0; i < macroTapsLen-1 && macroTaps[i] > 0; i++)
- {
- if (macroTaps[i] == kc && macroTaps[i+1] == 0) return true;
- }
- return false;
-}
-
-bool last2CodeAre(uint16_t kc)
-{
- for (int i = 0; i < macroTapsLen-2 && macroTaps[i] > 0; i++)
- {
- if (macroTaps[i] == kc && macroTaps[i+1] == kc && macroTaps[i+2] == 0) return true;
- }
- return false;
-}
-
-bool last2CodesAre(uint16_t kc, uint16_t kc2)
-{
- for (int i = 0; i < macroTapsLen-2 && macroTaps[i] > 0; i++)
- {
- if (macroTaps[i] == kc && macroTaps[i+1] == kc2 && macroTaps[i+2] == 0) return true;
- }
- return false;
-}
-
-void addKeyCode(uint16_t kc)
-{
- int i = 0;
- while (i < macroTapsLen-2 && macroTaps[i] > 0) i++;
- if (macroTaps[i] == 0)
- {
- macroTaps[i] = kc;
- macroTaps[i+1] = 0;
- }
-}
-
-void eraseKeyCodes(void)
-{
- int i = 0;
- while (i < macroTapsLen && macroTaps[i] > 0) macroTaps[i++] = 0;
-}
-
-void eraseCharCounts(void)
-{
- while (countPointer > 0)
- {
- charCount[countPointer] = 0;
- countPointer--;
- }
- charCount[countPointer] = 0;
-}
-
-void printTableAbbreviationLimited(void)
-{
- if (tableNameList[0] == 0)
- {
- return;
- }
- int i = 0;
- for (i = 0; i < tableNameListLen && tableNameList[i] > 0; i++)
- {
- if (tableNameList[i] >= 65 && tableNameList[i] <= 90)
- {
- send_char(tableNameList[i]+32);
- }
- else
- {
- send_char(tableNameList[i]);
- }
- }
-}
-
-void printTableAbbreviation(void)
-{
- if (tableNameList[0] == 0)
- {
- return;
- }
- send_char(0x20);
- int i = 0;
- for (i = 0; i < tableNameListLen && tableNameList[i] > 0; i++)
- {
- if (tableNameList[i] >= 65 && tableNameList[i] <= 90)
- {
- send_char(tableNameList[i]+32);
- }
- else
- {
- send_char(tableNameList[i]);
- }
- }
- send_char(0x20);
-}
-
-void eraseTableAbbreviation(void)
-{
- for (int i = 0; i < tableNameListLen && tableNameList[i] > 0; i++)
- {
- tableNameList[i] = '\0';
- }
-}
-
-void printString(char* str)
-{
-
- if (str[0] != '\0')
- {
- int i = 0;
- while (true)
- {
- if (str[i] == 0)
- {
- break;
- }
- send_char(str[i++]);
- charCount[countPointer]++;
- }
- }
-}
-
-void printStringAndQueueChar(char* str)
-{
- if (charCount[countPointer] > 0 && countPointer < charCountLen)
- {
- countPointer++;
- }
- sendAbbr = true;
- if (str[0] != '\0')
- {
- printString(str);
-
- for (int i = 0; i < tableNameListLen-1; i++)
- {
- if (tableNameList[i] == '\0')
- {
- tableNameList[i] = str[0];
- tableNameList[i+1] = '\0';
- break;
- }
- else if (i == tableNameListLen-2)
- {
- printTableAbbreviation();
- break;
- }
- }
- //for (i = 0; i < tableNameListLen && tableNameList[i] > 0; i++)
- //{
- // send_char(tableNameList[i]);
- //}
- //send_string_P("Darden");
- //send_string_P(&myarray);
- //send_string_P(str);
- }
-}
-
-void ReplaceString(char *orig, char *repl)
-{
- int i = 0;
- while((orig[i] != 0x0 && repl[i] != 0x0) && orig[i] == repl[i])
- i++;
-
- if(orig[i] != 0x0)
- {
- int o = i;
- while (orig[o++] != 0x0) {
- charCount[countPointer]--;
- register_code(KC_BSPC);
- unregister_code(KC_BSPC);
- }
- }
- printString(repl+i);
-}
-
-void deletePrev(void)
-{
- if (countPointer == 0 && charCount[countPointer] == 0)
- return;
- for (int i = 0; i < charCount[countPointer]; i++)
- {
- register_code(KC_BSPC);
- unregister_code(KC_BSPC);
- }
- charCount[countPointer] = 0;
- int i = 1;
- for (;i < tableNameListLen-1; i++)
- {
- if (tableNameList[i] == 0x0)
- {
- break;
- }
- }
- tableNameList[i-1] = 0x0;
- if (countPointer > 0)
- {
- countPointer--;
- }
-}
-
-bool processSmartMacroTap(uint16_t kc)
-{
- if (relativityTimer > 0 && TIMER_DIFF_16(timer_read(), relativityTimer) >= relTimeout)
- {
- deactivateRelativity();
- return true;
- }
- relativityTimer = 0;
- switch(kc)
- {
- case KC_C:
- if (containsCode(KC_D))
- {
- printString("ribution");
- printStringAndQueueChar("Center");
- }
- else if (last2CodeAre(KC_C))
- {
- ReplaceString("Corporation", "Contact");
- }
- else if(lastCodeIs(KC_C))
- {
- printString("oration");
- }
- else
- {
- printStringAndQueueChar("Corp");
- }
- break;
- case KC_D:
- if (last2CodeAre(KC_D))
- {
- ReplaceString("Distribution", "Distributor");
- }
- else if(lastCodeIs(KC_D))
- {
- printString("ribution");
- }
- else
- {
- printStringAndQueueChar("Dist");
- }
- break;
- case KC_G:
- printStringAndQueueChar("Global");
- printStringAndQueueChar("Lookup");
- break;
- case KC_I:
- if (containsCode(KC_W))
- printStringAndQueueChar("Instance");
- else
- printStringAndQueueChar("Item");
- break;
- case KC_N:
- printStringAndQueueChar("NadRate");
- break;
- case KC_P:
- if (last2CodesAre(KC_D, KC_C))
- {
- ReplaceString("DistributionCenter", "DistCenter");
- printStringAndQueueChar("Pricing");
- }
- else if (last2CodeAre(KC_P))
- {
- }
- else if(lastCodeIs(KC_P))
- {
- ReplaceString("Product", "Person");
- }
- else
- {
- printStringAndQueueChar("Product");
- }
- break;
- case KC_Q:
- printStringAndQueueChar("Darden");
- break;
- case KC_S:
- if (containsCode(KC_W))
- if (containsCode(KC_S) || containsCode(KC_D))
- printStringAndQueueChar("Step");
- else
- printStringAndQueueChar("Session");
- else
- printStringAndQueueChar("Supplier");
- break;
- case KC_T:
- if (containsCode(KC_W))
- printStringAndQueueChar("Task");
- else
- printStringAndQueueChar("Type");
- break;
- case KC_W:
- printStringAndQueueChar("Workflow");
- break;
- }
- addKeyCode(kc);
- return false;
-}
-
-
-bool shifted = false;
-bool isShifted()
-{
- return shifted;
-}
-
-void setShifted(bool val)
-{
- shifted = val;
-}
-
-
-bool storeShiftState(uint16_t keycode, keyrecord_t *record)
-{
-
- if (record->event.pressed)
- {
- switch (keycode)
- {
- case KC_LSPO:
- case KC_RSPC:
- shifted = true;
- }
- }
- else
- {
- switch (keycode)
- {
-
- case KC_LSPO:
- case KC_RSPC:
- shifted = false;
- return true;
- }
- }
- return true;
-}
-
-bool handleSmartMacros(uint16_t keycode, keyrecord_t *record)
-{
- if (relativityActive != true) return true;
- if (record->event.pressed)
- {
- switch (keycode)
- {
- case KC_BSPC:
- if (!isShifted()){
- deletePrev();
- }
- else {
- register_code(KC_BSPC);
- unregister_code(KC_BSPC);
- }
- return false;
- case KC_A:
- case KC_B:
- case KC_C:
- case KC_D:
- case KC_E:
- case KC_F:
- case KC_G:
- case KC_H:
- case KC_I:
- case KC_J:
- case KC_K:
- case KC_L:
- case KC_M:
- case KC_N:
- case KC_O:
- case KC_P:
- case KC_Q:
- case KC_R:
- case KC_S:
- case KC_T:
- case KC_U:
- case KC_V:
- case KC_W:
- case KC_X:
- case KC_Y:
- case KC_Z:
- return processSmartMacroTap(keycode);
-
- case PRRD:
- if (tempOff)
- {
- SEND_STRING("Id = ");
- printTableAbbreviationLimited();
- SEND_STRING(".Id");
- return deactivateRelativity();
- }
- else
- {
- printTableAbbreviation();
- SEND_STRING("ON ");
- printTableAbbreviationLimited();
- eraseKeyCodes();
- eraseTableAbbreviation();
- eraseCharCounts();
- tempOff = true;
- return true;
- }
-
-
- case KC_SPC:
- printTableAbbreviation();
- return deactivateRelativity();
- case ENTER_OR_SQL:
- if (tempOff)
- {
- SEND_STRING("Id = ");
- printTableAbbreviationLimited();
- SEND_STRING(".Id");
- deactivateRelativity();
- return true;
- }
- else
- {
- printTableAbbreviation();
- deactivateRelativity();
- return true;
- }
- case KC_ESC:
- return deactivateRelativity();
- }
- }
- return true;
-}