mirror of
https://github.com/openstf/stf
synced 2025-10-04 10:19:30 +02:00
Send key codes as strings for convenience.
This commit is contained in:
parent
c3965a5308
commit
eb3e7a40cc
4 changed files with 65 additions and 126 deletions
|
@ -493,22 +493,40 @@ module.exports = syrup.serial()
|
||||||
])
|
])
|
||||||
})
|
})
|
||||||
.on(wire.KeyDownMessage, function(channel, message) {
|
.on(wire.KeyDownMessage, function(channel, message) {
|
||||||
keyEvent({
|
var key = keyutil.namedKey(message.key)
|
||||||
event: apk.wire.KeyEvent.DOWN
|
if (key) {
|
||||||
, keyCode: keyutil.unwire(message.keyCode)
|
keyEvent({
|
||||||
})
|
event: apk.wire.KeyEvent.DOWN
|
||||||
|
, keyCode: key
|
||||||
|
})
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
log.warn('Ignoring unknown key "%s"', message.key)
|
||||||
|
}
|
||||||
})
|
})
|
||||||
.on(wire.KeyUpMessage, function(channel, message) {
|
.on(wire.KeyUpMessage, function(channel, message) {
|
||||||
keyEvent({
|
var key = keyutil.namedKey(message.key)
|
||||||
event: apk.wire.KeyEvent.UP
|
if (key) {
|
||||||
, keyCode: keyutil.unwire(message.keyCode)
|
keyEvent({
|
||||||
})
|
event: apk.wire.KeyEvent.UP
|
||||||
|
, keyCode: key
|
||||||
|
})
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
log.warn('Ignoring unknown key "%s"', message.key)
|
||||||
|
}
|
||||||
})
|
})
|
||||||
.on(wire.KeyPressMessage, function(channel, message) {
|
.on(wire.KeyPressMessage, function(channel, message) {
|
||||||
keyEvent({
|
var key = keyutil.namedKey(message.key)
|
||||||
event: apk.wire.KeyEvent.PRESS
|
if (key) {
|
||||||
, keyCode: keyutil.unwire(message.keyCode)
|
keyEvent({
|
||||||
})
|
event: apk.wire.KeyEvent.PRESS
|
||||||
|
, keyCode: key
|
||||||
|
})
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
log.warn('Ignoring unknown key "%s"', message.key)
|
||||||
|
}
|
||||||
})
|
})
|
||||||
.on(wire.TypeMessage, function(channel, message) {
|
.on(wire.TypeMessage, function(channel, message) {
|
||||||
plugin.type(message.text)
|
plugin.type(message.text)
|
||||||
|
|
|
@ -572,48 +572,3 @@ keyutil.buildCharMap = function(keymap) {
|
||||||
|
|
||||||
return charmap
|
return charmap
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
keyutil.unwire = (function() {
|
|
||||||
var map = Object.create(null)
|
|
||||||
|
|
||||||
map[wire.KeyCode.HOME] = keyutil.namedKey('home')
|
|
||||||
map[wire.KeyCode.BACK] = keyutil.namedKey('back')
|
|
||||||
map[wire.KeyCode.BACKSPACE] = keyutil.namedKey('del')
|
|
||||||
map[wire.KeyCode.TAB] = keyutil.namedKey('tab')
|
|
||||||
map[wire.KeyCode.ENTER] = keyutil.namedKey('enter')
|
|
||||||
map[wire.KeyCode.CAPS_LOCK] = keyutil.namedKey('caps_lock')
|
|
||||||
map[wire.KeyCode.ESC] = keyutil.namedKey('escape')
|
|
||||||
map[wire.KeyCode.PAGE_UP] = keyutil.namedKey('page_up')
|
|
||||||
map[wire.KeyCode.PAGE_DOWN] = keyutil.namedKey('page_down')
|
|
||||||
map[wire.KeyCode.MOVE_END] = keyutil.namedKey('move_end')
|
|
||||||
map[wire.KeyCode.MOVE_HOME] = keyutil.namedKey('move_home')
|
|
||||||
map[wire.KeyCode.LEFT_ARROW] = keyutil.namedKey('dpad_left')
|
|
||||||
map[wire.KeyCode.UP_ARROW] = keyutil.namedKey('dpad_up')
|
|
||||||
map[wire.KeyCode.RIGHT_ARROW] = keyutil.namedKey('dpad_right')
|
|
||||||
map[wire.KeyCode.DOWN_ARROW] = keyutil.namedKey('dpad_down')
|
|
||||||
map[wire.KeyCode.INSERT] = keyutil.namedKey('insert')
|
|
||||||
map[wire.KeyCode.DELETE] = keyutil.namedKey('forward_del')
|
|
||||||
map[wire.KeyCode.MENU] = keyutil.namedKey('menu')
|
|
||||||
map[wire.KeyCode.F1] = keyutil.namedKey('f1')
|
|
||||||
map[wire.KeyCode.F2] = keyutil.namedKey('f2')
|
|
||||||
map[wire.KeyCode.F3] = keyutil.namedKey('f3')
|
|
||||||
map[wire.KeyCode.F4] = keyutil.namedKey('f4')
|
|
||||||
map[wire.KeyCode.F5] = keyutil.namedKey('f5')
|
|
||||||
map[wire.KeyCode.F6] = keyutil.namedKey('f6')
|
|
||||||
map[wire.KeyCode.F7] = keyutil.namedKey('f7')
|
|
||||||
map[wire.KeyCode.F8] = keyutil.namedKey('f8')
|
|
||||||
map[wire.KeyCode.F9] = keyutil.namedKey('f9')
|
|
||||||
map[wire.KeyCode.F10] = keyutil.namedKey('f10')
|
|
||||||
map[wire.KeyCode.F11] = keyutil.namedKey('f11')
|
|
||||||
map[wire.KeyCode.F12] = keyutil.namedKey('f12')
|
|
||||||
map[wire.KeyCode.NUM_LOCK] = keyutil.namedKey('num_lock')
|
|
||||||
|
|
||||||
return function(keyCode) {
|
|
||||||
var key = map[keyCode]
|
|
||||||
if (!key) {
|
|
||||||
throw new Error(util.format('Unknown keycode "%s"', keyCode))
|
|
||||||
}
|
|
||||||
return key
|
|
||||||
}
|
|
||||||
})()
|
|
||||||
|
|
|
@ -268,50 +268,16 @@ message PasteMessage {
|
||||||
message CopyMessage {
|
message CopyMessage {
|
||||||
}
|
}
|
||||||
|
|
||||||
enum KeyCode {
|
|
||||||
HOME = 3;
|
|
||||||
BACK = 4;
|
|
||||||
BACKSPACE = 8;
|
|
||||||
TAB = 9;
|
|
||||||
ENTER = 13;
|
|
||||||
CAPS_LOCK = 20;
|
|
||||||
ESC = 27;
|
|
||||||
PAGE_UP = 33;
|
|
||||||
PAGE_DOWN = 34;
|
|
||||||
MOVE_END = 35;
|
|
||||||
MOVE_HOME = 36;
|
|
||||||
LEFT_ARROW = 37;
|
|
||||||
UP_ARROW = 38;
|
|
||||||
RIGHT_ARROW = 39;
|
|
||||||
DOWN_ARROW = 40;
|
|
||||||
INSERT = 45;
|
|
||||||
DELETE = 46;
|
|
||||||
MENU = 93;
|
|
||||||
F1 = 112;
|
|
||||||
F2 = 113;
|
|
||||||
F3 = 114;
|
|
||||||
F4 = 115;
|
|
||||||
F5 = 116;
|
|
||||||
F6 = 117;
|
|
||||||
F7 = 118;
|
|
||||||
F8 = 119;
|
|
||||||
F9 = 120;
|
|
||||||
F10 = 121;
|
|
||||||
F11 = 122;
|
|
||||||
F12 = 123;
|
|
||||||
NUM_LOCK = 144;
|
|
||||||
}
|
|
||||||
|
|
||||||
message KeyDownMessage {
|
message KeyDownMessage {
|
||||||
required KeyCode keyCode = 1;
|
required string key = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
message KeyUpMessage {
|
message KeyUpMessage {
|
||||||
required KeyCode keyCode = 1;
|
required string key = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
message KeyPressMessage {
|
message KeyPressMessage {
|
||||||
required KeyCode keyCode = 1;
|
required string key = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Output
|
// Output
|
||||||
|
|
|
@ -11,35 +11,35 @@ module.exports = function ControlServiceFactory(
|
||||||
|
|
||||||
function ControlService(target, channel) {
|
function ControlService(target, channel) {
|
||||||
var keyCodes = {
|
var keyCodes = {
|
||||||
8: 8 // backspace
|
8: 'del' // backspace
|
||||||
, 9: 9 // tab
|
, 9: 'tab' // tab
|
||||||
, 13: 13 // enter
|
, 13: 'enter' // enter
|
||||||
, 20: 20 // caps lock
|
, 20: 'caps_lock' // caps lock
|
||||||
, 27: 27 // esc
|
, 27: 'escape' // esc
|
||||||
, 33: 33 // page up
|
, 33: 'page_up' // page up
|
||||||
, 34: 34 // page down
|
, 34: 'page_down' // page down
|
||||||
, 35: 35 // end
|
, 35: 'move_end' // end
|
||||||
, 36: 36 // home
|
, 36: 'move_home' // home
|
||||||
, 37: 37 // left arrow
|
, 37: 'dpad_left' // left arrow
|
||||||
, 38: 38 // up arrow
|
, 38: 'dpad_up' // up arrow
|
||||||
, 39: 39 // right arrow
|
, 39: 'dpad_right' // right arrow
|
||||||
, 40: 40 // down arrow
|
, 40: 'dpad_down' // down arrow
|
||||||
, 45: 45 // insert
|
, 45: 'insert' // insert
|
||||||
, 46: 46 // delete
|
, 46: 'forward_del' // delete
|
||||||
, 93: 93 // windows menu key
|
, 93: 'menu' // windows menu key
|
||||||
, 112: 112 // f1
|
, 112: 'f1' // f1
|
||||||
, 113: 113 // f2
|
, 113: 'f2' // f2
|
||||||
, 114: 114 // f3
|
, 114: 'f3' // f3
|
||||||
, 115: 115 // f4
|
, 115: 'f4' // f4
|
||||||
, 116: 116 // f5
|
, 116: 'f5' // f5
|
||||||
, 117: 117 // f6
|
, 117: 'f6' // f6
|
||||||
, 118: 118 // f7
|
, 118: 'f7' // f7
|
||||||
, 119: 119 // f8
|
, 119: 'f8' // f8
|
||||||
, 120: 120 // f9
|
, 120: 'f9' // f9
|
||||||
, 121: 121 // f10
|
, 121: 'f10' // f10
|
||||||
, 122: 122 // f11
|
, 122: 'f11' // f11
|
||||||
, 123: 123 // f12
|
, 123: 'f12' // f12
|
||||||
, 144: 144 // num lock
|
, 144: 'num_lock' // num lock
|
||||||
}
|
}
|
||||||
|
|
||||||
function sendOneWay(action, data) {
|
function sendOneWay(action, data) {
|
||||||
|
@ -87,9 +87,9 @@ module.exports = function ControlServiceFactory(
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
this.home = keySender('input.keyPress', 3)
|
this.home = keySender('input.keyPress', 'home')
|
||||||
this.menu = keySender('input.keyPress', 93)
|
this.menu = keySender('input.keyPress', 'menu')
|
||||||
this.back = keySender('input.keyPress', 4)
|
this.back = keySender('input.keyPress', 'back')
|
||||||
|
|
||||||
this.type = function(text) {
|
this.type = function(text) {
|
||||||
return sendOneWay('input.type', {
|
return sendOneWay('input.type', {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue