mirror of
https://github.com/DeviceFarmer/stf.git
synced 2026-04-22 22:05:21 +02:00
Started to implement keycodes service.
This commit is contained in:
222
res/app/components/stf/keycodes/android/index.json
Normal file
222
res/app/components/stf/keycodes/android/index.json
Normal file
@@ -0,0 +1,222 @@
|
||||
{
|
||||
"KEYCODE_0": 7,
|
||||
"KEYCODE_1": 8,
|
||||
"KEYCODE_2": 9,
|
||||
"KEYCODE_3": 10,
|
||||
"KEYCODE_3D_MODE": 206,
|
||||
"KEYCODE_4": 11,
|
||||
"KEYCODE_5": 12,
|
||||
"KEYCODE_6": 13,
|
||||
"KEYCODE_7": 14,
|
||||
"KEYCODE_8": 15,
|
||||
"KEYCODE_9": 16,
|
||||
"KEYCODE_A": 29,
|
||||
"KEYCODE_ALT_LEFT": 57,
|
||||
"KEYCODE_ALT_RIGHT": 58,
|
||||
"KEYCODE_APOSTROPHE": 75,
|
||||
"KEYCODE_APP_SWITCH": 187,
|
||||
"KEYCODE_ASSIST": 219,
|
||||
"KEYCODE_AT": 77,
|
||||
"KEYCODE_AVR_INPUT": 182,
|
||||
"KEYCODE_AVR_POWER": 181,
|
||||
"KEYCODE_B": 30,
|
||||
"KEYCODE_BACK": 4,
|
||||
"KEYCODE_BACKSLASH": 73,
|
||||
"KEYCODE_BOOKMARK": 174,
|
||||
"KEYCODE_BREAK": 121,
|
||||
"KEYCODE_BUTTON_1": 188,
|
||||
"KEYCODE_BUTTON_10": 197,
|
||||
"KEYCODE_BUTTON_11": 198,
|
||||
"KEYCODE_BUTTON_12": 199,
|
||||
"KEYCODE_BUTTON_13": 200,
|
||||
"KEYCODE_BUTTON_14": 201,
|
||||
"KEYCODE_BUTTON_15": 202,
|
||||
"KEYCODE_BUTTON_16": 203,
|
||||
"KEYCODE_BUTTON_2": 189,
|
||||
"KEYCODE_BUTTON_3": 190,
|
||||
"KEYCODE_BUTTON_4": 191,
|
||||
"KEYCODE_BUTTON_5": 192,
|
||||
"KEYCODE_BUTTON_6": 193,
|
||||
"KEYCODE_BUTTON_7": 194,
|
||||
"KEYCODE_BUTTON_8": 195,
|
||||
"KEYCODE_BUTTON_9": 196,
|
||||
"KEYCODE_BUTTON_A": 96,
|
||||
"KEYCODE_BUTTON_B": 97,
|
||||
"KEYCODE_BUTTON_C": 98,
|
||||
"KEYCODE_BUTTON_L1": 102,
|
||||
"KEYCODE_BUTTON_L2": 104,
|
||||
"KEYCODE_BUTTON_MODE": 110,
|
||||
"KEYCODE_BUTTON_R1": 103,
|
||||
"KEYCODE_BUTTON_R2": 105,
|
||||
"KEYCODE_BUTTON_SELECT": 109,
|
||||
"KEYCODE_BUTTON_START": 108,
|
||||
"KEYCODE_BUTTON_THUMBL": 106,
|
||||
"KEYCODE_BUTTON_THUMBR": 107,
|
||||
"KEYCODE_BUTTON_X": 99,
|
||||
"KEYCODE_BUTTON_Y": 100,
|
||||
"KEYCODE_BUTTON_Z": 101,
|
||||
"KEYCODE_C": 31,
|
||||
"KEYCODE_CALCULATOR": 210,
|
||||
"KEYCODE_CALENDAR": 208,
|
||||
"KEYCODE_CALL": 5,
|
||||
"KEYCODE_CAMERA": 27,
|
||||
"KEYCODE_CAPS_LOCK": 115,
|
||||
"KEYCODE_CAPTIONS": 175,
|
||||
"KEYCODE_CHANNEL_DOWN": 167,
|
||||
"KEYCODE_CHANNEL_UP": 166,
|
||||
"KEYCODE_CLEAR": 28,
|
||||
"KEYCODE_COMMA": 55,
|
||||
"KEYCODE_CONTACTS": 207,
|
||||
"KEYCODE_CTRL_LEFT": 113,
|
||||
"KEYCODE_CTRL_RIGHT": 114,
|
||||
"KEYCODE_D": 32,
|
||||
"KEYCODE_DEL": 67,
|
||||
"KEYCODE_DPAD_CENTER": 23,
|
||||
"KEYCODE_DPAD_DOWN": 20,
|
||||
"KEYCODE_DPAD_LEFT": 21,
|
||||
"KEYCODE_DPAD_RIGHT": 22,
|
||||
"KEYCODE_DPAD_UP": 19,
|
||||
"KEYCODE_DVR": 173,
|
||||
"KEYCODE_E": 33,
|
||||
"KEYCODE_EISU": 212,
|
||||
"KEYCODE_ENDCALL": 6,
|
||||
"KEYCODE_ENTER": 66,
|
||||
"KEYCODE_ENVELOPE": 65,
|
||||
"KEYCODE_EQUALS": 70,
|
||||
"KEYCODE_ESCAPE": 111,
|
||||
"KEYCODE_EXPLORER": 64,
|
||||
"KEYCODE_F": 34,
|
||||
"KEYCODE_F1": 131,
|
||||
"KEYCODE_F10": 140,
|
||||
"KEYCODE_F11": 141,
|
||||
"KEYCODE_F12": 142,
|
||||
"KEYCODE_F2": 132,
|
||||
"KEYCODE_F3": 133,
|
||||
"KEYCODE_F4": 134,
|
||||
"KEYCODE_F5": 135,
|
||||
"KEYCODE_F6": 136,
|
||||
"KEYCODE_F7": 137,
|
||||
"KEYCODE_F8": 138,
|
||||
"KEYCODE_F9": 139,
|
||||
"KEYCODE_FOCUS": 80,
|
||||
"KEYCODE_FORWARD": 125,
|
||||
"KEYCODE_FORWARD_DEL": 112,
|
||||
"KEYCODE_FUNCTION": 119,
|
||||
"KEYCODE_G": 35,
|
||||
"KEYCODE_GRAVE": 68,
|
||||
"KEYCODE_GUIDE": 172,
|
||||
"KEYCODE_H": 36,
|
||||
"KEYCODE_HEADSETHOOK": 79,
|
||||
"KEYCODE_HENKAN": 214,
|
||||
"KEYCODE_HOME": 3,
|
||||
"KEYCODE_I": 37,
|
||||
"KEYCODE_INFO": 165,
|
||||
"KEYCODE_INSERT": 124,
|
||||
"KEYCODE_J": 38,
|
||||
"KEYCODE_K": 39,
|
||||
"KEYCODE_KANA": 218,
|
||||
"KEYCODE_KATAKANA_HIRAGANA": 215,
|
||||
"KEYCODE_L": 40,
|
||||
"KEYCODE_LANGUAGE_SWITCH": 204,
|
||||
"KEYCODE_LEFT_BRACKET": 71,
|
||||
"KEYCODE_M": 41,
|
||||
"KEYCODE_MANNER_MODE": 205,
|
||||
"KEYCODE_MEDIA_CLOSE": 128,
|
||||
"KEYCODE_MEDIA_EJECT": 129,
|
||||
"KEYCODE_MEDIA_FAST_FORWARD": 90,
|
||||
"KEYCODE_MEDIA_NEXT": 87,
|
||||
"KEYCODE_MEDIA_PAUSE": 127,
|
||||
"KEYCODE_MEDIA_PLAY": 126,
|
||||
"KEYCODE_MEDIA_PLAY_PAUSE": 85,
|
||||
"KEYCODE_MEDIA_PREVIOUS": 88,
|
||||
"KEYCODE_MEDIA_RECORD": 130,
|
||||
"KEYCODE_MEDIA_REWIND": 89,
|
||||
"KEYCODE_MEDIA_STOP": 86,
|
||||
"KEYCODE_MENU": 82,
|
||||
"KEYCODE_META_LEFT": 117,
|
||||
"KEYCODE_META_RIGHT": 118,
|
||||
"KEYCODE_MINUS": 69,
|
||||
"KEYCODE_MOVE_END": 123,
|
||||
"KEYCODE_MOVE_HOME": 122,
|
||||
"KEYCODE_MUHENKAN": 213,
|
||||
"KEYCODE_MUSIC": 209,
|
||||
"KEYCODE_MUTE": 91,
|
||||
"KEYCODE_N": 42,
|
||||
"KEYCODE_NOTIFICATION": 83,
|
||||
"KEYCODE_NUM": 78,
|
||||
"KEYCODE_NUMPAD_0": 144,
|
||||
"KEYCODE_NUMPAD_1": 145,
|
||||
"KEYCODE_NUMPAD_2": 146,
|
||||
"KEYCODE_NUMPAD_3": 147,
|
||||
"KEYCODE_NUMPAD_4": 148,
|
||||
"KEYCODE_NUMPAD_5": 149,
|
||||
"KEYCODE_NUMPAD_6": 150,
|
||||
"KEYCODE_NUMPAD_7": 151,
|
||||
"KEYCODE_NUMPAD_8": 152,
|
||||
"KEYCODE_NUMPAD_9": 153,
|
||||
"KEYCODE_NUMPAD_ADD": 157,
|
||||
"KEYCODE_NUMPAD_COMMA": 159,
|
||||
"KEYCODE_NUMPAD_DIVIDE": 154,
|
||||
"KEYCODE_NUMPAD_DOT": 158,
|
||||
"KEYCODE_NUMPAD_ENTER": 160,
|
||||
"KEYCODE_NUMPAD_EQUALS": 161,
|
||||
"KEYCODE_NUMPAD_LEFT_PAREN": 162,
|
||||
"KEYCODE_NUMPAD_MULTIPLY": 155,
|
||||
"KEYCODE_NUMPAD_RIGHT_PAREN": 163,
|
||||
"KEYCODE_NUMPAD_SUBTRACT": 156,
|
||||
"KEYCODE_NUM_LOCK": 143,
|
||||
"KEYCODE_O": 43,
|
||||
"KEYCODE_P": 44,
|
||||
"KEYCODE_PAGE_DOWN": 93,
|
||||
"KEYCODE_PAGE_UP": 92,
|
||||
"KEYCODE_PERIOD": 56,
|
||||
"KEYCODE_PICTSYMBOLS": 94,
|
||||
"KEYCODE_PLUS": 81,
|
||||
"KEYCODE_POUND": 18,
|
||||
"KEYCODE_POWER": 26,
|
||||
"KEYCODE_PROG_BLUE": 186,
|
||||
"KEYCODE_PROG_GREEN": 184,
|
||||
"KEYCODE_PROG_RED": 183,
|
||||
"KEYCODE_PROG_YELLOW": 185,
|
||||
"KEYCODE_Q": 45,
|
||||
"KEYCODE_R": 46,
|
||||
"KEYCODE_RIGHT_BRACKET": 72,
|
||||
"KEYCODE_RO": 217,
|
||||
"KEYCODE_S": 47,
|
||||
"KEYCODE_SCROLL_LOCK": 116,
|
||||
"KEYCODE_SEARCH": 84,
|
||||
"KEYCODE_SEMICOLON": 74,
|
||||
"KEYCODE_SETTINGS": 176,
|
||||
"KEYCODE_SHIFT_LEFT": 59,
|
||||
"KEYCODE_SHIFT_RIGHT": 60,
|
||||
"KEYCODE_SLASH": 76,
|
||||
"KEYCODE_SOFT_LEFT": 1,
|
||||
"KEYCODE_SOFT_RIGHT": 2,
|
||||
"KEYCODE_SPACE": 62,
|
||||
"KEYCODE_STAR": 17,
|
||||
"KEYCODE_STB_INPUT": 180,
|
||||
"KEYCODE_STB_POWER": 179,
|
||||
"KEYCODE_SWITCH_CHARSET": 95,
|
||||
"KEYCODE_SYM": 63,
|
||||
"KEYCODE_SYSRQ": 120,
|
||||
"KEYCODE_T": 48,
|
||||
"KEYCODE_TAB": 61,
|
||||
"KEYCODE_TV": 170,
|
||||
"KEYCODE_TV_INPUT": 178,
|
||||
"KEYCODE_TV_POWER": 177,
|
||||
"KEYCODE_U": 49,
|
||||
"KEYCODE_UNKNOWN": 0,
|
||||
"KEYCODE_V": 50,
|
||||
"KEYCODE_VOLUME_DOWN": 25,
|
||||
"KEYCODE_VOLUME_MUTE": 164,
|
||||
"KEYCODE_VOLUME_UP": 24,
|
||||
"KEYCODE_W": 51,
|
||||
"KEYCODE_WINDOW": 171,
|
||||
"KEYCODE_X": 52,
|
||||
"KEYCODE_Y": 53,
|
||||
"KEYCODE_YEN": 216,
|
||||
"KEYCODE_Z": 54,
|
||||
"KEYCODE_ZENKAKU_HANKAKU": 211,
|
||||
"KEYCODE_ZOOM_IN": 168,
|
||||
"KEYCODE_ZOOM_OUT": 169
|
||||
}
|
||||
10
res/app/components/stf/keycodes/index.js
Normal file
10
res/app/components/stf/keycodes/index.js
Normal file
@@ -0,0 +1,10 @@
|
||||
module.exports = angular.module('stf.keycodes', [
|
||||
|
||||
])
|
||||
.factory('KeycodesAndroid', function () {
|
||||
return require('./android/index.json')
|
||||
})
|
||||
.factory('KeycodesJS', function () {
|
||||
return require('./android/index.json')
|
||||
})
|
||||
.factory('KeycodesService', require('./keycodes-service'))
|
||||
103
res/app/components/stf/keycodes/js/index.json
Normal file
103
res/app/components/stf/keycodes/js/index.json
Normal file
@@ -0,0 +1,103 @@
|
||||
{
|
||||
"0": 48,
|
||||
"1": 49,
|
||||
"2": 50,
|
||||
"3": 51,
|
||||
"4": 52,
|
||||
"5": 53,
|
||||
"6": 54,
|
||||
"7": 55,
|
||||
"8": 56,
|
||||
"9": 57,
|
||||
"A": 65,
|
||||
"ADD": 107,
|
||||
"ALT": 18,
|
||||
"ALT_RIGHT": 17,
|
||||
"B": 66,
|
||||
"BACKSLASH": 220,
|
||||
"BACKSPACE": 8,
|
||||
"C": 67,
|
||||
"CAPS_LOCK": 20,
|
||||
"CLOSE_BRACKET": 221,
|
||||
"COMMA": 188,
|
||||
"CTRL": 17,
|
||||
"CTRL_RIGHT": 18,
|
||||
"D": 68,
|
||||
"DASH": 189,
|
||||
"DECIMAL_POINT": 110,
|
||||
"DELETE": 46,
|
||||
"DIVIDE": 111,
|
||||
"DOWN": 40,
|
||||
"E": 69,
|
||||
"END": 35,
|
||||
"ENTER": 13,
|
||||
"EQUAL_SIGN": 187,
|
||||
"ESCAPE": 27,
|
||||
"F": 70,
|
||||
"F1": 112,
|
||||
"F10": 121,
|
||||
"F11": 122,
|
||||
"F12": 123,
|
||||
"F2": 113,
|
||||
"F3": 114,
|
||||
"F4": 115,
|
||||
"F5": 116,
|
||||
"F6": 117,
|
||||
"F7": 118,
|
||||
"F8": 119,
|
||||
"F9": 120,
|
||||
"G": 71,
|
||||
"GRAVE_ACCENT": 192,
|
||||
"H": 72,
|
||||
"HOME": 36,
|
||||
"I": 73,
|
||||
"INSERT": 45,
|
||||
"J": 74,
|
||||
"K": 75,
|
||||
"L": 76,
|
||||
"LEFT": 37,
|
||||
"LEFT_WINDOW": 91,
|
||||
"M": 77,
|
||||
"MULTIPLY": 106,
|
||||
"N": 78,
|
||||
"NUMPAD_0": 96,
|
||||
"NUMPAD_1": 97,
|
||||
"NUMPAD_2": 98,
|
||||
"NUMPAD_3": 99,
|
||||
"NUMPAD_4": 100,
|
||||
"NUMPAD_5": 101,
|
||||
"NUMPAD_6": 102,
|
||||
"NUMPAD_7": 103,
|
||||
"NUMPAD_8": 104,
|
||||
"NUMPAD_9": 105,
|
||||
"NUM_LOCK": 144,
|
||||
"O": 79,
|
||||
"OPEN_BRACKET": 219,
|
||||
"P": 80,
|
||||
"PAGE_DOWN": 34,
|
||||
"PAGE_UP": 33,
|
||||
"PAUSE_BREAK": 19,
|
||||
"PERIOD": 190,
|
||||
"Q": 81,
|
||||
"R": 82,
|
||||
"RIGHT": 39,
|
||||
"RIGHT_WINDOW": 92,
|
||||
"S": 83,
|
||||
"SCROLL_LOCK": 145,
|
||||
"SELECT_KEY": 93,
|
||||
"SEMICOLON": 186,
|
||||
"SHIFT": 16,
|
||||
"SINGLE_QUOTE": 222,
|
||||
"SLASH": 191,
|
||||
"SPACE": 32,
|
||||
"SUBTRACT": 109,
|
||||
"T": 84,
|
||||
"TAB": 9,
|
||||
"U": 85,
|
||||
"UP": 38,
|
||||
"V": 86,
|
||||
"W": 87,
|
||||
"X": 88,
|
||||
"Y": 89,
|
||||
"Z": 90
|
||||
}
|
||||
83
res/app/components/stf/keycodes/keycodes-service.js
Normal file
83
res/app/components/stf/keycodes/keycodes-service.js
Normal file
@@ -0,0 +1,83 @@
|
||||
module.exports = function KeycodesServiceFactory(KeycodesAndroid, KeycodesJS) {
|
||||
var service = {}
|
||||
|
||||
var a = KeycodesAndroid
|
||||
var j = KeycodesJS
|
||||
var androidMap = [
|
||||
[j.ENTER, a.KEYCODE_ENTER],
|
||||
[j.SPACE, a.KEYCODE_SPACE],
|
||||
[j.DELETE, a.KEYCODE_DEL],
|
||||
[j.ESCAPE, a.KEYCODE_ESCAPE],
|
||||
[j.BACKSPACE, a.KEYCODE_DEL],
|
||||
[j.TAB, a.KEYCODE_TAB],
|
||||
[j.SHIFT, a.KEYCODE_SHIFT_LEFT],
|
||||
[j.CAPS_LOCK, a.KEYCODE_CAPS_LOCK],
|
||||
[j.SLASH, a.KEYCODE_SLASH],
|
||||
[j.BACKSLASH, a.KEYCODE_BACKSLASH],
|
||||
[j.COMMA, a.KEYCODE_COMMA],
|
||||
[j.PERIOD, a.KEYCODE_PERIOD],
|
||||
[j.SEMICOLON, a.KEYCODE_SEMICOLON],
|
||||
[j.PAGE_UP, a.KEYCODE_PAGE_UP],
|
||||
[j.PAGE_DOWN, a.KEYCODE_PAGE_DOWN],
|
||||
// [j.LEFT_WINDOW, a.KEYCODE_RO],
|
||||
// [j.SELECT_KEY, a.KEYCODE_KANA],
|
||||
[j.HOME, a.KEYCODE_MOVE_HOME],
|
||||
[j.END, a.KEYCODE_MOVE_END],
|
||||
[j.UP, a.KEYCODE_DPAD_UP],
|
||||
[j.DOWN, a.KEYCODE_DPAD_DOWN],
|
||||
[j.LEFT, a.KEYCODE_DPAD_LEFT],
|
||||
[j.RIGHT, a.KEYCODE_DPAD_RIGHT],
|
||||
[j.F3, a.KEYCODE_POWER],
|
||||
[j.F7, a.KEYCODE_MEDIA_PREVIOUS],
|
||||
[j.F8, a.KEYCODE_MEDIA_PLAY_PAUSE],
|
||||
[j.F9, a.KEYCODE_MEDIA_NEXT],
|
||||
[j.F10, a.KEYCODE_VOLUME_MUTE],
|
||||
[j.F11, a.KEYCODE_VOLUME_DOWN],
|
||||
[j.F12, a.KEYCODE_VOLUME_UP],
|
||||
[j.NUMPAD_0, a.KEYCODE_NUMPAD_0],
|
||||
[j.NUMPAD_1, a.KEYCODE_NUMPAD_1],
|
||||
[j.NUMPAD_2, a.KEYCODE_NUMPAD_2],
|
||||
[j.NUMPAD_3, a.KEYCODE_NUMPAD_3],
|
||||
[j.NUMPAD_4, a.KEYCODE_NUMPAD_4],
|
||||
[j.NUMPAD_5, a.KEYCODE_NUMPAD_5],
|
||||
[j.NUMPAD_6, a.KEYCODE_NUMPAD_6],
|
||||
[j.NUMPAD_7, a.KEYCODE_NUMPAD_7],
|
||||
[j.NUMPAD_8, a.KEYCODE_NUMPAD_8],
|
||||
[j.NUMPAD_9, a.KEYCODE_NUMPAD_9],
|
||||
[j.MULTIPLY, a.KEYCODE_NUMPAD_MULTIPLY],
|
||||
[j.ADD, a.KEYCODE_NUMPAD_ADD],
|
||||
[j.SUBTRACT, a.KEYCODE_NUMPAD_SUBTRACT],
|
||||
[j.DECIMAL_POINT, a.KEYCODE_NUMPAD_DOT],
|
||||
[j.DIVIDE, a.KEYCODE_NUMPAD_DIVIDE],
|
||||
[j.EQUAL_SIGN, a.KEYCODE_EQUALS],
|
||||
[j.DASH, a.KEYCODE_MINUS],
|
||||
[j.GRAVE_ACCENT, a.KEYCODE_GRAVE],
|
||||
[j.OPEN_BRACKET, a.KEYCODE_LEFT_BRACKET],
|
||||
[j.CLOSE_BRACKET, a.KEYCODE_RIGHT_BRACKET],
|
||||
[j.SINGLE_QUOTE, a.KEYCODE_APOSTROPHE]
|
||||
]
|
||||
|
||||
service.mapToDevice = function (keyCode) {
|
||||
return service.mapToAndroid(keyCode)
|
||||
}
|
||||
|
||||
service.mapToAndroid = function (key) {
|
||||
// All special keys
|
||||
for (var i = 0; i < androidMap.length; ++i) {
|
||||
if (androidMap[i][0] === key) {
|
||||
return androidMap[i][1]
|
||||
}
|
||||
}
|
||||
// Range of numbers and letters
|
||||
if (key >= j['0'] && key <= j['9']) {
|
||||
return key - 41 // 0-9 range
|
||||
}
|
||||
else if (key >= j.A && key <= j.Z) {
|
||||
return key - 36 // a-z range
|
||||
}
|
||||
// Key not mapped
|
||||
return -1
|
||||
}
|
||||
|
||||
return service
|
||||
}
|
||||
11
res/app/components/stf/keycodes/keycodes-spec.js
Normal file
11
res/app/components/stf/keycodes/keycodes-spec.js
Normal file
@@ -0,0 +1,11 @@
|
||||
describe('KeycodesService', function() {
|
||||
|
||||
beforeEach(module('stf.keycodes'));
|
||||
|
||||
it('should ...', inject(function(KeycodesService) {
|
||||
|
||||
//expect(KeycodesService.doSomething()).toEqual('something');
|
||||
|
||||
}));
|
||||
|
||||
})
|
||||
Reference in New Issue
Block a user