mirror of
https://github.com/immense/Remotely.git
synced 2025-10-26 11:27:15 +00:00
Refactored out deprecated keyboradEvent.keyCode property. Linux updater fixes.
This commit is contained in:
parent
6e687aee74
commit
4fcff09a53
@ -26,7 +26,6 @@
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Microsoft.NETCore.App" Version="2.2.2" />
|
||||
<PackageReference Include="Microsoft.Management.Infrastructure" Version="1.0.0" />
|
||||
<PackageReference Include="Microsoft.AspNetCore.SignalR.Client" Version="1.1.0" />
|
||||
<PackageReference Include="Microsoft.PowerShell.Commands.Diagnostics" Version="6.1.3" />
|
||||
|
||||
@ -46,24 +46,28 @@ namespace Remotely_Agent.Services
|
||||
Logger.Write($"Service Updater: Downloading update. Current Version: {thisVersion}. Latest Version: {latestVersion}.");
|
||||
var fileName = OSUtils.CoreZipFileName;
|
||||
var tempFile = Path.Combine(Path.GetTempPath(), fileName);
|
||||
var tempFolder = Path.Combine(Path.GetTempPath(), "Remotely_Update");
|
||||
if (File.Exists(tempFile))
|
||||
{
|
||||
File.Delete(tempFile);
|
||||
}
|
||||
if (Directory.Exists(tempFolder))
|
||||
{
|
||||
Directory.Delete(tempFolder, true);
|
||||
}
|
||||
wc.DownloadFile(new Uri(Utilities.GetConnectionInfo().Host + $"/Downloads/{fileName}"), tempFile);
|
||||
|
||||
Logger.Write($"Service Updater: Extracting files.");
|
||||
|
||||
if (OSUtils.IsWindows)
|
||||
{
|
||||
ZipFile.ExtractToDirectory(tempFile, Path.Combine(Path.GetTempPath(), "Remotely_Update"), true);
|
||||
ZipFile.ExtractToDirectory(tempFile, tempFolder, true);
|
||||
}
|
||||
else if (OSUtils.IsLinux)
|
||||
{
|
||||
Process.Start("sudo", $"rm -r {Path.Combine(Path.GetTempPath(), "Remotely_Update")}");
|
||||
Process.Start("sudo", "apt-get install unzip").WaitForExit();
|
||||
Process.Start("sudo", $"unzip -o {tempFile} -d {Path.Combine(Path.GetTempPath(), "Remotely_Update")}").WaitForExit();
|
||||
Process.Start("sudo", $"chmod -R 777 {Path.Combine(Path.GetTempPath(), "Remotely_Update")}").WaitForExit();
|
||||
Process.Start("sudo", $"unzip -o {tempFile} -d {tempFolder}").WaitForExit();
|
||||
Process.Start("sudo", $"chmod -R 777 {tempFolder}").WaitForExit();
|
||||
Process.Start("sudo", $"chmod +x {Path.Combine(Path.GetTempPath(), "Remotely_Update", "Remotely_Agent")}").WaitForExit();
|
||||
}
|
||||
|
||||
@ -181,7 +185,7 @@ namespace Remotely_Agent.Services
|
||||
}
|
||||
else if (OSUtils.IsLinux)
|
||||
{
|
||||
Process.Start("sudo", "systemctl restart remotely-agent").WaitForExit();
|
||||
Process.Start("sudo", "systemctl start remotely-agent").WaitForExit();
|
||||
}
|
||||
Environment.Exit(0);
|
||||
}
|
||||
|
||||
@ -1235,6 +1235,9 @@ namespace Remotely_Library.Win32_Classes
|
||||
[DllImport("user32.dll", SetLastError = true)]
|
||||
public static extern bool LockWorkStation();
|
||||
|
||||
[DllImport("user32.dll")]
|
||||
public static extern short VkKeyScan(char ch);
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
|
||||
@ -210,6 +210,7 @@ namespace Remotely_Library.Win32
|
||||
CloseDesktop(inputDesktop);
|
||||
return deskName;
|
||||
}
|
||||
|
||||
// Remove trailing empty bytes in the buffer.
|
||||
private static byte[] TrimBytes(byte[] bytes)
|
||||
{
|
||||
|
||||
@ -44,106 +44,31 @@ namespace Remotely_ScreenCast.Sockets
|
||||
Program.ScreenCastRequested?.Invoke(null, new Tuple<string, string>(viewerID, requesterName));
|
||||
});
|
||||
|
||||
hubConnection.On("KeyDown", (int keyCode, string viewerID) =>
|
||||
hubConnection.On("KeyDown", (string key, string viewerID) =>
|
||||
{
|
||||
if (Program.Viewers.TryGetValue(viewerID, out var viewer) && viewer.HasControl)
|
||||
{
|
||||
//var converter = new KeysConverter();
|
||||
//try
|
||||
//{
|
||||
// var key = (Keys)converter.ConvertFromString(keyCode.ToString());
|
||||
// Win32Interop.SendKeyDown(key);
|
||||
//}
|
||||
//catch
|
||||
//{
|
||||
// Logger.Write($"Failed to convert key {keyCode}.");
|
||||
//}
|
||||
|
||||
// For colon/semicolon.
|
||||
if (keyCode == 59)
|
||||
{
|
||||
keyCode = 186;
|
||||
}
|
||||
// For minus.
|
||||
else if (keyCode == 45)
|
||||
{
|
||||
keyCode = 189;
|
||||
}
|
||||
// For plus.
|
||||
else if (keyCode == 61)
|
||||
{
|
||||
keyCode = 187;
|
||||
}
|
||||
var keyCode = Win32Interop.ConvertJavaScriptKeyToVirtualKey(key);
|
||||
Win32Interop.SendKeyDown((User32.VirtualKey)keyCode);
|
||||
}
|
||||
});
|
||||
|
||||
hubConnection.On("KeyUp", (int keyCode, string viewerID) =>
|
||||
hubConnection.On("KeyUp", (string key, string viewerID) =>
|
||||
{
|
||||
if (Program.Viewers.TryGetValue(viewerID, out var viewer) && viewer.HasControl)
|
||||
{
|
||||
//var converter = new KeysConverter();
|
||||
//try
|
||||
//{
|
||||
// var key = (Keys)converter.ConvertFromString(keyCode.ToString());
|
||||
// Win32Interop.SendKeyDown(key);
|
||||
//}
|
||||
//catch
|
||||
//{
|
||||
// Logger.Write($"Failed to convert key {keyCode}.");
|
||||
//}
|
||||
|
||||
// For colon/semicolon.
|
||||
if (keyCode == 59)
|
||||
{
|
||||
keyCode = 186;
|
||||
}
|
||||
// For minus.
|
||||
else if (keyCode == 45)
|
||||
{
|
||||
keyCode = 189;
|
||||
}
|
||||
// For plus.
|
||||
else if (keyCode == 61)
|
||||
{
|
||||
keyCode = 187;
|
||||
}
|
||||
var keyCode = Win32Interop.ConvertJavaScriptKeyToVirtualKey(key);
|
||||
Win32Interop.SendKeyUp((User32.VirtualKey)keyCode);
|
||||
}
|
||||
});
|
||||
|
||||
hubConnection.On("KeyPress", (int keyCode, string viewerID) =>
|
||||
hubConnection.On("KeyPress", async (string key, string viewerID) =>
|
||||
{
|
||||
if (Program.Viewers.TryGetValue(viewerID, out var viewer) && viewer.HasControl)
|
||||
{
|
||||
//var converter = new KeysConverter();
|
||||
//try
|
||||
//{
|
||||
// var key = (Keys)converter.ConvertFromString(keyCode.ToString());
|
||||
// Win32Interop.SendKeyDown(key);
|
||||
// Win32Interop.SendKeyUp(key);
|
||||
//}
|
||||
//catch
|
||||
//{
|
||||
// Logger.Write($"Failed to convert key {keyCode}.");
|
||||
//}
|
||||
|
||||
// For colon/semicolon.
|
||||
if (keyCode == 59)
|
||||
{
|
||||
keyCode = 186;
|
||||
}
|
||||
// For minus.
|
||||
else if (keyCode == 45)
|
||||
{
|
||||
keyCode = 189;
|
||||
}
|
||||
// For plus.
|
||||
else if (keyCode == 61)
|
||||
{
|
||||
keyCode = 187;
|
||||
}
|
||||
var keyCode = Win32Interop.ConvertJavaScriptKeyToVirtualKey(key);
|
||||
Win32Interop.SendKeyDown((User32.VirtualKey)keyCode);
|
||||
await Task.Delay(1);
|
||||
Win32Interop.SendKeyUp((User32.VirtualKey)keyCode);
|
||||
}
|
||||
});
|
||||
|
||||
@ -1235,6 +1235,9 @@ namespace Win32
|
||||
[DllImport("user32.dll", SetLastError = true)]
|
||||
public static extern bool LockWorkStation();
|
||||
|
||||
[DllImport("user32.dll")]
|
||||
public static extern short VkKeyScan(char ch);
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
|
||||
@ -231,25 +231,112 @@ namespace Win32
|
||||
CloseDesktop(inputDesktop);
|
||||
return desktopName;
|
||||
}
|
||||
// Remove trailing empty bytes in the buffer.
|
||||
private static byte[] TrimBytes(byte[] bytes)
|
||||
|
||||
public static short ConvertJavaScriptKeyToVirtualKey(string key)
|
||||
{
|
||||
// Loop backwards through array until the first non-zero byte is found.
|
||||
var firstZero = 0;
|
||||
for (int i = bytes.Length - 1; i >= 0; i--)
|
||||
short keyCode;
|
||||
switch (key)
|
||||
{
|
||||
if (bytes[i] != 0)
|
||||
{
|
||||
firstZero = i + 1;
|
||||
case "Down":
|
||||
case "ArrowDown":
|
||||
keyCode = (short)VirtualKey.DOWN;
|
||||
break;
|
||||
case "Up":
|
||||
case "ArrowUp":
|
||||
keyCode = (short)VirtualKey.UP;
|
||||
break;
|
||||
case "Left":
|
||||
case "ArrowLeft":
|
||||
keyCode = (short)VirtualKey.LEFT;
|
||||
break;
|
||||
case "Right":
|
||||
case "ArrowRight":
|
||||
keyCode = (short)VirtualKey.RIGHT;
|
||||
break;
|
||||
case "Enter":
|
||||
keyCode = (short)VirtualKey.RETURN;
|
||||
break;
|
||||
case "Esc":
|
||||
case "Escape":
|
||||
keyCode = (short)VirtualKey.ESCAPE;
|
||||
break;
|
||||
case "Alt":
|
||||
keyCode = (short)VirtualKey.MENU;
|
||||
break;
|
||||
case "Control":
|
||||
keyCode = (short)VirtualKey.CONTROL;
|
||||
break;
|
||||
case "Shift":
|
||||
keyCode = (short)VirtualKey.SHIFT;
|
||||
break;
|
||||
case "PAUSE":
|
||||
keyCode = (short)VirtualKey.PAUSE;
|
||||
break;
|
||||
case "BREAK":
|
||||
keyCode = (short)VirtualKey.PAUSE;
|
||||
break;
|
||||
case "Delete":
|
||||
keyCode = (short)VirtualKey.DELETE;
|
||||
break;
|
||||
case "Home":
|
||||
keyCode = (short)VirtualKey.HOME;
|
||||
break;
|
||||
case "PageUp":
|
||||
keyCode = (short)VirtualKey.PRIOR;
|
||||
break;
|
||||
case "PageDown":
|
||||
keyCode = (short)VirtualKey.NEXT;
|
||||
break;
|
||||
case "NumLock":
|
||||
keyCode = (short)VirtualKey.NUMLOCK;
|
||||
break;
|
||||
case "Insert":
|
||||
keyCode = (short)VirtualKey.INSERT;
|
||||
break;
|
||||
case "ScrollLock":
|
||||
keyCode = (short)VirtualKey.SCROLL;
|
||||
break;
|
||||
case "F1":
|
||||
keyCode = (short)VirtualKey.F1;
|
||||
break;
|
||||
case "F2":
|
||||
keyCode = (short)VirtualKey.F2;
|
||||
break;
|
||||
case "F3":
|
||||
keyCode = (short)VirtualKey.F3;
|
||||
break;
|
||||
case "F4":
|
||||
keyCode = (short)VirtualKey.F4;
|
||||
break;
|
||||
case "F5":
|
||||
keyCode = (short)VirtualKey.F5;
|
||||
break;
|
||||
case "F6":
|
||||
keyCode = (short)VirtualKey.F6;
|
||||
break;
|
||||
case "F7":
|
||||
keyCode = (short)VirtualKey.F7;
|
||||
break;
|
||||
case "F8":
|
||||
keyCode = (short)VirtualKey.F8;
|
||||
break;
|
||||
case "F9":
|
||||
keyCode = (short)VirtualKey.F9;
|
||||
break;
|
||||
case "F10":
|
||||
keyCode = (short)VirtualKey.F10;
|
||||
break;
|
||||
case "F11":
|
||||
keyCode = (short)VirtualKey.F11;
|
||||
break;
|
||||
case "F12":
|
||||
keyCode = (short)VirtualKey.F12;
|
||||
break;
|
||||
default:
|
||||
keyCode = User32.VkKeyScan(Convert.ToChar(key));
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (firstZero == 0)
|
||||
{
|
||||
throw new Exception("Byte array is empty.");
|
||||
}
|
||||
// Return non-empty bytes.
|
||||
return bytes.Take(firstZero).ToArray();
|
||||
return keyCode;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -4,71 +4,71 @@
|
||||
<button id="closeOSKButton">X</button>
|
||||
</div>
|
||||
<div class="osk-row">
|
||||
<div class="osk-key" alt-key="~" keycode="192">`</div>
|
||||
<div class="osk-key" alt-key="!" keycode="49">1</div>
|
||||
<div class="osk-key" alt-key="@@" keycode="50">2</div>
|
||||
<div class="osk-key" alt-key="#" keycode="51">3</div>
|
||||
<div class="osk-key" alt-key="$" keycode="52">4</div>
|
||||
<div class="osk-key" alt-key="%" keycode="53">5</div>
|
||||
<div class="osk-key" alt-key="^" keycode="54">6</div>
|
||||
<div class="osk-key" alt-key="&" keycode="55">7</div>
|
||||
<div class="osk-key" alt-key="*" keycode="56">8</div>
|
||||
<div class="osk-key" alt-key="(" keycode="57">9</div>
|
||||
<div class="osk-key" alt-key=")" keycode="48">0</div>
|
||||
<div class="osk-key" alt-key="_" keycode="173">-</div>
|
||||
<div class="osk-key" alt-key="+" keycode="61">=</div>
|
||||
<div class="osk-key" alt-key="~">`</div>
|
||||
<div class="osk-key" alt-key="!">1</div>
|
||||
<div class="osk-key" alt-key="@@">2</div>
|
||||
<div class="osk-key" alt-key="#">3</div>
|
||||
<div class="osk-key" alt-key="$">4</div>
|
||||
<div class="osk-key" alt-key="%">5</div>
|
||||
<div class="osk-key" alt-key="^">6</div>
|
||||
<div class="osk-key" alt-key="&">7</div>
|
||||
<div class="osk-key" alt-key="*">8</div>
|
||||
<div class="osk-key" alt-key="(">9</div>
|
||||
<div class="osk-key" alt-key=")">0</div>
|
||||
<div class="osk-key" alt-key="_">-</div>
|
||||
<div class="osk-key" alt-key="+">=</div>
|
||||
</div>
|
||||
<div class="osk-row">
|
||||
<div class="osk-key" alt-key="Q" keycode="81">q</div>
|
||||
<div class="osk-key" alt-key="W" keycode="87">w</div>
|
||||
<div class="osk-key" alt-key="E" keycode="69">e</div>
|
||||
<div class="osk-key" alt-key="R" keycode="82">r</div>
|
||||
<div class="osk-key" alt-key="T" keycode="84">t</div>
|
||||
<div class="osk-key" alt-key="Y" keycode="89">y</div>
|
||||
<div class="osk-key" alt-key="U" keycode="85">u</div>
|
||||
<div class="osk-key" alt-key="I" keycode="73">i</div>
|
||||
<div class="osk-key" alt-key="O" keycode="79">o</div>
|
||||
<div class="osk-key" alt-key="P" keycode="80">p</div>
|
||||
<div class="osk-key" alt-key="{" keycode="219">[</div>
|
||||
<div class="osk-key" alt-key="}" keycode="221">]</div>
|
||||
<div class="osk-key" alt-key="|" keycode="220">\</div>
|
||||
<div class="osk-key" alt-key="Q">q</div>
|
||||
<div class="osk-key" alt-key="W">w</div>
|
||||
<div class="osk-key" alt-key="E">e</div>
|
||||
<div class="osk-key" alt-key="R">r</div>
|
||||
<div class="osk-key" alt-key="T">t</div>
|
||||
<div class="osk-key" alt-key="Y">y</div>
|
||||
<div class="osk-key" alt-key="U">u</div>
|
||||
<div class="osk-key" alt-key="I">i</div>
|
||||
<div class="osk-key" alt-key="O">o</div>
|
||||
<div class="osk-key" alt-key="P">p</div>
|
||||
<div class="osk-key" alt-key="{">[</div>
|
||||
<div class="osk-key" alt-key="}">]</div>
|
||||
<div class="osk-key" alt-key="|">\</div>
|
||||
</div>
|
||||
<div class="osk-row">
|
||||
<div class="osk-key" alt-key="A" keycode="65">a</div>
|
||||
<div class="osk-key" alt-key="S" keycode="83">s</div>
|
||||
<div class="osk-key" alt-key="D" keycode="68">d</div>
|
||||
<div class="osk-key" alt-key="F" keycode="70">f</div>
|
||||
<div class="osk-key" alt-key="G" keycode="71">g</div>
|
||||
<div class="osk-key" alt-key="H" keycode="72">h</div>
|
||||
<div class="osk-key" alt-key="J" keycode="74">j</div>
|
||||
<div class="osk-key" alt-key="K" keycode="75">k</div>
|
||||
<div class="osk-key" alt-key="L" keycode="76">l</div>
|
||||
<div class="osk-key" alt-key=":" keycode="59">;</div>
|
||||
<div class="osk-key" alt-key=""" keycode="222">'</div>
|
||||
<div class="osk-key wide-key-sm" keycode="13">Enter</div>
|
||||
<div class="osk-key" alt-key="A">a</div>
|
||||
<div class="osk-key" alt-key="S">s</div>
|
||||
<div class="osk-key" alt-key="D">d</div>
|
||||
<div class="osk-key" alt-key="F">f</div>
|
||||
<div class="osk-key" alt-key="G">g</div>
|
||||
<div class="osk-key" alt-key="H">h</div>
|
||||
<div class="osk-key" alt-key="J">j</div>
|
||||
<div class="osk-key" alt-key="K">k</div>
|
||||
<div class="osk-key" alt-key="L">l</div>
|
||||
<div class="osk-key" alt-key=":">;</div>
|
||||
<div class="osk-key" alt-key=""">'</div>
|
||||
<div class="osk-key wide-key-sm">Enter</div>
|
||||
</div>
|
||||
<div class="osk-row">
|
||||
<div id="shiftKey" class="osk-key wide-key-sm" keycode="16">Shift</div>
|
||||
<div class="osk-key" alt-key="Z" keycode="90">z</div>
|
||||
<div class="osk-key" alt-key="X" keycode="88">x</div>
|
||||
<div class="osk-key" alt-key="C" keycode="67">c</div>
|
||||
<div class="osk-key" alt-key="V" keycode="86">v</div>
|
||||
<div class="osk-key" alt-key="B" keycode="66">b</div>
|
||||
<div class="osk-key" alt-key="N" keycode="78">n</div>
|
||||
<div class="osk-key" alt-key="M" keycode="77">m</div>
|
||||
<div class="osk-key" alt-key="<" keycode="188">,</div>
|
||||
<div class="osk-key" alt-key=">" keycode="190">.</div>
|
||||
<div class="osk-key" alt-key="?" keycode="191">/</div>
|
||||
<div id="shiftKey" class="osk-key wide-key-sm">Shift</div>
|
||||
<div class="osk-key" alt-key="Z">z</div>
|
||||
<div class="osk-key" alt-key="X">x</div>
|
||||
<div class="osk-key" alt-key="C">c</div>
|
||||
<div class="osk-key" alt-key="V">v</div>
|
||||
<div class="osk-key" alt-key="B">b</div>
|
||||
<div class="osk-key" alt-key="N">n</div>
|
||||
<div class="osk-key" alt-key="M">m</div>
|
||||
<div class="osk-key" alt-key="<">,</div>
|
||||
<div class="osk-key" alt-key=">">.</div>
|
||||
<div class="osk-key" alt-key="?">/</div>
|
||||
</div>
|
||||
<div class="osk-row">
|
||||
<div id="ctrlKey" class="osk-key" keycode="17">Ctrl</div>
|
||||
<div id="altKey" class="osk-key" keycode="18">Alt</div>
|
||||
<div class="osk-key wide-key-lg" keycode="32">Space</div>
|
||||
<div class="osk-key" keycode="37">Left</div>
|
||||
<div class="osk-key" keycode="38">Up</div>
|
||||
<div class="osk-key" keycode="40">Down</div>
|
||||
<div class="osk-key" keycode="39">Right</div>
|
||||
<div class="osk-key" keycode="8">Backspace</div>
|
||||
<div id="ctrlKey" class="osk-key">Ctrl</div>
|
||||
<div id="altKey" class="osk-key">Alt</div>
|
||||
<div class="osk-key wide-key-lg">Space</div>
|
||||
<div class="osk-key">Left</div>
|
||||
<div class="osk-key">Up</div>
|
||||
<div class="osk-key">Down</div>
|
||||
<div class="osk-key">Right</div>
|
||||
<div class="osk-key">Backspace</div>
|
||||
</div>
|
||||
</div>
|
||||
<script src="~/scripts/RemoteControl/OSK.js" type="module"></script>
|
||||
@ -65,17 +65,17 @@ namespace Remotely_Server.Services
|
||||
await DeviceHub.Clients.Client(serviceID).SendAsync("CtrlAltDel");
|
||||
}
|
||||
|
||||
public async Task KeyDown(int key)
|
||||
public async Task KeyDown(string key)
|
||||
{
|
||||
await RCDeviceHub.Clients.Client(ScreenCasterID).SendAsync("KeyDown", key, Context.ConnectionId);
|
||||
}
|
||||
|
||||
public async Task KeyPress(int key)
|
||||
public async Task KeyPress(string key)
|
||||
{
|
||||
await RCDeviceHub.Clients.Client(ScreenCasterID).SendAsync("KeyPress", key, Context.ConnectionId);
|
||||
}
|
||||
|
||||
public async Task KeyUp(int key)
|
||||
public async Task KeyUp(string key)
|
||||
{
|
||||
await RCDeviceHub.Clients.Client(ScreenCasterID).SendAsync("KeyUp", key, Context.ConnectionId);
|
||||
}
|
||||
|
||||
@ -1 +1 @@
|
||||
2019.03.15.1813
|
||||
2019.03.17.1106
|
||||
|
||||
@ -14,14 +14,14 @@ window.addEventListener("load", (ev) => {
|
||||
if (key.id == "shiftKey" || key.id == "ctrlKey" || key.id == "altKey") {
|
||||
key.classList.toggle("toggled");
|
||||
if (key.classList.contains("toggled")) {
|
||||
RemoteControl.RCBrowserSockets.SendKeyDown(Number(key.getAttribute("keycode")));
|
||||
RemoteControl.RCBrowserSockets.SendKeyDown(key.innerHTML);
|
||||
}
|
||||
else {
|
||||
RemoteControl.RCBrowserSockets.SendKeyUp(Number(key.getAttribute("keycode")));
|
||||
RemoteControl.RCBrowserSockets.SendKeyUp(key.innerHTML);
|
||||
}
|
||||
}
|
||||
else {
|
||||
RemoteControl.RCBrowserSockets.SendKeyPress(Number(key.getAttribute("keycode")));
|
||||
RemoteControl.RCBrowserSockets.SendKeyPress(key.innerHTML);
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
@ -1 +1 @@
|
||||
{"version":3,"file":"OSK.js","sourceRoot":"","sources":["OSK.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAE9B,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAC,EAAE;IAClC,QAAQ,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,GAAG,CAAA,EAAE;QAC/C,GAAG,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC,EAAE,EAAC,EAAE;YAChC,IAAI,GAAG,CAAC,EAAE,IAAI,UAAU,EAAE;gBACtB,QAAQ,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,OAAO,CAAA,EAAE;oBACpD,IAAI,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;oBAC7C,IAAI,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC;oBAC/B,OAAO,CAAC,SAAS,GAAG,MAAM,CAAC;oBAC3B,OAAO,CAAC,YAAY,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;gBAC5C,CAAC,CAAC,CAAA;aACL;YACD,IAAI,GAAG,CAAC,EAAE,IAAI,UAAU,IAAI,GAAG,CAAC,EAAE,IAAI,SAAS,IAAI,GAAG,CAAC,EAAE,IAAI,QAAQ,EAAC;gBAClE,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;gBAChC,IAAI,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;oBACnC,aAAa,CAAC,gBAAgB,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;iBACnF;qBACI;oBACD,aAAa,CAAC,gBAAgB,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;iBACjF;aACJ;iBACI;gBACD,aAAa,CAAC,gBAAgB,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;aACpF;QACL,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAA;IACF,QAAQ,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE;QACrE,EAAE,CAAC,gBAAgB,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACjD,CAAC,CAAC,CAAA;AACN,CAAC,CAAC,CAAC"}
|
||||
{"version":3,"file":"OSK.js","sourceRoot":"","sources":["OSK.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAE9B,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAC,EAAE;IAClC,QAAQ,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,GAAG,CAAA,EAAE;QAC/C,GAAG,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC,EAAE,EAAC,EAAE;YAChC,IAAI,GAAG,CAAC,EAAE,IAAI,UAAU,EAAE;gBACtB,QAAQ,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,OAAO,CAAA,EAAE;oBACpD,IAAI,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;oBAC7C,IAAI,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC;oBAC/B,OAAO,CAAC,SAAS,GAAG,MAAM,CAAC;oBAC3B,OAAO,CAAC,YAAY,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;gBAC5C,CAAC,CAAC,CAAA;aACL;YACD,IAAI,GAAG,CAAC,EAAE,IAAI,UAAU,IAAI,GAAG,CAAC,EAAE,IAAI,SAAS,IAAI,GAAG,CAAC,EAAE,IAAI,QAAQ,EAAC;gBAClE,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;gBAChC,IAAI,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;oBACnC,aAAa,CAAC,gBAAgB,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;iBAC7D;qBACI;oBACD,aAAa,CAAC,gBAAgB,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;iBAC3D;aACJ;iBACI;gBACD,aAAa,CAAC,gBAAgB,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;aAC9D;QACL,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAA;IACF,QAAQ,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE;QACrE,EAAE,CAAC,gBAAgB,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACjD,CAAC,CAAC,CAAA;AACN,CAAC,CAAC,CAAC"}
|
||||
@ -15,14 +15,14 @@ window.addEventListener("load", (ev)=>{
|
||||
if (key.id == "shiftKey" || key.id == "ctrlKey" || key.id == "altKey"){
|
||||
key.classList.toggle("toggled");
|
||||
if (key.classList.contains("toggled")) {
|
||||
RemoteControl.RCBrowserSockets.SendKeyDown(Number(key.getAttribute("keycode")));
|
||||
RemoteControl.RCBrowserSockets.SendKeyDown(key.innerHTML);
|
||||
}
|
||||
else {
|
||||
RemoteControl.RCBrowserSockets.SendKeyUp(Number(key.getAttribute("keycode")));
|
||||
RemoteControl.RCBrowserSockets.SendKeyUp(key.innerHTML);
|
||||
}
|
||||
}
|
||||
else {
|
||||
RemoteControl.RCBrowserSockets.SendKeyPress(Number(key.getAttribute("keycode")));
|
||||
RemoteControl.RCBrowserSockets.SendKeyPress(key.innerHTML);
|
||||
}
|
||||
});
|
||||
})
|
||||
|
||||
@ -65,14 +65,14 @@ export class RCBrowserSockets {
|
||||
SendMouseWheel(deltaX, deltaY) {
|
||||
this.Connection.invoke("MouseWheel", deltaX, deltaY);
|
||||
}
|
||||
SendKeyDown(keyCode) {
|
||||
this.Connection.invoke("KeyDown", keyCode);
|
||||
SendKeyDown(key) {
|
||||
this.Connection.invoke("KeyDown", key);
|
||||
}
|
||||
SendKeyUp(keyCode) {
|
||||
this.Connection.invoke("KeyUp", keyCode);
|
||||
SendKeyUp(key) {
|
||||
this.Connection.invoke("KeyUp", key);
|
||||
}
|
||||
SendKeyPress(keyCode) {
|
||||
this.Connection.invoke("KeyPress", keyCode);
|
||||
SendKeyPress(key) {
|
||||
this.Connection.invoke("KeyPress", key);
|
||||
}
|
||||
SendCtrlAltDel() {
|
||||
this.Connection.invoke("CtrlAltDel", RemoteControl.ServiceID);
|
||||
|
||||
File diff suppressed because one or more lines are too long
@ -72,14 +72,14 @@ export class RCBrowserSockets {
|
||||
SendMouseWheel(deltaX: number, deltaY: number): any {
|
||||
this.Connection.invoke("MouseWheel", deltaX, deltaY);
|
||||
}
|
||||
SendKeyDown(keyCode: number): any {
|
||||
this.Connection.invoke("KeyDown", keyCode);
|
||||
SendKeyDown(key: string): any {
|
||||
this.Connection.invoke("KeyDown", key);
|
||||
}
|
||||
SendKeyUp(keyCode: number): any {
|
||||
this.Connection.invoke("KeyUp", keyCode);
|
||||
SendKeyUp(key: string): any {
|
||||
this.Connection.invoke("KeyUp", key);
|
||||
}
|
||||
SendKeyPress(keyCode: number): any {
|
||||
this.Connection.invoke("KeyPress", keyCode);
|
||||
SendKeyPress(key: string): any {
|
||||
this.Connection.invoke("KeyPress", key);
|
||||
}
|
||||
|
||||
SendCtrlAltDel() {
|
||||
|
||||
@ -217,14 +217,14 @@ export function ApplyInputHandlers(sockets) {
|
||||
return;
|
||||
}
|
||||
e.preventDefault();
|
||||
sockets.SendKeyDown(e.keyCode);
|
||||
sockets.SendKeyDown(e.key);
|
||||
});
|
||||
window.addEventListener("keyup", function (e) {
|
||||
if (document.querySelector("input:focus")) {
|
||||
return;
|
||||
}
|
||||
e.preventDefault();
|
||||
sockets.SendKeyUp(e.keyCode);
|
||||
sockets.SendKeyUp(e.key);
|
||||
});
|
||||
window.ondragover = function (e) {
|
||||
e.preventDefault();
|
||||
|
||||
File diff suppressed because one or more lines are too long
@ -231,14 +231,14 @@ export function ApplyInputHandlers(sockets: RCBrowserSockets) {
|
||||
return;
|
||||
}
|
||||
e.preventDefault();
|
||||
sockets.SendKeyDown(e.keyCode);
|
||||
sockets.SendKeyDown(e.key);
|
||||
});
|
||||
window.addEventListener("keyup", function (e) {
|
||||
if (document.querySelector("input:focus")) {
|
||||
return;
|
||||
}
|
||||
e.preventDefault();
|
||||
sockets.SendKeyUp(e.keyCode);
|
||||
sockets.SendKeyUp(e.key);
|
||||
});
|
||||
|
||||
window.ondragover = function (e) {
|
||||
|
||||
Loading…
Reference in New Issue
Block a user