Example #1
0
 /**
  * @param Event $event
  * @param $buf
  * @return int
  */
 protected function parseEscapeSequence(Event $event, $buf)
 {
     if (strlen($buf) >= 6 && strpos($buf, "") === 0) {
         switch ($buf[3] & 3) {
             case 0:
                 if ($buf[3] == 0x60) {
                     $event->setKey(Constants::TB_KEY_MOUSE_WHEEL_UP);
                 } else {
                     $event->setKey(Constants::TB_KEY_MOUSE_LEFT);
                 }
                 break;
             case 1:
                 if ($buf[3] == 0x61) {
                     $event->setKey(Constants::TB_KEY_MOUSE_WHEEL_DOWN);
                 } else {
                     $event->setKey(Constants::TB_KEY_MOUSE_MIDDLE);
                 }
                 break;
             case 2:
                 $event->setKey(Constants::TB_KEY_MOUSE_WHEEL_DOWN);
                 break;
             case 3:
                 $event->setKey(Constants::TB_KEY_MOUSE_RIGHT);
                 break;
             case 4:
                 $event->setKey(Constants::TB_KEY_MOUSE_RELEASE);
                 break;
             default:
                 return -6;
         }
         $event->setType(Constants::TB_EVENT_MOUSE);
         $event->setX($buf[4] - 1 - 32);
         $event->setY($buf[5] - 1 - 32);
         return 6;
     }
     for ($i = 0; $i != $keys[$i]; $i++) {
         if (strpos($buf)) {
             $event->setChar(0);
             $event->getKey(0xffff - $i);
             return strlen($keys[$i]);
         }
     }
     return 0;
 }