C++程序  |  289行  |  6.96 KB

// Copyright 2014 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef REMOTING_IOS_KEY_MAP_US_H_
#define REMOTING_IOS_KEY_MAP_US_H_

// A mapping for the US keyboard on a US IPAD to Chromoting Scancodes

// This must be less than or equal to the size of
// kIsShiftRequiredUS and kKeyCodeUS.
const int kKeyboardKeyMaxUS = 126;

// Index for specific keys
const uint32_t kShiftIndex = 128;
const uint32_t kBackspaceIndex = 129;
const uint32_t kCtrlIndex = 130;
const uint32_t kAltIndex = 131;
const uint32_t kDelIndex = 132;

const BOOL kIsShiftRequiredUS[] = {
    NO,   // [0]      Numbering fields by index, not by count
    NO,   //
    NO,   //
    NO,   //
    NO,   //
    NO,   //
    NO,   //
    NO,   //
    NO,   //
    NO,   //
    NO,   // [10]     ENTER
    NO,   //
    NO,   //
    NO,   //
    NO,   //
    NO,   //
    NO,   //
    NO,   //
    NO,   //
    NO,   //
    NO,   // [20]
    NO,   //
    NO,   //
    NO,   //
    NO,   //
    NO,   //
    NO,   //
    NO,   //
    NO,   //
    NO,   //
    NO,   // [30]
    NO,   //
    NO,   //          SPACE
    YES,  //          !
    YES,  //          "
    YES,  //          #
    YES,  //          $
    YES,  //          %
    YES,  //          &
    NO,   //          '
    YES,  // [40]     (
    YES,  //          )
    YES,  //          *
    YES,  //          +
    NO,   //          ,
    NO,   //          -
    NO,   //          .
    NO,   //          /
    NO,   //          0
    NO,   //          1
    NO,   // [50]     2
    NO,   //          3
    NO,   //          4
    NO,   //          5
    NO,   //          6
    NO,   //          7
    NO,   //          8
    NO,   //          9
    YES,  //          :
    NO,   //          ;
    YES,  // [60]     <
    NO,   //          =
    YES,  //          >
    YES,  //          ?
    YES,  //          @
    YES,  //          A
    YES,  //          B
    YES,  //          C
    YES,  //          D
    YES,  //          E
    YES,  // [70]     F
    YES,  //          G
    YES,  //          H
    YES,  //          I
    YES,  //          J
    YES,  //          K
    YES,  //          L
    YES,  //          M
    YES,  //          N
    YES,  //          O
    YES,  // [80]     P
    YES,  //          Q
    YES,  //          R
    YES,  //          S
    YES,  //          T
    YES,  //          U
    YES,  //          V
    YES,  //          W
    YES,  //          X
    YES,  //          Y
    YES,  // [90]     Z
    NO,   //          [
    NO,   //          BACKSLASH
    NO,   //          ]
    YES,  //          ^
    YES,  //          _
    NO,   //
    NO,   //          a
    NO,   //          b
    NO,   //          c
    NO,   // [100]    d
    NO,   //          e
    NO,   //          f
    NO,   //          g
    NO,   //          h
    NO,   //          i
    NO,   //          j
    NO,   //          k
    NO,   //          l
    NO,   //          m
    NO,   // [110]    n
    NO,   //          o
    NO,   //          p
    NO,   //          q
    NO,   //          r
    NO,   //          s
    NO,   //          t
    NO,   //          u
    NO,   //          v
    NO,   //          w
    NO,   // [120]    x
    NO,   //          y
    NO,   //          z
    YES,  //          {
    YES,  //          |
    YES,  //          }
    YES,  //          ~
    NO    // [127]
};

const uint32_t kKeyCodeUS[] = {
    0,         // [0]      Numbering fields by index, not by count
    0,         //
    0,         //
    0,         //
    0,         //
    0,         //
    0,         //
    0,         //
    0,         //
    0,         //
    0x070028,  // [10]     ENTER
    0,         //
    0,         //
    0,         //
    0,         //
    0,         //
    0,         //
    0,         //
    0,         //
    0,         //
    0,         // [20]
    0,         //
    0,         //
    0,         //
    0,         //
    0,         //
    0,         //
    0,         //
    0,         //
    0,         //
    0,         // [30]
    0,         //
    0x07002c,  //          SPACE
    0x07001e,  //          !
    0x070034,  //          "
    0x070020,  //          #
    0x070021,  //          $
    0x070022,  //          %
    0x070024,  //          &
    0x070034,  //          '
    0x070026,  // [40]     (
    0x070027,  //          )
    0x070025,  //          *
    0x07002e,  //          +
    0x070036,  //          ,
    0x07002d,  //          -
    0x070037,  //          .
    0x070038,  //          /
    0x070027,  //          0
    0x07001e,  //          1
    0x07001f,  // [50]     2
    0x070020,  //          3
    0x070021,  //          4
    0x070022,  //          5
    0x070023,  //          6
    0x070024,  //          7
    0x070025,  //          8
    0x070026,  //          9
    0x070033,  //          :
    0x070033,  //          ;
    0x070036,  // [60]     <
    0x07002e,  //          =
    0x070037,  //          >
    0x070038,  //          ?
    0x07001f,  //          @
    0x070004,  //          A
    0x070005,  //          B
    0x070006,  //          C
    0x070007,  //          D
    0x070008,  //          E
    0x070009,  // [70]     F
    0x07000a,  //          G
    0x07000b,  //          H
    0x07000c,  //          I
    0x07000d,  //          J
    0x07000e,  //          K
    0x07000f,  //          L
    0x070010,  //          M
    0x070011,  //          N
    0x070012,  //          O
    0x070013,  // [80]     P
    0x070014,  //          Q
    0x070015,  //          R
    0x070016,  //          S
    0x070017,  //          T
    0x070018,  //          U
    0x070019,  //          V
    0x07001a,  //          W
    0x07001b,  //          X
    0x07001c,  //          Y
    0x07001d,  // [90]     Z
    0x07002f,  //          [
    0x070031,  //          BACKSLASH
    0x070030,  //          ]
    0x070023,  //          ^
    0x07002d,  //          _
    0,         //
    0x070004,  //          a
    0x070005,  //          b
    0x070006,  //          c
    0x070007,  // [100]    d
    0x070008,  //          e
    0x070009,  //          f
    0x07000a,  //          g
    0x07000b,  //          h
    0x07000c,  //          i
    0x07000d,  //          j
    0x07000e,  //          k
    0x07000f,  //          l
    0x070010,  //          m
    0x070011,  // [110]    n
    0x070012,  //          o
    0x070013,  //          p
    0x070014,  //          q
    0x070015,  //          r
    0x070016,  //          s
    0x070017,  //          t
    0x070018,  //          u
    0x070019,  //          v
    0x07001a,  //          w
    0x07001b,  // [120]    x
    0x07001c,  //          y
    0x07001d,  //          z
    0x07002f,  //          {
    0x070031,  //          |
    0x070030,  //          }
    0x070035,  //          ~
    0,         // [127]
    0x0700e1,  //          SHIFT
    0x07002a,  //          BACKSPACE
    0x0700e0,  //          CTRL
    0x0700e2,  //          ALT
    0x07004c,  //          DEL
};

#endif  // REMOTING_IOS_KEY_MAP_US_H_