Skip to content

Commit a4c15d5

Browse files
committed
Revert "Move hold key handling into Go backend analogous to https://www.kernel.org/doc/Documentation/usb/gadget_hid.txt"
This reverts commit 146cee9.
1 parent 7240aba commit a4c15d5

File tree

5 files changed

+12
-20
lines changed

5 files changed

+12
-20
lines changed

internal/usbgadget/hid_keyboard.go

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ func (u *UsbGadget) keyboardWriteHidFile(data []byte) error {
7474
return nil
7575
}
7676

77-
func (u *UsbGadget) KeyboardReport(modifier uint8, keys []uint8, hold bool) error {
77+
func (u *UsbGadget) KeyboardReport(modifier uint8, keys []uint8) error {
7878
u.keyboardLock.Lock()
7979
defer u.keyboardLock.Unlock()
8080

@@ -90,13 +90,6 @@ func (u *UsbGadget) KeyboardReport(modifier uint8, keys []uint8, hold bool) erro
9090
return err
9191
}
9292

93-
if !hold {
94-
err := u.keyboardWriteHidFile(make([]uint8, 8))
95-
if err != nil {
96-
return err
97-
}
98-
}
99-
10093
u.resetUserInputTime()
10194
return nil
10295
}

jsonrpc.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -992,7 +992,7 @@ var rpcHandlers = map[string]RPCHandler{
992992
"getNetworkSettings": {Func: rpcGetNetworkSettings},
993993
"setNetworkSettings": {Func: rpcSetNetworkSettings, Params: []string{"settings"}},
994994
"renewDHCPLease": {Func: rpcRenewDHCPLease},
995-
"keyboardReport": {Func: rpcKeyboardReport, Params: []string{"modifier", "keys", "hold"}},
995+
"keyboardReport": {Func: rpcKeyboardReport, Params: []string{"modifier", "keys"}},
996996
"absMouseReport": {Func: rpcAbsMouseReport, Params: []string{"x", "y", "buttons"}},
997997
"relMouseReport": {Func: rpcRelMouseReport, Params: []string{"dx", "dy", "buttons"}},
998998
"wheelReport": {Func: rpcWheelReport, Params: []string{"wheelY"}},

ui/src/components/popovers/PasteModal.tsx

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,8 @@ import { keys, modifiers } from "@/keyboardMappings";
1313
import { layouts, chars } from "@/keyboardLayouts";
1414
import notifications from "@/notifications";
1515

16-
const hidKeyboardPayload = (keys: number[], modifier: number, hold: boolean) => {
17-
return { keys, modifier, hold };
16+
const hidKeyboardPayload = (keys: number[], modifier: number) => {
17+
return { keys, modifier };
1818
};
1919

2020
const modifierCode = (shift?: boolean, altRight?: boolean) => {
@@ -82,10 +82,13 @@ export default function PasteModal() {
8282
await new Promise<void>((resolve, reject) => {
8383
send(
8484
"keyboardReport",
85-
hidKeyboardPayload([kei], modz[index], false),
85+
hidKeyboardPayload([kei], modz[index]),
8686
params => {
8787
if ("error" in params) return reject(params.error);
88-
resolve();
88+
send("keyboardReport", hidKeyboardPayload([], 0), params => {
89+
if ("error" in params) return reject(params.error);
90+
resolve();
91+
});
8992
},
9093
);
9194
});

ui/src/hooks/useKeyboard.ts

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,6 @@ import { useHidStore, useRTCStore } from "@/hooks/stores";
44
import { useJsonRpc } from "@/hooks/useJsonRpc";
55
import { keys, modifiers } from "@/keyboardMappings";
66

7-
const hidKeyboardPayload = (keys: number[], modifier: number, hold: boolean) => {
8-
return { keys, modifier, hold };
9-
};
10-
117
export default function useKeyboard() {
128
const [send] = useJsonRpc();
139

@@ -21,7 +17,7 @@ export default function useKeyboard() {
2117
if (rpcDataChannel?.readyState !== "open") return;
2218
const accModifier = modifiers.reduce((acc, val) => acc + val, 0);
2319

24-
send("keyboardReport", hidKeyboardPayload(keys, accModifier, true));
20+
send("keyboardReport", { keys, modifier: accModifier });
2521

2622
// We do this for the info bar to display the currently pressed keys for the user
2723
updateActiveKeysAndModifiers({ keys: keys, modifiers: modifiers });

usb.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,8 @@ func initUsbGadget() {
2626
}()
2727
}
2828

29-
func rpcKeyboardReport(modifier uint8, keys []uint8, hold bool) error {
30-
return gadget.KeyboardReport(modifier, keys, hold)
29+
func rpcKeyboardReport(modifier uint8, keys []uint8) error {
30+
return gadget.KeyboardReport(modifier, keys)
3131
}
3232

3333
func rpcAbsMouseReport(x, y int, buttons uint8) error {

0 commit comments

Comments
 (0)