Example #1
0
    void HandleMsg(UINT message, WPARAM wParam, LPARAM lParam)
    {
      switch (message) {
        case WM_HID_DEV_ADDED: 
          Enqueue(PluggedIn);
          StartKeyScan();
          break;

        case WM_HID_DEV_REMOVED: 
          Enqueue(Unplugged);
          StopKeyScan();
          break;

        case WM_HID_KEY_DOWN: 
          switch (wParam) {
            case 1:
              Enqueue(Key1);
              break;
            case 2:
              Enqueue(Key4);
              break;
            case 3:
              Enqueue(Key7);
              break;
            case 4:
              Enqueue(KeyStar);  // Star key
              break;
            case 5:
              Enqueue(Key2);
              break;
            case 6:
              Enqueue(Key5);
              break;
            case 7:
              Enqueue(Key8);
              break;
            case 8:
              Enqueue(Key0);
              break;
            case 9:
              Enqueue(Key3);
              break;
            case 10:
              Enqueue(Key6);
              break;
            case 11:
              Enqueue(Key9);
              break;
            case 12:
              Enqueue(KeyHash);  // Hash Key
              break;
            case 13:
              m_isOffHook = TRUE;  // Dial key
              break;
            case 14:
              m_isOffHook = FALSE;;  // Stop Dial key
              break;
            case 15:
              Enqueue(KeyC);  // left Navigator Keys
              break;
            case 16:
              Enqueue(KeyD);  // Right Navigator Keys
          }
          break;

        case WM_HID_KEY_UP: 
          // Do Nothing
          break;

        case WM_HID_VOLUME_DOWN: 
          if ((int)wParam == 1)
	    Enqueue(VolumeUp);
          else
	    Enqueue(VolumeDown);
          break;

        case WM_HID_VOLUME_UP: 
          // Do Nothing
          break;

        case WM_HID_PLAYBACK_MUTE: 
          // Not Implemented
          break;

        case WM_HID_RECORD_MUTE: 
          // Not Implemented
          break;

        case WM_DEVICECHANGE: 
          HandleUsbDeviceChange(wParam, lParam); 
          break;

        case WM_HID_SHUTDOWN :
          CloseDevice();
          DestroyWindow(m_hWnd);
          break;

        case WM_DESTROY :
          PostQuitMessage(0);
          break;
      }
    }
Example #2
0
    void HandleMsg(UINT message, WPARAM wParam, LPARAM lParam)
    {
        switch (message) {
        case WM_HID_DEV_ADDED :
            m_pluggedIn = true;
            StartKeyScan();
            break;

        case WM_HID_DEV_REMOVED :
            m_pluggedIn = false;
            StopKeyScan();
            break;

        case WM_HID_KEY_DOWN:
            switch (wParam) {
            case 1:
                Enqueue('1');
                break;
            case 2:
                Enqueue('4');
                break;
            case 3:
                Enqueue('7');
                break;
            case 4:
                Enqueue('*');
                break;
            case 5:
                Enqueue('2');
                break;
            case 6:
                Enqueue('5');
                break;
            case 7:
                Enqueue('8');
                break;
            case 8:
                Enqueue('0');
                break;
            case 9:
                Enqueue('3');
                break;
            case 10:
                Enqueue('6');
                break;
            case 11:
                Enqueue('9');
                break;
            case 12:
                Enqueue('#');
                break;
            case 13:
                m_isOffHook = true;  // Dial key
                break;
            case 14:
                m_isOffHook = false;;  // Stop Dial key
                break;
            case 15:
                Enqueue('l');  // left
                break;
            case 16:
                Enqueue('r');  // right
            }
            break;

        case WM_HID_KEY_UP:
            // Do Nothing
            break;

        case WM_HID_VOLUME_DOWN:
            if ((int)wParam == 1)
                Enqueue('u');
            else
                Enqueue('d');
            break;

        case WM_HID_VOLUME_UP:
            // Do Nothing
            break;

        case WM_HID_PLAYBACK_MUTE:
            break;

        case WM_HID_RECORD_MUTE:
            Enqueue('m');
            break;

        case WM_DEVICECHANGE:
            HandleUsbDeviceChange(wParam, lParam);
            break;

        case WM_HID_SHUTDOWN :
            CloseDevice();
            DestroyWindow(m_hWnd);
            break;

        case WM_DESTROY :
            PostQuitMessage(0);
            break;
        }
    }