static int pRead(Context_t *context) { char vBuffer[128]; char vData[10]; const int cSize = 128; int vCurrentCode = -1; memset(vBuffer, 0, 128); // wait for new command read(context->fd, vBuffer, cSize); // parse and send key event vData[0] = vBuffer[14]; vData[1] = vBuffer[15]; vData[2] = '\0'; printf("[evremote2 vip2] Key: %s -> %s\n", vData, &vBuffer[0]); vCurrentCode = getInternalCode(context->r->RemoteControl, vData); if (vCurrentCode != 0) { static int nextflag = 0; if (('0' == vBuffer[17]) && ('0' == vBuffer[18])) { nextflag++; } vCurrentCode += (nextflag << 16); } return vCurrentCode; }
static int pRead(Context_t *context) { char vData[3]; const int cSize = 3; int vCurrentCode = -1; //wait for new command read(vFd, vData, cSize); //parse and send key event vData[2] = '\0'; vCurrentCode = getInternalCode((tButton *)((RemoteControl_t *)context->r)->RemoteControl, vData); if (vCurrentCode & 0x80 == 0) // new key { gNextKey++; gNextKey %= 20; } vCurrentCode += (gNextKey << 16); return vCurrentCode; }
// Translates internal remote control hex value to known linux input key value int getInternalCodeHex(tButton * cButtons, const unsigned char cCode) { char vCode[3]; sprintf(vCode, "%.2hhx", cCode); vCode[2] = '\0'; return getInternalCode(cButtons, vCode); }
static int pRead(Context_t *context) { char vBuffer[128]; char vData[10]; const int cSize = 128; int vCurrentCode = -1; int rc; tButton *cButtons = cButtonsEdisionSpark; memset(vBuffer, 0, 128); //wait for new command rc = read(context->fd, vBuffer, cSize); if (rc <= 0)return -1; //parse and send key event vData[0] = vBuffer[17]; vData[1] = vBuffer[18]; vData[2] = '\0'; vData[0] = vBuffer[8]; vData[1] = vBuffer[9]; vData[2] = vBuffer[10]; vData[3] = vBuffer[11]; vData[4] = '\0'; cButtons = pSparkGetButton(vData); vData[0] = vBuffer[14]; vData[1] = vBuffer[15]; vData[2] = '\0'; printf("[RCU] key: %s -> %s\n", vData, &vBuffer[0]); vCurrentCode = getInternalCode(cButtons, vData); if (vCurrentCode != 0) { static int nextflag = 0; if (('0' == vBuffer[17]) && ('0' == vBuffer[18])) { nextflag++; } vCurrentCode += (nextflag << 16); } return vCurrentCode; }
static int pRead(Context_t *context) { char vData[3]; const int cSize = 3; int vCurrentCode = -1; //wait for new command read(vFd, vData, cSize); //parse and send key event vData[2] = '\0'; vCurrentCode = getInternalCode((tButton *)((RemoteControl_t *)context->r)->RemoteControl, vData); return vCurrentCode; }