From 5cea2c3a1d6f8bd66146c8dd4d89f5c8711615d2 Mon Sep 17 00:00:00 2001 From: Nikolai Rinas Date: Sat, 18 Feb 2017 17:01:52 -0800 Subject: [PATCH] Feature request: Multiple key combinations --- bin/jslisten | Bin 72164 -> 72836 bytes etc/jslisten.cfg | 7 ++ src/jslisten.c | 257 +++++++++++++++++++++++++++++------------------ 3 files changed, 167 insertions(+), 97 deletions(-) diff --git a/bin/jslisten b/bin/jslisten index c0aac55128ff4d9c838ced6e9a553f6831c5cbd4..ed51c82135ef8639875e1a230c99bc616fbea281 100755 GIT binary patch literal 72836 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

AX($1#hA+_gJ_)Pv7%$+aNY3fb~v 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�>J5-q0 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 literal 72164 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 z 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 VV=e-#%GGzZCg%MwXF^bY{}-)|<4yno diff --git a/etc/jslisten.cfg b/etc/jslisten.cfg index a98ed28..735a77a 100644 --- a/etc/jslisten.cfg +++ b/etc/jslisten.cfg @@ -4,3 +4,10 @@ button1=10 button2=11 button3=0 button4= + +[Add1] +program="/opt/bin/test2.sh" +button1=0 +button2=3 +button3= +button4= diff --git a/src/jslisten.c b/src/jslisten.c index e3dbf3b..8412e4e 100644 --- a/src/jslisten.c +++ b/src/jslisten.c @@ -57,19 +57,33 @@ //#define MY_LOG_LEVEL LOG_NOTICE //LOG_DEBUG //LOG_NOTICE #define INI_BUFFERSIZE 512 +#define MAX_HOTKEYS 99 //--------------------------------- // Global definitions //--------------------------------- -char iniFile[512]; +char iniFile[INI_BUFFERSIZE]; int joyFD; -long button1 = BUTTON_DEFINED_RANGE; // Default unassigned -long button2 = BUTTON_DEFINED_RANGE; // Default unassigned -long button3 = BUTTON_DEFINED_RANGE; // Default unassigned -long button4 = BUTTON_DEFINED_RANGE; // Default unassigned -int buttonActive = 0; -char swFilename[100]; +struct KeySet{ + // Set Default unassigned + long button1; + int button1Active; + long button2; + int button2Active; + long button3; + int button3Active; + long button4; + int button4Active; + int activeButtons; + int isTriggered; + char swFilename[100]; +}; + +struct KeySet myKeys[MAX_HOTKEYS]; + +int numHotkeys = 0; +//int buttonActive = 0; int logLevel = LOG_NOTICE; //--------------------------------- @@ -129,46 +143,49 @@ void readConfig(void) { /* section/key enumeration */ for (s = 0; ini_getsection(s, section, sizearray(section), iniFile) > 0; s++) { - for (k = 0; ini_getkey(section, k, str, sizearray(str), iniFile) > 0; k++) { - if ( strncmp("program", str, 7) == 0 ) { // Key found - n = ini_gets(section, str, "dummy", swFilename, sizearray(swFilename), iniFile); - if ( n > 5 && strncmp("dummy", swFilename, 5) != 0 ) { // Value is not empty - syslog(LOG_INFO, "Filename: %s\n", swFilename); - } - } - if ( strncmp("button1", str, 7) == 0 ) { // Key found - l = ini_getl(section, str, BUTTON_DEFINED_RANGE, iniFile); - if ( buttonDefined(l) == true ) { // Value is not empty - syslog(LOG_INFO, "button1: %ld\n", l); - button1 = l; - buttonActive++; - } - } - if ( strncmp("button2", str, 7) == 0 ) { // Key found - l = ini_getl(section, str, BUTTON_DEFINED_RANGE, iniFile); - if ( buttonDefined(l) == true ) { // Value is not empty - syslog(LOG_INFO, "button2: %ld\n", l); - button2 = l; - buttonActive++; - } - } - if ( strncmp("button3", str, 7) == 0 ) { // Key found - l = ini_getl(section, str, BUTTON_DEFINED_RANGE, iniFile); - if ( buttonDefined(l) == true ) { // Value is not empty - syslog(LOG_INFO, "button3: %ld\n", l); - button3 = l; - buttonActive++; - } - } - if ( strncmp("button4", str, 7) == 0 ) { // Key found - l = ini_getl(section, str, BUTTON_DEFINED_RANGE, iniFile); - if ( buttonDefined(l) == true ){ // Value is not empty - syslog(LOG_INFO, "button4: %ld\n", l); - button4 = l; - buttonActive++; - } - } - } /* for */ + if ( numHotkeys < MAX_HOTKEYS ) { + for (k = 0; ini_getkey(section, k, str, sizearray(str), iniFile) > 0; k++) { + if ( strncmp("program", str, 7) == 0 ) { // Key found + n = ini_gets(section, str, "dummy", myKeys[numHotkeys].swFilename, sizearray(myKeys[numHotkeys].swFilename), iniFile); + if ( n > 5 && strncmp("dummy", myKeys[numHotkeys].swFilename, 5) != 0 ) { // Value is not empty + syslog(LOG_INFO, "Filename: %s\n", myKeys[numHotkeys].swFilename); + } + } + if ( strncmp("button1", str, 7) == 0 ) { // Key found + l = ini_getl(section, str, BUTTON_DEFINED_RANGE, iniFile); + if ( buttonDefined(l) == true ) { // Value is not empty + syslog(LOG_INFO, "button1: %ld\n", l); + myKeys[numHotkeys].button1 = l; + myKeys[numHotkeys].activeButtons++; + } + } + if ( strncmp("button2", str, 7) == 0 ) { // Key found + l = ini_getl(section, str, BUTTON_DEFINED_RANGE, iniFile); + if ( buttonDefined(l) == true ) { // Value is not empty + syslog(LOG_INFO, "button2: %ld\n", l); + myKeys[numHotkeys].button2 = l; + myKeys[numHotkeys].activeButtons++; + } + } + if ( strncmp("button3", str, 7) == 0 ) { // Key found + l = ini_getl(section, str, BUTTON_DEFINED_RANGE, iniFile); + if ( buttonDefined(l) == true ) { // Value is not empty + syslog(LOG_INFO, "button3: %ld\n", l); + myKeys[numHotkeys].button3 = l; + myKeys[numHotkeys].activeButtons++; + } + } + if ( strncmp("button4", str, 7) == 0 ) { // Key found + l = ini_getl(section, str, BUTTON_DEFINED_RANGE, iniFile); + if ( buttonDefined(l) == true ){ // Value is not empty + syslog(LOG_INFO, "button4: %ld\n", l); + myKeys[numHotkeys].button4 = l; + myKeys[numHotkeys].activeButtons++; + } + } + } /* for */ + } + numHotkeys++; // Remember how many sections we have } /* for */ } @@ -177,19 +194,84 @@ void readConfig(void) { //--------------------------------------------- int checkConfig(void) { int rc=0; - if ( sizearray(swFilename) < 3 ) { // no program make no sense - syslog(LOG_ERR, "err: no valid filename provided. Please check ini file\n"); - rc = 1; - } - if ( buttonDefined(button1) == false ) { // we need at least one button for tracking - syslog(LOG_ERR, "err: button assignment missing. Please set at least button1 in the ini file!\n"); - rc = 1; - } - syslog(LOG_INFO, "Active assigned buttons: %d\n", buttonActive); + int i; + for (i=0;i -1 ) { // We have found one key section syslog(LOG_INFO, "Swtching mode. ...\n"); - // reset state, so we call only once - button1State = 0; - button2State = 0; - button3State = 0; - button4State = 0; - int rc = system(swFilename); + // call external program + int rc = system(myKeys[needTrigger].swFilename); if ( rc == 0 ) { syslog(LOG_INFO, "Call succesfull\n"); }else{ syslog(LOG_INFO, "Call failed\n"); } + // reset state, so we call only once + resetHotkeys(); } } @@ -500,6 +547,22 @@ int main(int argc, char* argv[]) { signal(SIGTERM, signal_callback_handler); signal(SIGHUP, signal_callback_handler); + + // Init Defaults + int i; + for (i=0;i 1 ) { if (strncmp(argv[1], "--debug", 7) == 0) {