mirror of
https://github.com/Ylianst/MeshCentral.git
synced 2024-12-22 13:21:31 +03:00
All new mesh agents for all platforms..
This commit is contained in:
parent
b9eff75127
commit
c1aa77c5dd
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -20,6 +20,7 @@ var agents = {
|
||||
'meshagent_mips24kc': 28,
|
||||
'meshagent_osx-arm-64': 29,
|
||||
'meshagent_freebsd_x86-64': 30,
|
||||
'meshagent_mipsel24kc': 40,
|
||||
'meshagent_osx-universal-64': 10005
|
||||
}
|
||||
|
||||
|
@ -1,41 +1,43 @@
|
||||
3: MeshService-signed.exe
|
||||
C5A3A0E72CB84A63D143AB1EBD252806C744F7FEF836C046D2248DABC620C011A8A17F6C206A7D05B590C29BD6CB13FB
|
||||
D04F8B16986ADB1BFF47BDDD59F46340383D11CD41D6469BB00389CF13D0D83F9B4D888A3ED3786D64B6ADC02A0C0F8B
|
||||
4: MeshService64-signed.exe
|
||||
B81478F62DEA3689060CC8CAB88472700D2EFFE9CE746FBA0DA4C8B0463B313C0E93E8E9915533917EA2FA975A43EF80
|
||||
5BB4C3A33DDA9969DCB09D49CCC03BDADADF0AE92C2C6B4CDEDC15ADDEF3E7610692AA9A9D035D5394FF366E01583143
|
||||
5: meshagent_x86
|
||||
A7380290EB6FADE9959F7350B3968CC9E30E651C521FD7E0B70A57E1FE6BB62B35F56A31F2753D374D4A2F9FF0384A88
|
||||
2BA71A13889CB8122F692C08F7E584105AC1F06F35B76626250193A802E38758C64631D8D21E368E1DD4C7979BCD2737
|
||||
6: meshagent_x86-64
|
||||
C257887C2B841C1FB11DDE43D7B1613221E5B8587AF18017B209D53179385F13E1E033E39CADF2468FAB215D9AC0BBD6
|
||||
C0976857CF0DD1CF3C351BBC3600B01F44C37320E55C560B80FFE4C210DAB3F3679D00B783F9D71220AE8B4EB8CC2C3D
|
||||
9: meshagent_arm
|
||||
C32755B0D81ABC75E0280DFE9B8DB1BB0BB5BAA427D3B56DBAE3F1C82EDCD47F8D41D976B868B45DE44F8C17E9F3DF8E
|
||||
D9712B3887D0CFC42AB34AA5F20CFF6DEA365763D15AB9AB96944A4C4D79397A6739B2655FE7A43D9E682365AEA1D04C
|
||||
7: meshagent_mips
|
||||
0507248CDB453A4A39118FBDBDD97DFDD0D352FEABB921B41805B7FB9625944C1D5CE8052DEB3D85D62595BF38C7285D
|
||||
B1BBA76A882A94DDBA7495C47E12D08084E8DF4FBDC42B845D3EDA8251619E09C2711A86938709F7632A74CEBCB2E0BD
|
||||
13: meshagent_pogo
|
||||
813FA30DC7E621847E86FA0D46CE93F26C437434DDDC9D4310C3DAD753522DBA5093F9B30614C10DFC85CC0C8E47C147
|
||||
3446406EBC932C86FDBE1E1CE4054C69CFB0205BAA628637A6FF9EC0D7FD9F5D4E367DDC7176BD6C8BBB403C56B2F417
|
||||
15: meshagent_poky
|
||||
9A00421800BA4D1BC33BCB92F75CFBB4F89ADBEB226B3511231D6A43193AF725BD9671A0B575EA31E62E80BE97C31BDF
|
||||
BFAB371D470FEDD71F596A70C1644F1B9C26A63C02CB7C9FEEBD6DE7BE8E4DD3626E82584DE9AE6A0C5C16B87C0F8AC2
|
||||
16: meshagent_osx-x86-64
|
||||
2C38C6485EFAF676939115D95DCA6A2940869877AEE94141205AC3B0B4BB0A2824E243E36364B57FA1F382A637008C47
|
||||
7557D0B215D3515A42A34E785B6E2FED7B6DA080C95110D9E2C39AC5E51B3CC7ECDBDB6C35D74976F2035EBCF3C243D4
|
||||
18: meshagent_poky64
|
||||
A88917ACF1D8F10C8010D4D559D05AAD80E2734028DF62519ADAC6D698CF9876979E4B8C18E90136EA702583077A84C5
|
||||
BDFEDE77C241042383D321019999D8BAFC2CAE9F3EC7F624FE010BC4143D22A1247011184E303AA66F3AD5E26ABCAA1A
|
||||
19: meshagent_x86_nokvm
|
||||
E15237BA64E133A7FC195715B1AFC83E0E78D1989D41AF2A078A32C33F4649CD3028C98E4B96EE331C9375ECE83BB0DF
|
||||
325002F2672CB7E6796149519D1C57CEABF20590CC0AD1E216C68829F3A0233184E45E4E86ED6377BB1F2BB0FB3421AF
|
||||
20: meshagent_x86-64_nokvm
|
||||
0636C2229A637ED1E7052C4F4D51911AA268F409C896FFF3132C7E579D80619DE2761EEA7312AA61402929201BEFD4DE
|
||||
0E3B0B1B4B20AF17FC2ED6F533704C870C5F5E7BFAE05AF4DBA300CBF9F314857858FC5C8CC4B5239EEF5161D0CCE370
|
||||
24: meshagent_arm-linaro
|
||||
8FACABD8642C81B6384B3FBCA13229ABEF9E437C99573AB02772AD99BD7AAEDBB890FECB2701E795A80A4CDE270E11E1
|
||||
7DAB24A6E91C7C487917DB0AEFC64355741831F44A8BB03ADDE894AC5245AFE1CB579622D4AB91C6D54EC0F277F316B1
|
||||
25: meshagent_armhf
|
||||
A6379984018A32037918FEF6E2A98EA74F19084C360AB86A75AF961F190B55145C1990D8928710A52A60C3838D44E4DE
|
||||
B7EF3319345E087B30A659217045AB1113700E699D2DF323B21CC2686EEA40CC026F4D5360FDAEDE83A729E24ACD0356
|
||||
26: meshagent_arm64
|
||||
30DD71FCAF2AFA658D17ADCCEFDF3CC49710FA0B924F913AB3404FF52EC30C0DD0FD04EB7B44DF5F7A7B12B0E9210857
|
||||
4D6DC7639CC08125826CE1533C1521AE2851DDA9A86AEC5BA49A119EB83EBBE97FE84BF47339319487B8284CA94ADC6B
|
||||
27: meshagent_armhf2
|
||||
705ECB4FAECE84532D7342F9967558C3D2453498253ED6D88BACCEA63840DE0561BA8EEB024D3F17CBA45B66BB6FF592
|
||||
C5DE4DEFE076565AEE46C3E18AE8230E99BB48B80408FC258391984F4FCFFC0B4FA4A021A1E6F257E3FFBF6A3CD5E1AA
|
||||
28: meshagent_mips24kc
|
||||
E1BC0CEF35D1632E8E05DC200C1B8E6C8C8DB46528CCB7DDE90BFF13AA31FBB7082D7E9AF0E9BE133948FFE543EC319B
|
||||
B5F6381B6E1B27B96B6E2DD4311A1B9F72ADE517E91E8C4F90BD96AA0DAAFF683F6F0D3D7C85C064FD7537040CF7A155
|
||||
29: meshagent_osx-arm-64
|
||||
FCB0289AC41FADA104A3384CF0C1F1E4ACDCD1FA2C159184E188B0C0AC08AACF60D68259B158F0B8531569B34B015421
|
||||
E0AD07AF070BDD0C06B8A7C0066748AF98A5FE4456166460783C66F37B30492E1FE3C9E3F8F23937C8088D17E760E4A8
|
||||
30: meshagent_freebsd_x86-64
|
||||
5415F85F6CCE836FD22D3D5B5C5EC01EED4049FCA0B1594D9EFD4B3376FB8EA7AB58DF8DF38BFA1F27489772751BEF60
|
||||
8F101BD69F85A6F55517113B9BAC860ECF45FA002B141095023C258A677C057BB9A3E9EEF45CBAA69CCDC8F92AF41BBD
|
||||
40: meshagent_mipsel24kc
|
||||
F8E9A1FC4554A94E02B73B9E726C5467E73A41B899EDAD469606B2B0879FF4F200CDD7BAD45A4BE979EF8B8CF706843D
|
||||
10005: meshagent_osx-universal-64
|
||||
E96593397A9E2ACA86C6CB71C0C352F80F8918AFB593C147F64EF4E9DDF105C9780D66459DA21D8C761C9D55B4D52D4E
|
||||
551B21C162F8C60575C741B45C6C068B6AD7A53299C521D1D61F7239EC2A6EAE917ED948FD5F0EBB5D19ECB40602C227
|
||||
|
||||
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
agents/meshagent_mipsel24kc
Normal file
BIN
agents/meshagent_mipsel24kc
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -2339,6 +2339,7 @@ function CreateMeshCentralServer(config, args) {
|
||||
28: { id: 28, localname: 'meshagent_mips24kc', rname: 'meshagent', desc: 'Linux MIPS24KC (OpenWRT)', update: true, amt: false, platform: 'linux', core: 'linux-noamt', rcore: 'linux-recovery', arcore: 'linux-agentrecovery' }, // MIPS Router with OpenWRT
|
||||
29: { id: 29, localname: 'meshagent_osx-arm-64', rname: 'meshagent', desc: 'Apple macOS ARM-64', update: true, amt: false, platform: 'osx', core: 'linux-noamt', rcore: 'linux-recovery', arcore: 'linux-agentrecovery' }, // Apple Silicon ARM 64bit
|
||||
30: { id: 30, localname: 'meshagent_freebsd_x86-64', rname: 'meshagent', desc: 'FreeBSD x86-64', update: true, amt: false, platform: 'freebsd', core: 'linux-noamt', rcore: 'linux-recovery', arcore: 'linux-agentrecovery' }, // FreeBSD x64
|
||||
40: { id: 28, localname: 'meshagent_mipsel24kc', rname: 'meshagent', desc: 'Linux MIPSEL24KC (OpenWRT)', update: true, amt: false, platform: 'linux', core: 'linux-noamt', rcore: 'linux-recovery', arcore: 'linux-agentrecovery' }, // MIPS Router with OpenWRT
|
||||
10003: { id: 3, localname: 'MeshService.exe', rname: 'meshagent.exe', desc: 'Win x86-32 service, unsigned', update: true, amt: true, platform: 'win32', core: 'windows-amt', rcore: 'linux-recovery', arcore: 'linux-agentrecovery' }, // Unsigned version of the Windows MeshAgent x86
|
||||
10004: { id: 4, localname: 'MeshService64.exe', rname: 'meshagent.exe', desc: 'Win x86-64 service, unsigned', update: true, amt: true, platform: 'win32', core: 'windows-amt', rcore: 'linux-recovery', arcore: 'linux-agentrecovery' }, // Unsigned version of the Windows MeshAgent x64
|
||||
10005: { id: 10005, localname: 'meshagent_osx-universal-64', rname: 'meshagent', desc: 'Apple macOS Universal Binary', update: true, amt: false, platform: 'osx', core: 'linux-noamt', rcore: 'linux-recovery', arcore: 'linux-agentrecovery' } // Apple Silicon + x86 universal binary
|
||||
|
@ -856,6 +856,84 @@
|
||||
"player.handlebars->p11->deskarea0->deskarea4->1->timespan"
|
||||
]
|
||||
},
|
||||
{
|
||||
"en": "0x020009",
|
||||
"xloc": [
|
||||
"default.handlebars->container->column_l->p11->deskarea0->deskarea4->3->deskkeys"
|
||||
]
|
||||
},
|
||||
{
|
||||
"en": "0x020073",
|
||||
"xloc": [
|
||||
"default.handlebars->container->column_l->p11->deskarea0->deskarea4->3->deskkeys"
|
||||
]
|
||||
},
|
||||
{
|
||||
"en": "0x080057",
|
||||
"xloc": [
|
||||
"default.handlebars->container->column_l->p11->deskarea0->deskarea4->3->deskkeys"
|
||||
]
|
||||
},
|
||||
{
|
||||
"en": "0x0A0053",
|
||||
"xloc": [
|
||||
"default.handlebars->container->column_l->p11->deskarea0->deskarea4->3->deskkeys"
|
||||
]
|
||||
},
|
||||
{
|
||||
"en": "0x100000",
|
||||
"xloc": [
|
||||
"default.handlebars->container->column_l->p11->deskarea0->deskarea4->3->deskkeys"
|
||||
]
|
||||
},
|
||||
{
|
||||
"en": "0x100025",
|
||||
"xloc": [
|
||||
"default.handlebars->container->column_l->p11->deskarea0->deskarea4->3->deskkeys"
|
||||
]
|
||||
},
|
||||
{
|
||||
"en": "0x100026",
|
||||
"xloc": [
|
||||
"default.handlebars->container->column_l->p11->deskarea0->deskarea4->3->deskkeys"
|
||||
]
|
||||
},
|
||||
{
|
||||
"en": "0x100027",
|
||||
"xloc": [
|
||||
"default.handlebars->container->column_l->p11->deskarea0->deskarea4->3->deskkeys"
|
||||
]
|
||||
},
|
||||
{
|
||||
"en": "0x100028",
|
||||
"xloc": [
|
||||
"default.handlebars->container->column_l->p11->deskarea0->deskarea4->3->deskkeys"
|
||||
]
|
||||
},
|
||||
{
|
||||
"en": "0x10004C",
|
||||
"xloc": [
|
||||
"default.handlebars->container->column_l->p11->deskarea0->deskarea4->3->deskkeys"
|
||||
]
|
||||
},
|
||||
{
|
||||
"en": "0x10004D",
|
||||
"xloc": [
|
||||
"default.handlebars->container->column_l->p11->deskarea0->deskarea4->3->deskkeys"
|
||||
]
|
||||
},
|
||||
{
|
||||
"en": "0x100052",
|
||||
"xloc": [
|
||||
"default.handlebars->container->column_l->p11->deskarea0->deskarea4->3->deskkeys"
|
||||
]
|
||||
},
|
||||
{
|
||||
"en": "0x11004D",
|
||||
"xloc": [
|
||||
"default.handlebars->container->column_l->p11->deskarea0->deskarea4->3->deskkeys"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cs": "1 aktivní relace",
|
||||
"de": "1 aktive Sitzung",
|
||||
@ -19010,7 +19088,7 @@
|
||||
"zh-cht": "輸入",
|
||||
"xloc": [
|
||||
"default-mobile.handlebars->container->page_content->column_l->p10->p10desktop->deskarea4->1->3->11->DeskControlSpan",
|
||||
"default.handlebars->container->column_l->p11->deskarea0->deskarea4->3->11->DeskControlSpan",
|
||||
"default.handlebars->container->column_l->p11->deskarea0->deskarea4->3->13->DeskControlSpan",
|
||||
"desktop.handlebars->p11->deskarea0->deskarea4->3->9->DeskControlSpan"
|
||||
]
|
||||
},
|
||||
@ -38929,7 +39007,7 @@
|
||||
"zh-chs": "切换鼠标和键盘输入",
|
||||
"zh-cht": "切換鼠標和鍵盤輸入",
|
||||
"xloc": [
|
||||
"default.handlebars->container->column_l->p11->deskarea0->deskarea4->3->11",
|
||||
"default.handlebars->container->column_l->p11->deskarea0->deskarea4->3->13",
|
||||
"desktop.handlebars->p11->deskarea0->deskarea4->3->9"
|
||||
]
|
||||
},
|
||||
|
@ -684,22 +684,21 @@
|
||||
<input id="softKeyboard" autocomplete="off" type="password" style="z-index:200;opacity:0;width:1px;height:1px" onfocus="keyboardFocusChange()" onblur="keyboardFocusChange()" onkeypress="return ondeskkeypress(event)" onkeydown="return ondeskkeydown(event)" onkeyup="return ondeskkeyup(event)" />
|
||||
</div>
|
||||
<div id="deskButtonMenu" style="display:none;position:absolute;top:10px;left:10px;right:55px;bottom:10px;z-index:1000">
|
||||
<div class="menuButton" onclick="deskMenuButton(5)">Win</div>
|
||||
<div class="menuButton" onclick="deskMenuButton(10)">Ctrl-Alt-Del</div>
|
||||
<div class="menuButton" onclick="deskMenuButton(13)">ESC</div>
|
||||
<div class="menuButton" onclick="deskMenuButton(0)">WIN + Down</div>
|
||||
<div class="menuButton" onclick="deskMenuButton(1)">WIN + Up</div>
|
||||
<div class="menuButton" onclick="deskMenuButton(2)">WIN + L</div>
|
||||
<div class="menuButton" onclick="deskMenuButton(3)">WIN + M</div>
|
||||
<div class="menuButton" onclick="deskMenuButton(4)">Shift + WIN + M</div>
|
||||
<div class="menuButton" onclick="deskMenuButton(6)">WIN + R</div>
|
||||
<div class="menuButton" onclick="deskMenuButton(7)">ALT + F4</div>
|
||||
<div class="menuButton" onclick="deskMenuButton(8)">CTRL + W</div>
|
||||
<div class="menuButton" onclick="deskMenuButton(9)">ALT + TAB</div>
|
||||
<div class="menuButton" onclick="deskMenuButton(11)">TAB</div>
|
||||
<div class="menuButton" onclick="deskMenuButton(12)">Shift + F10</div>
|
||||
<div class="menuButton" onclick="deskMenuButton(0x100000)">Win</div>
|
||||
<div class="menuButton" onclick="deskMenuButton(0x0A0053)">Ctrl-Alt-Del</div>
|
||||
<div class="menuButton" onclick="deskMenuButton(0x00001B)">ESC</div>
|
||||
<div class="menuButton" onclick="deskMenuButton(0x100028)">WIN + Down</div>
|
||||
<div class="menuButton" onclick="deskMenuButton(0x100026)">WIN + Up</div>
|
||||
<div class="menuButton" onclick="deskMenuButton(0x10004C)">WIN + L</div>
|
||||
<div class="menuButton" onclick="deskMenuButton(0x10004D)">WIN + M</div>
|
||||
<div class="menuButton" onclick="deskMenuButton(0x11004D)">Shift + WIN + M</div>
|
||||
<div class="menuButton" onclick="deskMenuButton(0x100052)">WIN + R</div>
|
||||
<div class="menuButton" onclick="deskMenuButton(0x020073)">ALT + F4</div>
|
||||
<div class="menuButton" onclick="deskMenuButton(0x080057)">CTRL + W</div>
|
||||
<div class="menuButton" onclick="deskMenuButton(0x020009)">ALT + TAB</div>
|
||||
<div class="menuButton" onclick="deskMenuButton(0x000009)">TAB</div>
|
||||
<div class="menuButton" onclick="deskMenuButton(0x010079)">Shift + F10</div>
|
||||
</div>
|
||||
|
||||
<div id=p10desktop style="overflow:hidden;position:absolute;top:55px;bottom:0px;width:100%;display:none">
|
||||
<div id=deskarea1 style="position:absolute;top:0px;width:100%;height:32px">
|
||||
<div style="padding-top:2px;padding-bottom:2px;background:#C0C0C0;height:32px">
|
||||
@ -3482,94 +3481,87 @@
|
||||
}
|
||||
|
||||
// Remote desktop special key combos for Windows
|
||||
function deskSendKeys(key) {
|
||||
function deskSendKeys(xkey) {
|
||||
if (xxdialogMode || desktop == null || desktop.State != 3) return;
|
||||
var ks = key ? key : Q('deskkeys').value;
|
||||
if (ks == 0) { // WIN + Down arrow
|
||||
if (desktop.contype == 2) {
|
||||
desktop.m.sendkey([[0xffe7, 1], [0xff54, 1], [0xff54, 0], [0xffe7, 0]]); // Intel AMT: Meta-left down, Down arrow press, Down arrow release, Meta-left release
|
||||
} else {
|
||||
desktop.m.SendKeyMsgKC([[desktop.m.KeyAction.EXDOWN, 0x5B], [desktop.m.KeyAction.DOWN, 40], [desktop.m.KeyAction.UP, 40], [desktop.m.KeyAction.EXUP, 0x5B]]); // Agent: L-Winkey press, Down arrow press, Down arrow release, L-Winkey release
|
||||
}
|
||||
} else if (ks == 1) { // WIN + Up arrow
|
||||
if (desktop.contype == 2) {
|
||||
desktop.m.sendkey([[0xffe7, 1], [0xff52, 1], [0xff52, 0], [0xffe7, 0]]); // Intel AMT: Meta-left down, Up arrow press, Up arrow release, Meta-left release
|
||||
} else {
|
||||
desktop.m.SendKeyMsgKC([[desktop.m.KeyAction.EXDOWN, 0x5B], [desktop.m.KeyAction.DOWN, 38], [desktop.m.KeyAction.UP, 38], [desktop.m.KeyAction.EXUP, 0x5B]]); // MeshAgent: L-Winkey press, Up arrow press, Up arrow release, L-Winkey release
|
||||
}
|
||||
} else if (ks == 2) { // WIN + L
|
||||
if (desktop.contype == 2) {
|
||||
desktop.m.sendkey([[0xffe7, 1], [0x6c, 1], [0x6c, 0], [0xffe7, 0]]); // Intel AMT: Meta-left down, 'l' press, 'l' release, Meta-left release
|
||||
} else {
|
||||
desktop.sendCtrlMsg('{"action":"lock"}');
|
||||
//desktop.m.SendKeyMsgKC([[desktop.m.KeyAction.EXDOWN,0x5B],[desktop.m.KeyAction.DOWN,76],[desktop.m.KeyAction.UP,76],[desktop.m.KeyAction.EXUP,0x5B]]); // MeshAgent: L-Winkey press, 'L' press, 'L' release, L-Winkey release
|
||||
//desktop.m.SendKeyMsgKC(desktop.m.KeyAction.EXDOWN, 0x5B);
|
||||
//desktop.m.SendKeyMsgKC(desktop.m.KeyAction.DOWN, 76);
|
||||
//desktop.m.SendKeyMsgKC(desktop.m.KeyAction.UP, 76);
|
||||
//desktop.m.SendKeyMsgKC(desktop.m.KeyAction.EXUP, 0x5B);
|
||||
}
|
||||
} else if (ks == 3) { // WIN + M
|
||||
if (desktop.contype == 2) {
|
||||
desktop.m.sendkey([[0xffe7, 1], [0x6d, 1], [0x6d, 0], [0xffe7, 0]]); // Intel AMT: Meta-left down, 'm' press, 'm' release, Meta-left release
|
||||
} else {
|
||||
desktop.m.SendKeyMsgKC([[desktop.m.KeyAction.EXDOWN, 0x5B], [desktop.m.KeyAction.DOWN, 77], [desktop.m.KeyAction.UP, 77], [desktop.m.KeyAction.EXUP, 0x5B]]); // MeshAgent: L-Winkey press, 'M' press, 'M' release, L-Winkey release
|
||||
}
|
||||
} else if (ks == 4) { // Shift + WIN + M
|
||||
if (desktop.contype == 2) {
|
||||
desktop.m.sendkey([[0xffe1, 1], [0xffe7, 1], [0x6d, 1], [0x6d, 0], [0xffe7, 0], [0xffe1, 0]]); // Intel AMT: Shift-left down, Meta-left down, 'm' press, 'm' release, Meta-left release, Shift-left release
|
||||
} else {
|
||||
desktop.m.SendKeyMsgKC([[desktop.m.KeyAction.DOWN, 16], [desktop.m.KeyAction.EXDOWN, 0x5B], [desktop.m.KeyAction.DOWN, 77], [desktop.m.KeyAction.UP, 77], [desktop.m.KeyAction.EXUP, 0x5B], [desktop.m.KeyAction.UP, 16]]); // MeshAgent: L-shift press, L-Winkey press, 'M' press, 'M' release, L-Winkey release, L-shift release
|
||||
}
|
||||
} else if (ks == 5) { // WIN
|
||||
if (desktop.contype == 2) {
|
||||
desktop.m.sendkey([[0xffe7, 1], [0xffe7, 0]]); // Intel AMT: Meta-left down, Meta-left release
|
||||
} else {
|
||||
desktop.m.SendKeyMsgKC([[desktop.m.KeyAction.EXDOWN, 0x5B], [desktop.m.KeyAction.EXUP, 0x5B]]); // MeshAgent: L-Winkey press, L-Winkey release
|
||||
}
|
||||
} else if (ks == 6) { // WIN + R
|
||||
if (desktop.contype == 2) {
|
||||
desktop.m.sendkey([[0xffe7, 1], [0x72, 1], [0x72, 0], [0xffe7, 0]]); // Intel AMT: Meta-left down, 'r' press, 'r' release, Meta-left release
|
||||
} else {
|
||||
desktop.m.SendKeyMsgKC([[desktop.m.KeyAction.EXDOWN, 0x5B], [desktop.m.KeyAction.DOWN, 82], [desktop.m.KeyAction.UP, 82], [desktop.m.KeyAction.EXUP, 0x5B]]); // MeshAgent: L-Winkey press, 'R' press, 'R' release, L-Winkey release
|
||||
}
|
||||
} else if (ks == 7) { // ALT-F4
|
||||
if (desktop.contype == 2) {
|
||||
desktop.m.sendkey([[0xffe9, 1], [0xffc1, 1], [0xffc1, 0], [0xffe9, 0]]); // Intel AMT: Alt down, 'F4' press, 'F4' release, Alt release
|
||||
} else {
|
||||
desktop.m.SendKeyMsgKC([[desktop.m.KeyAction.EXDOWN, 18], [desktop.m.KeyAction.DOWN, 115], [desktop.m.KeyAction.UP, 115], [desktop.m.KeyAction.EXUP, 18]]); // MeshAgent: Alt press, 'F4' press, 'F4' release, Alt release
|
||||
}
|
||||
} else if (ks == 8) { // CTRL-W
|
||||
if (desktop.contype == 2) {
|
||||
desktop.m.sendkey([[0xffe3, 1], [0x77, 1], [0x77, 0], [0xffe3, 0]]); // Intel AMT: Ctrl down, 'w' press, 'w' release, Ctrl release
|
||||
} else {
|
||||
desktop.m.SendKeyMsgKC([[desktop.m.KeyAction.EXDOWN, 17], [desktop.m.KeyAction.DOWN, 87], [desktop.m.KeyAction.UP, 87], [desktop.m.KeyAction.EXUP, 17]]); // MeshAgent: Ctrl press, 'W' press, 'W' release, Ctrl release
|
||||
}
|
||||
} else if (ks == 9) { // ALT-TAB
|
||||
if (desktop.contype == 2) {
|
||||
desktop.m.sendkey([[0xffe9, 1], [0xff09, 1], [0xff09, 0], [0xffe9, 0]]); // Intel AMT: Alt down, 'TAB' press, 'TAB' release, Alt release
|
||||
} else {
|
||||
desktop.m.SendKeyMsgKC([[desktop.m.KeyAction.EXDOWN, 18], [desktop.m.KeyAction.DOWN, 9], [desktop.m.KeyAction.UP, 9], [desktop.m.KeyAction.EXUP, 18]]); // MeshAgent: Alt press, 'TAB' press, 'TAB' release, Alt release
|
||||
}
|
||||
} else if (ks == 10) { // CTRL-ALT-DEL
|
||||
desktop.m.sendcad();
|
||||
} else if (ks == 11) { // TAB
|
||||
if (desktop.contype == 2) {
|
||||
desktop.m.sendkey([[0xff09, 1], [0xff09, 0]]); // Intel AMT: 'TAB' press, 'TAB' release
|
||||
} else {
|
||||
desktop.m.SendKeyMsgKC([[desktop.m.KeyAction.DOWN, 9], [desktop.m.KeyAction.UP, 9]]); // MeshAgent: 'TAB' press, 'TAB' release
|
||||
}
|
||||
} else if (ks == 12) { // Shift-F10
|
||||
if (desktop.contype == 2) {
|
||||
desktop.m.sendkey([[0xffe1, 1], [0xffc7, 1], [0xffc7, 0], [0xffe1, 0]]); // Intel AMT: Left-Shift Down, F10 down, F10 up, Left-Shift Up
|
||||
} else {
|
||||
desktop.m.SendKeyMsgKC([[desktop.m.KeyAction.DOWN, 16], [desktop.m.KeyAction.DOWN, 121], [desktop.m.KeyAction.UP, 121], [desktop.m.KeyAction.UP, 16]]); // MeshAgent: Left-Shift Down, F10 down, F10 up, Left-Shift Up
|
||||
}
|
||||
} else if (ks == 13) { // ESC
|
||||
if (desktop.contype == 2) {
|
||||
desktop.m.sendkey([[27, 1], [27, 0]]); // Intel AMT: ESC press, ESC release
|
||||
} else {
|
||||
desktop.m.SendKeyMsgKC([[desktop.m.KeyAction.DOWN, 27], [desktop.m.KeyAction.UP, 27]]); // MeshAgent: ESC press, ESC release
|
||||
}
|
||||
|
||||
// Construct the key command
|
||||
var ks = xkey ? xkey : parseInt(Q('deskkeys').value);
|
||||
if (ks == 0x0A0053) { desktop.m.sendcad(); return; } // CTRL-ALT-DEL
|
||||
if ((desktop.contype == 1) && (ks == 0x100052)) { desktop.sendCtrlMsg('{"action":"lock"}'); return; } // Lock desktop
|
||||
|
||||
var flags = (ks & 0xFF0000) >> 16, key = (ks & 0xFFFF), keyArray = [], keyArray2 = [];
|
||||
var amtTranslate = {
|
||||
8: 0xff08, // BackSpace
|
||||
9: 0xff09, // Tab
|
||||
13: 0xff0d, // Return or Enter
|
||||
27: 0xff1b, // Escape
|
||||
45: 0xff63, // Insert
|
||||
46: 0xffff, // Delete
|
||||
36: 0xff50, // Home
|
||||
35: 0xff57, // End
|
||||
33: 0xff55, // Page Up
|
||||
34: 0xff56, // Page Down
|
||||
37: 0xff51, // Left arrow
|
||||
38: 0xff52, // Up arrow
|
||||
39: 0xff53, // Right arrow
|
||||
40: 0xff54, // Down arrow
|
||||
112: 0xffbe, // F1
|
||||
113: 0xffbf, // F2
|
||||
114: 0xffc0, // F3
|
||||
115: 0xffc1, // F4
|
||||
116: 0xffc2, // F5
|
||||
117: 0xffc3, // F6
|
||||
118: 0xffc4, // F7
|
||||
119: 0xffc5, // F8
|
||||
120: 0xffc6, // F9
|
||||
121: 0xffc7, // F10
|
||||
122: 0xffc8, // F11
|
||||
123: 0xffc9 // F12
|
||||
}
|
||||
|
||||
// 0x010000 = Shift
|
||||
// 0x020000 = Left-Alt
|
||||
// 0x080000 = Ctrl
|
||||
// 0x100000 = Window
|
||||
|
||||
// Examples:
|
||||
// WIN+DOWN = 0x100028
|
||||
// WIN+UP = 0x100026
|
||||
// WIN+L = 0x10004C
|
||||
// WIN+M = 0x10004D
|
||||
// Shift+WIN+M = 0x11004D
|
||||
// WIN = 0x100000
|
||||
// WIN+R = 0x100052
|
||||
// ALT+F4 = 0x020073
|
||||
// CTRL+W = 0x080057
|
||||
// ALT+TAB = 0x020009
|
||||
// CTRL-ALT-DEL = 0x0A0053
|
||||
// WIN-LEFT = 0x100025
|
||||
// WIN-RIGHT = 0x100027
|
||||
// SHIFT+F10 = 0x010079
|
||||
|
||||
if (desktop.contype == 2) {
|
||||
// Intel AMT
|
||||
if (flags & 1) { keyArray.push([0xffe1, 1]); keyArray2.push([0xffe1, 0]); } // Shift
|
||||
if (flags & 2) { keyArray.push([0xffe9, 1]); keyArray2.push([0xffe9, 0]); } // Left-alt
|
||||
if (flags & 8) { keyArray.push([0xffe3, 1]); keyArray2.push([0xffe3, 0]); } // Ctrl
|
||||
if (flags & 16) { keyArray.push([0xffe7, 1]); keyArray2.push([0xffe7, 0]); } // Windows key
|
||||
if (amtTranslate[key]) { key = amtTranslate[key]; }
|
||||
if ((key >= 65) && (key <= 90)) { key += 32; }
|
||||
if (key != 0) { keyArray.push([key, 1]); keyArray2.push([key, 0]); }
|
||||
keyArray2.reverse();
|
||||
for (var i = 0; i < keyArray2.length; i++) { keyArray.push(keyArray2[i]); }
|
||||
desktop.m.sendkey(keyArray);
|
||||
} else {
|
||||
// Agent desktop
|
||||
if (flags & 1) { keyArray.push([desktop.m.KeyAction.DOWN, 16]); keyArray2.push([desktop.m.KeyAction.UP, 16]); } // Shift
|
||||
if (flags & 2) { keyArray.push([desktop.m.KeyAction.EXDOWN, 18]); keyArray2.push([desktop.m.KeyAction.EXUP, 18]); } // Left-alt
|
||||
if (flags & 8) { keyArray.push([desktop.m.KeyAction.EXDOWN, 17]); keyArray2.push([desktop.m.KeyAction.EXUP, 17]); } // Ctrl
|
||||
if (flags & 16) { keyArray.push([desktop.m.KeyAction.EXDOWN, 0x5B]); keyArray2.push([desktop.m.KeyAction.EXUP, 0x5B]); } // Windows key
|
||||
if (key != 0) { keyArray.push([desktop.m.KeyAction.DOWN, key]); keyArray2.push([desktop.m.KeyAction.UP, key]); }
|
||||
keyArray2.reverse();
|
||||
for (var i = 0; i < keyArray2.length; i++) { keyArray.push(keyArray2[i]); }
|
||||
desktop.m.SendKeyMsgKC(keyArray);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -627,6 +627,7 @@
|
||||
<span id=DeskRefreshButton title="Refresh the desktop"><img id=DeskRefreshButtonImage src='images/icon-refresh.png' onclick=deskRefreshFunction() height=16 width=16 style=padding-top:2px /></span>
|
||||
</div>
|
||||
<div>
|
||||
<!--
|
||||
<select id="deskkeys">
|
||||
<option value=10>Ctrl+Alt+Del</option>
|
||||
<option value=5>Win</option>
|
||||
@ -642,6 +643,37 @@
|
||||
<option value=11>Win+Left</option>
|
||||
<option value=12>Win+Right</option>
|
||||
</select>
|
||||
|
||||
// WIN+DOWN = 0x100028
|
||||
// WIN+UP = 0x100026
|
||||
// WIN+L = 0x10004C
|
||||
// WIN+M = 0x10004D
|
||||
// Shift+WIN+M = 0x11004D
|
||||
// WIN = 0x100000
|
||||
// WIN+R = 0x100052
|
||||
// ALT+F4 = 0x020073
|
||||
// CTRL+W = 0x080057
|
||||
// ALT+TAB = 0x020009
|
||||
// CTRL-ALT-DEL = 0x0A0053
|
||||
// WIN-LEFT = 0x100025
|
||||
// WIN-RIGHT = 0x100027
|
||||
|
||||
-->
|
||||
<select id="deskkeys">
|
||||
<option value=0x0A0053>Ctrl+Alt+Del</option>
|
||||
<option value=0x100000>Win</option>
|
||||
<option value=0x100028>Win+Down</option>
|
||||
<option value=0x100026>Win+Up</option>
|
||||
<option value=0x10004C>Win+L</option>
|
||||
<option value=0x10004D>Win+M</option>
|
||||
<option value=0x11004D>Shift+Win+M</option>
|
||||
<option value=0x100052>Win+R</option>
|
||||
<option value=0x020073>Alt-F4</option>
|
||||
<option value=0x080057>Ctrl-W</option>
|
||||
<option value=0x020009>Alt-Tab</option>
|
||||
<option value=0x100025>Win+Left</option>
|
||||
<option value=0x100027>Win+Right</option>
|
||||
</select>
|
||||
<input id="DeskWD" type=button value="Send" onkeypress="return false" onkeydown="return false" onclick="deskSendKeys()" />
|
||||
<input id="DeskESC" style="display:none" type="button" value="ESC" onkeypress="return false" onkeydown="return false" onclick="sendDeskEsc()" />
|
||||
<input id="DeskClip" style="" type="button" value="Clipboard" onkeypress="return false" onkeydown="return false" onclick="showDeskClip()" />
|
||||
@ -7429,86 +7461,85 @@
|
||||
function deskSendKeys() {
|
||||
Q('DeskWD').blur();
|
||||
if (xxdialogMode || desktop == null || desktop.State != 3) return;
|
||||
var ks = Q('deskkeys').value;
|
||||
if (ks == 0) { // WIN+Down arrow
|
||||
if (desktop.contype == 2) {
|
||||
desktop.m.sendkey([[0xffe7,1],[0xff54,1],[0xff54,0],[0xffe7,0]]); // Intel AMT: Meta-left down, Down arrow press, Down arrow release, Meta-left release
|
||||
} else {
|
||||
desktop.m.SendKeyMsgKC([[desktop.m.KeyAction.EXDOWN,0x5B],[desktop.m.KeyAction.DOWN,40],[desktop.m.KeyAction.UP,40],[desktop.m.KeyAction.EXUP,0x5B]]); // Agent: L-Winkey press, Down arrow press, Down arrow release, L-Winkey release
|
||||
}
|
||||
} else if (ks == 1) { // WIN+Up arrow
|
||||
if (desktop.contype == 2) {
|
||||
desktop.m.sendkey([[0xffe7,1],[0xff52,1],[0xff52,0],[0xffe7,0]]); // Intel AMT: Meta-left down, Up arrow press, Up arrow release, Meta-left release
|
||||
} else {
|
||||
desktop.m.SendKeyMsgKC([[desktop.m.KeyAction.EXDOWN,0x5B],[desktop.m.KeyAction.DOWN,38],[desktop.m.KeyAction.UP,38],[desktop.m.KeyAction.EXUP,0x5B]]); // MeshAgent: L-Winkey press, Up arrow press, Up arrow release, L-Winkey release
|
||||
}
|
||||
} else if (ks == 2) { // WIN+L arrow
|
||||
if (desktop.contype == 2) {
|
||||
desktop.m.sendkey([[0xffe7,1],[0x6c,1],[0x6c,0],[0xffe7,0]]); // Intel AMT: Meta-left down, 'l' press, 'l' release, Meta-left release
|
||||
} else {
|
||||
desktop.sendCtrlMsg('{"action":"lock"}');
|
||||
//desktop.m.SendKeyMsgKC([[desktop.m.KeyAction.EXDOWN,0x5B],[desktop.m.KeyAction.DOWN,76],[desktop.m.KeyAction.UP,76],[desktop.m.KeyAction.EXUP,0x5B]]); // MeshAgent: L-Winkey press, 'L' press, 'L' release, L-Winkey release
|
||||
//desktop.m.SendKeyMsgKC(desktop.m.KeyAction.EXDOWN, 0x5B);
|
||||
//desktop.m.SendKeyMsgKC(desktop.m.KeyAction.DOWN, 76);
|
||||
//desktop.m.SendKeyMsgKC(desktop.m.KeyAction.UP, 76);
|
||||
//desktop.m.SendKeyMsgKC(desktop.m.KeyAction.EXUP, 0x5B);
|
||||
}
|
||||
} else if (ks == 3) { // WIN+M arrow
|
||||
if (desktop.contype == 2) {
|
||||
desktop.m.sendkey([[0xffe7,1],[0x6d,1],[0x6d,0],[0xffe7,0]]); // Intel AMT: Meta-left down, 'm' press, 'm' release, Meta-left release
|
||||
} else {
|
||||
desktop.m.SendKeyMsgKC([[desktop.m.KeyAction.EXDOWN,0x5B],[desktop.m.KeyAction.DOWN,77],[desktop.m.KeyAction.UP,77],[desktop.m.KeyAction.EXUP,0x5B]]); // MeshAgent: L-Winkey press, 'M' press, 'M' release, L-Winkey release
|
||||
}
|
||||
} else if (ks == 4) { // Shift+WIN+M arrow
|
||||
if (desktop.contype == 2) {
|
||||
desktop.m.sendkey([[0xffe1,1],[0xffe7,1],[0x6d,1],[0x6d,0],[0xffe7,0],[0xffe1,0]]); // Intel AMT: Shift-left down, Meta-left down, 'm' press, 'm' release, Meta-left release, Shift-left release
|
||||
} else {
|
||||
desktop.m.SendKeyMsgKC([[desktop.m.KeyAction.DOWN,16],[desktop.m.KeyAction.EXDOWN,0x5B],[desktop.m.KeyAction.DOWN,77],[desktop.m.KeyAction.UP,77],[desktop.m.KeyAction.EXUP,0x5B],[desktop.m.KeyAction.UP, 16]]); // MeshAgent: L-shift press, L-Winkey press, 'M' press, 'M' release, L-Winkey release, L-shift release
|
||||
}
|
||||
} else if (ks == 5) { // WIN
|
||||
if (desktop.contype == 2) {
|
||||
desktop.m.sendkey([[0xffe7,1],[0xffe7,0]]); // Intel AMT: Meta-left down, Meta-left release
|
||||
} else {
|
||||
desktop.m.SendKeyMsgKC([[desktop.m.KeyAction.EXDOWN,0x5B], [desktop.m.KeyAction.EXUP,0x5B]]); // MeshAgent: L-Winkey press, L-Winkey release
|
||||
}
|
||||
} else if (ks == 6) { // WIN+R
|
||||
if (desktop.contype == 2) {
|
||||
desktop.m.sendkey([[0xffe7,1],[0x72,1],[0x72,0],[0xffe7,0]]); // Intel AMT: Meta-left down, 'r' press, 'r' release, Meta-left release
|
||||
} else {
|
||||
desktop.m.SendKeyMsgKC([[desktop.m.KeyAction.EXDOWN, 0x5B], [desktop.m.KeyAction.DOWN, 82], [desktop.m.KeyAction.UP, 82], [desktop.m.KeyAction.EXUP, 0x5B]]); // MeshAgent: L-Winkey press, 'R' press, 'R' release, L-Winkey release
|
||||
}
|
||||
} else if (ks == 7) { // ALT-F4
|
||||
if (desktop.contype == 2) {
|
||||
desktop.m.sendkey([[0xffe9,1],[0xffc1,1],[0xffc1,0],[0xffe9,0]]); // Intel AMT: Alt down, 'F4' press, 'F4' release, Alt release
|
||||
} else {
|
||||
desktop.m.SendKeyMsgKC([[desktop.m.KeyAction.EXDOWN, 18], [desktop.m.KeyAction.DOWN, 115], [desktop.m.KeyAction.UP, 115], [desktop.m.KeyAction.EXUP, 18]]); // MeshAgent: Alt press, 'F4' press, 'F4' release, Alt release
|
||||
}
|
||||
} else if (ks == 8) { // CTRL-W
|
||||
if (desktop.contype == 2) {
|
||||
desktop.m.sendkey([[0xffe3,1],[0x77,1],[0x77,0],[0xffe3,0]]); // Intel AMT: Ctrl down, 'w' press, 'w' release, Ctrl release
|
||||
} else {
|
||||
desktop.m.SendKeyMsgKC([[desktop.m.KeyAction.EXDOWN, 17], [desktop.m.KeyAction.DOWN, 87], [desktop.m.KeyAction.UP, 87], [desktop.m.KeyAction.EXUP, 17]]); // MeshAgent: Ctrl press, 'W' press, 'W' release, Ctrl release
|
||||
}
|
||||
} else if (ks == 9) { // ALT-TAB
|
||||
if (desktop.contype == 2) {
|
||||
desktop.m.sendkey([[0xffe9, 1], [0xff09, 1], [0xff09, 0], [0xffe9, 0]]); // Intel AMT: Alt down, 'TAB' press, 'TAB' release, Alt release
|
||||
} else {
|
||||
desktop.m.SendKeyMsgKC([[desktop.m.KeyAction.EXDOWN, 18], [desktop.m.KeyAction.DOWN, 9], [desktop.m.KeyAction.UP, 9], [desktop.m.KeyAction.EXUP, 18]]); // MeshAgent: Alt press, 'TAB' press, 'TAB' release, Alt release
|
||||
}
|
||||
} else if (ks == 10) { // CTRL-ALT-DEL
|
||||
desktop.m.sendcad();
|
||||
} else if (ks == 11) { // WIN-LEFT
|
||||
if (desktop.contype == 2) {
|
||||
desktop.m.sendkey([[0xffe7, 1], [0xff51, 1], [0xff51, 0], [0xffe7, 0]]); // Intel AMT: Meta-left down, Left arrow press, Left arrow release, Meta-left release
|
||||
} else {
|
||||
desktop.m.SendKeyMsgKC([[desktop.m.KeyAction.EXDOWN, 0x5B], [desktop.m.KeyAction.DOWN, 37], [desktop.m.KeyAction.UP, 37], [desktop.m.KeyAction.EXUP, 0x5B]]);
|
||||
}
|
||||
} else if (ks == 12) { // WIN-RIGHT
|
||||
if (desktop.contype == 2) {
|
||||
desktop.m.sendkey([[0xffe7, 1], [0xff53, 1], [0xff53, 0], [0xffe7, 0]]); // Intel AMT: Meta-left down, Right arrow press, Right arrow release, Meta-left release
|
||||
} else {
|
||||
desktop.m.SendKeyMsgKC([[desktop.m.KeyAction.EXDOWN, 0x5B], [desktop.m.KeyAction.DOWN, 39], [desktop.m.KeyAction.UP, 39], [desktop.m.KeyAction.EXUP, 0x5B]]);
|
||||
}
|
||||
|
||||
// Construct the key command
|
||||
var ks = parseInt(Q('deskkeys').value);
|
||||
if (ks == 0x0A0053) { desktop.m.sendcad(); return; } // CTRL-ALT-DEL
|
||||
if ((desktop.contype == 1) && (ks == 0x100052)) { desktop.sendCtrlMsg('{"action":"lock"}'); return; } // Lock desktop
|
||||
|
||||
var flags = (ks & 0xFF0000) >> 16, key = (ks & 0xFFFF), keyArray = [], keyArray2 = [];
|
||||
var amtTranslate = {
|
||||
8 : 0xff08, // BackSpace
|
||||
9 : 0xff09, // Tab
|
||||
13 : 0xff0d, // Return or Enter
|
||||
27 : 0xff1b, // Escape
|
||||
45 : 0xff63, // Insert
|
||||
46 : 0xffff, // Delete
|
||||
36 : 0xff50, // Home
|
||||
35 : 0xff57, // End
|
||||
33 : 0xff55, // Page Up
|
||||
34 : 0xff56, // Page Down
|
||||
37 : 0xff51, // Left arrow
|
||||
38 : 0xff52, // Up arrow
|
||||
39 : 0xff53, // Right arrow
|
||||
40 : 0xff54, // Down arrow
|
||||
112 : 0xffbe, // F1
|
||||
113 : 0xffbf, // F2
|
||||
114 : 0xffc0, // F3
|
||||
115 : 0xffc1, // F4
|
||||
116 : 0xffc2, // F5
|
||||
117 : 0xffc3, // F6
|
||||
118 : 0xffc4, // F7
|
||||
119 : 0xffc5, // F8
|
||||
120 : 0xffc6, // F9
|
||||
121 : 0xffc7, // F10
|
||||
122 : 0xffc8, // F11
|
||||
123 : 0xffc9 // F12
|
||||
}
|
||||
|
||||
// 0x010000 = Shift
|
||||
// 0x020000 = Left-Alt
|
||||
// 0x080000 = Ctrl
|
||||
// 0x100000 = Window
|
||||
|
||||
// Examples:
|
||||
// WIN+DOWN = 0x100028
|
||||
// WIN+UP = 0x100026
|
||||
// WIN+L = 0x10004C
|
||||
// WIN+M = 0x10004D
|
||||
// Shift+WIN+M = 0x11004D
|
||||
// WIN = 0x100000
|
||||
// WIN+R = 0x100052
|
||||
// ALT+F4 = 0x020073
|
||||
// CTRL+W = 0x080057
|
||||
// ALT+TAB = 0x020009
|
||||
// CTRL-ALT-DEL = 0x0A0053
|
||||
// WIN-LEFT = 0x100025
|
||||
// WIN-RIGHT = 0x100027
|
||||
// SHIFT+F10 = 0x010079
|
||||
|
||||
if (desktop.contype == 2) {
|
||||
// Intel AMT
|
||||
if (flags & 1) { keyArray.push([0xffe1, 1]); keyArray2.push([0xffe1, 0]); } // Shift
|
||||
if (flags & 2) { keyArray.push([0xffe9, 1]); keyArray2.push([0xffe9, 0]); } // Left-alt
|
||||
if (flags & 8) { keyArray.push([0xffe3, 1]); keyArray2.push([0xffe3, 0]); } // Ctrl
|
||||
if (flags & 16) { keyArray.push([0xffe7, 1]); keyArray2.push([0xffe7, 0]); } // Windows key
|
||||
if (amtTranslate[key]) { key = amtTranslate[key]; }
|
||||
if ((key >= 65) && (key <= 90)) { key += 32; }
|
||||
if (key != 0) { keyArray.push([key, 1]); keyArray2.push([key, 0]); }
|
||||
keyArray2.reverse();
|
||||
for (var i = 0; i < keyArray2.length; i++) { keyArray.push(keyArray2[i]); }
|
||||
desktop.m.sendkey(keyArray);
|
||||
} else {
|
||||
// Agent desktop
|
||||
if (flags & 1) { keyArray.push([desktop.m.KeyAction.DOWN, 16]); keyArray2.push([desktop.m.KeyAction.UP, 16]); } // Shift
|
||||
if (flags & 2) { keyArray.push([desktop.m.KeyAction.EXDOWN, 18]); keyArray2.push([desktop.m.KeyAction.EXUP, 18]); } // Left-alt
|
||||
if (flags & 8) { keyArray.push([desktop.m.KeyAction.EXDOWN, 17]); keyArray2.push([desktop.m.KeyAction.EXUP, 17]); } // Ctrl
|
||||
if (flags & 16) { keyArray.push([desktop.m.KeyAction.EXDOWN, 0x5B]); keyArray2.push([desktop.m.KeyAction.EXUP, 0x5B]); } // Windows key
|
||||
if (key != 0) { keyArray.push([desktop.m.KeyAction.DOWN, key]); keyArray2.push([desktop.m.KeyAction.UP, key]); }
|
||||
keyArray2.reverse();
|
||||
for (var i = 0; i < keyArray2.length; i++) { keyArray.push(keyArray2[i]); }
|
||||
desktop.m.SendKeyMsgKC(keyArray);
|
||||
}
|
||||
}
|
||||
|
||||
@ -7543,7 +7574,7 @@
|
||||
// New unicode typing
|
||||
desktop.m.SendStringUnicode(txt);
|
||||
} else {
|
||||
// Old scan code typing. Remove this when non-Windows platforms support Unicode.
|
||||
// Old scan code typing. This is for non-unicode system.
|
||||
for (var i in txt) {
|
||||
var a = txt.charCodeAt(i), b = ltxt.charCodeAt(i);
|
||||
if (((a >= 65) && (a <= 90)) || ((a >= 97) && (a <= 122))) {
|
||||
|
Loading…
Reference in New Issue
Block a user