summaryrefslogtreecommitdiff
path: root/javascript/videojs/src/js/utils/spatial-navigation-key-codes.js
blob: ad26206d3f408ac310b686a6076e5bc4dbd319e6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
// /**
//  * @file spatial-navigation-keycode.js
//  */

import * as browser from './browser.js';

// Determine the keycode for the 'back' key based on the platform
const backKeyCode = browser.IS_TIZEN ? 10009 : browser.IS_WEBOS ? 461 : 8;

const SpatialNavKeyCodes = {
  codes: {
    play: 415,
    pause: 19,
    ff: 417,
    rw: 412,
    back: backKeyCode
  },
  names: {
    415: 'play',
    19: 'pause',
    417: 'ff',
    412: 'rw',
    [backKeyCode]: 'back'
  },

  isEventKey(event, keyName) {
    keyName = keyName.toLowerCase();

    if (this.names[event.keyCode] && this.names[event.keyCode] === keyName) {
      return true;
    }
    return false;
  },

  getEventName(event) {
    if (this.names[event.keyCode]) {
      return this.names[event.keyCode];
    } else if (this.codes[event.code]) {
      const code = this.codes[event.code];

      return this.names[code];
    }
    return null;
  }
};

export default SpatialNavKeyCodes;