Focus: Merge keymap.dump and keymap.upload into keymap.map

Fixes #2.

Signed-off-by: Gergely Nagy <algernon@madhouse-project.org>
pull/365/head
Gergely Nagy 8 years ago
parent 78836fd091
commit 1432015235

@ -21,10 +21,7 @@
#include <Kaleidoscope.h>
#include <Kaleidoscope/EEPROM-Keymap.h>
#define FOCUS_HOOK_KEYMAP FOCUS_HOOK(EEPROMKeymap.focusKeymap, \
"keymap.dump\n" \
"keymap.upload")
#define FOCUS_HOOK_KEYMAP FOCUS_HOOK(EEPROMKeymap.focusKeymap, "keymap.map")
#define FOCUS_HOOK_KEYMAP_TRANSFER FOCUS_HOOK(EEPROMKeymap.focusKeymapTransfer, \
"keymap.transfer layer")

@ -93,48 +93,27 @@ namespace KaleidoscopePlugins {
bool
EEPROMKeymap::focusKeymap (const char *command) {
enum {
UPLOAD,
DUMP,
} subCommand;
if (strncmp_P (command, PSTR ("keymap."), 7) != 0)
return false;
if (strcmp_P (command + 7, PSTR ("upload")) == 0)
subCommand = UPLOAD;
else if (strcmp_P (command + 7, PSTR ("dump")) == 0)
subCommand = DUMP;
else
if (strcmp_P (command, PSTR ("keymap.map")) != 0)
return false;
switch (subCommand) {
case UPLOAD:
{
uint16_t i = 0;
while ((Serial.peek () != '\n') && (i < ROWS * COLS * maxLayers)) {
updateKey (i, parseKey ());
i++;
}
break;
}
case DUMP:
{
for (uint8_t layer = 0; layer < maxLayers; layer++) {
for (uint8_t row = 0; row < ROWS; row++) {
for (uint8_t col = 0; col < COLS; col++) {
Key k = getKey (layer, row, col);
if (Serial.peek () == '\n') {
for (uint8_t layer = 0; layer < maxLayers; layer++) {
for (uint8_t row = 0; row < ROWS; row++) {
for (uint8_t col = 0; col < COLS; col++) {
Key k = getKey (layer, row, col);
printKey (k);
::Focus.printSpace ();
}
printKey (k);
::Focus.printSpace ();
}
}
Serial.println ();
break;
}
Serial.println ();
} else {
uint16_t i = 0;
while ((Serial.peek () != '\n') && (i < ROWS * COLS * maxLayers)) {
updateKey (i, parseKey ());
i++;
}
}
return true;

Loading…
Cancel
Save