make astyle

pull/389/head
Jesse Vincent 8 years ago
parent 5609a40db3
commit d77b1a5c41
No known key found for this signature in database
GPG Key ID: 122F5DF7108E4046

@ -23,52 +23,52 @@
#include <Kaleidoscope-Unicode.h> #include <Kaleidoscope-Unicode.h>
const Key keymaps[][ROWS][COLS] PROGMEM = { const Key keymaps[][ROWS][COLS] PROGMEM = {
[0] = KEYMAP_STACKED [0] = KEYMAP_STACKED
( (
Key_NoKey, Key_1, Key_2, Key_3, Key_4, Key_5, Key_NoKey, Key_NoKey, Key_1, Key_2, Key_3, Key_4, Key_5, Key_NoKey,
Key_Backtick, Key_Q, Key_W, Key_E, Key_R, Key_T, Key_Tab, Key_Backtick, Key_Q, Key_W, Key_E, Key_R, Key_T, Key_Tab,
Key_PageUp, Key_A, Key_S, Key_D, Key_F, Key_G, Key_PageUp, Key_A, Key_S, Key_D, Key_F, Key_G,
Key_PageDown, Key_Z, Key_X, Key_C, Key_V, Key_B, Key_Escape, Key_PageDown, Key_Z, Key_X, Key_C, Key_V, Key_B, Key_Escape,
Key_LeftControl, Key_Backspace, Key_LeftGui, Key_LeftShift, Key_LeftControl, Key_Backspace, Key_LeftGui, Key_LeftShift,
SYSTER, SYSTER,
Key_skip, Key_6, Key_7, Key_8, Key_9, Key_0, Key_skip, Key_skip, Key_6, Key_7, Key_8, Key_9, Key_0, Key_skip,
Key_Enter, Key_Y, Key_U, Key_I, Key_O, Key_P, Key_Equals, Key_Enter, Key_Y, Key_U, Key_I, Key_O, Key_P, Key_Equals,
Key_H, Key_J, Key_K, Key_L, Key_Semicolon, Key_Quote, Key_H, Key_J, Key_K, Key_L, Key_Semicolon, Key_Quote,
Key_skip, Key_N, Key_M, Key_Comma, Key_Period, Key_Slash, Key_Minus, Key_skip, Key_N, Key_M, Key_Comma, Key_Period, Key_Slash, Key_Minus,
Key_RightShift, Key_RightAlt, Key_Spacebar, Key_RightControl, Key_RightShift, Key_RightAlt, Key_Spacebar, Key_RightControl,
SYSTER SYSTER
), ),
}; };
void systerAction (KaleidoscopePlugins::Syster::action_t action, const char *symbol) { void systerAction(KaleidoscopePlugins::Syster::action_t action, const char *symbol) {
switch (action) { switch (action) {
case KaleidoscopePlugins::Syster::StartAction: case KaleidoscopePlugins::Syster::StartAction:
Unicode.type (0x2328); Unicode.type(0x2328);
break; break;
case KaleidoscopePlugins::Syster::EndAction: case KaleidoscopePlugins::Syster::EndAction:
handle_keyswitch_event (Key_Backspace, UNKNOWN_KEYSWITCH_LOCATION, IS_PRESSED | INJECTED); handle_keyswitch_event(Key_Backspace, UNKNOWN_KEYSWITCH_LOCATION, IS_PRESSED | INJECTED);
Keyboard.sendReport (); Keyboard.sendReport();
handle_keyswitch_event (Key_Backspace, UNKNOWN_KEYSWITCH_LOCATION, WAS_PRESSED | INJECTED); handle_keyswitch_event(Key_Backspace, UNKNOWN_KEYSWITCH_LOCATION, WAS_PRESSED | INJECTED);
Keyboard.sendReport (); Keyboard.sendReport();
break; break;
case KaleidoscopePlugins::Syster::SymbolAction: case KaleidoscopePlugins::Syster::SymbolAction:
Serial.print ("systerAction: symbol="); Serial.print("systerAction: symbol=");
Serial.println (symbol); Serial.println(symbol);
if (strcmp (symbol, "coffee") == 0) { if (strcmp(symbol, "coffee") == 0) {
Unicode.type (0x2615); Unicode.type(0x2615);
}
break;
} }
break;
}
} }
void setup () { void setup() {
Kaleidoscope.setup (KEYMAP_SIZE); Kaleidoscope.setup(KEYMAP_SIZE);
Kaleidoscope.use (&Unicode, &Syster, NULL); Kaleidoscope.use(&Unicode, &Syster, NULL);
} }
void loop () { void loop() {
Kaleidoscope.loop (); Kaleidoscope.loop();
} }

@ -32,97 +32,97 @@ bool Syster::isActive;
// --- api --- // --- api ---
Syster::Syster (void) { Syster::Syster(void) {
} }
void void
Syster::begin (void) { Syster::begin(void) {
event_handler_hook_use (this->eventHandlerHook); event_handler_hook_use(this->eventHandlerHook);
} }
void void
Syster::reset (void) { Syster::reset(void) {
symbolPos = 0; symbolPos = 0;
symbol[0] = 0; symbol[0] = 0;
isActive = false; isActive = false;
} }
// --- hooks --- // --- hooks ---
Key Key
Syster::eventHandlerHook (Key mappedKey, byte row, byte col, uint8_t keyState) { Syster::eventHandlerHook(Key mappedKey, byte row, byte col, uint8_t keyState) {
if (!isActive) { if (!isActive) {
if (!isSyster (mappedKey)) if (!isSyster(mappedKey))
return mappedKey; return mappedKey;
if (key_toggled_on (keyState)) { if (key_toggled_on(keyState)) {
isActive = true; isActive = true;
systerAction (StartAction, NULL); systerAction(StartAction, NULL);
}
return Key_NoKey;
} }
return Key_NoKey;
}
if (keyState & INJECTED) if (keyState & INJECTED)
return mappedKey; return mappedKey;
if (isSyster (mappedKey)) if (isSyster(mappedKey))
return Key_NoKey; return Key_NoKey;
if (mappedKey == Key_Backspace && symbolPos == 0) if (mappedKey == Key_Backspace && symbolPos == 0)
return Key_NoKey; return Key_NoKey;
if (key_toggled_off (keyState)) { if (key_toggled_off(keyState)) {
if (mappedKey == Key_Spacebar) { if (mappedKey == Key_Spacebar) {
for (uint8_t i = 0; i <= symbolPos; i++) { for (uint8_t i = 0; i <= symbolPos; i++) {
handle_keyswitch_event (Key_Backspace, UNKNOWN_KEYSWITCH_LOCATION, IS_PRESSED | INJECTED); handle_keyswitch_event(Key_Backspace, UNKNOWN_KEYSWITCH_LOCATION, IS_PRESSED | INJECTED);
Keyboard.sendReport (); Keyboard.sendReport();
handle_keyswitch_event (Key_Backspace, UNKNOWN_KEYSWITCH_LOCATION, WAS_PRESSED | INJECTED); handle_keyswitch_event(Key_Backspace, UNKNOWN_KEYSWITCH_LOCATION, WAS_PRESSED | INJECTED);
Keyboard.sendReport (); Keyboard.sendReport();
} }
systerAction (EndAction, NULL); systerAction(EndAction, NULL);
symbol[symbolPos] = 0; symbol[symbolPos] = 0;
systerAction (SymbolAction, symbol); systerAction(SymbolAction, symbol);
reset (); reset();
return Key_NoKey; return Key_NoKey;
}
} }
}
if (key_toggled_on (keyState)) {
if (mappedKey == Key_Backspace) { if (key_toggled_on(keyState)) {
if (symbolPos > 0) if (mappedKey == Key_Backspace) {
symbolPos--; if (symbolPos > 0)
} else { symbolPos--;
const char c = keyToChar (mappedKey); } else {
if (c) const char c = keyToChar(mappedKey);
symbol[symbolPos++] = c; if (c)
} symbol[symbolPos++] = c;
} }
}
return mappedKey; return mappedKey;
} }
}; };
__attribute__((weak)) __attribute__((weak))
const char const char
keyToChar (Key key) { keyToChar(Key key) {
if (key.flags != 0) if (key.flags != 0)
return 0;
switch (key.keyCode) {
case Key_A.keyCode ... Key_Z.keyCode:
return 'a' + (key.keyCode - Key_A.keyCode);
case Key_1.keyCode ... Key_0.keyCode:
return '1' + (key.keyCode - Key_1.keyCode);
}
return 0; return 0;
switch (key.keyCode) {
case Key_A.keyCode ... Key_Z.keyCode:
return 'a' + (key.keyCode - Key_A.keyCode);
case Key_1.keyCode ... Key_0.keyCode:
return '1' + (key.keyCode - Key_1.keyCode);
}
return 0;
} }
__attribute__((weak)) __attribute__((weak))
void void
systerAction (KaleidoscopePlugins::Syster::action_t action, const char *symbol) { systerAction(KaleidoscopePlugins::Syster::action_t action, const char *symbol) {
} }
KaleidoscopePlugins::Syster Syster; KaleidoscopePlugins::Syster Syster;

@ -27,28 +27,28 @@
namespace KaleidoscopePlugins { namespace KaleidoscopePlugins {
class Syster : public KaleidoscopePlugin { class Syster : public KaleidoscopePlugin {
public: public:
typedef enum { typedef enum {
StartAction, StartAction,
EndAction, EndAction,
SymbolAction SymbolAction
} action_t; } action_t;
Syster (void); Syster(void);
void begin (void) final; void begin(void) final;
static void reset (void); static void reset(void);
private: private:
static char symbol[SYSTER_MAX_SYMBOL_LENGTH + 1]; static char symbol[SYSTER_MAX_SYMBOL_LENGTH + 1];
static uint8_t symbolPos; static uint8_t symbolPos;
static bool isActive; static bool isActive;
static Key eventHandlerHook (Key mappedKey, byte row, byte col, uint8_t keyState); static Key eventHandlerHook(Key mappedKey, byte row, byte col, uint8_t keyState);
}; };
}; };
const char keyToChar (Key key); const char keyToChar(Key key);
void systerAction (KaleidoscopePlugins::Syster::action_t action, const char *symbol); void systerAction(KaleidoscopePlugins::Syster::action_t action, const char *symbol);
extern KaleidoscopePlugins::Syster Syster; extern KaleidoscopePlugins::Syster Syster;

Loading…
Cancel
Save