mirror of https://github.com/jetkvm/kvm.git
chore: remove keyPressReportApiAvailable
This commit is contained in:
parent
867ed88c6e
commit
8abcd1efe8
|
@ -461,8 +461,8 @@ export interface HidState {
|
|||
keysDownState: KeysDownState;
|
||||
setKeysDownState: (state: KeysDownState) => void;
|
||||
|
||||
keyPressReportApiAvailable: boolean;
|
||||
setkeyPressReportApiAvailable: (available: boolean) => void;
|
||||
// keyPressReportApiAvailable is no longer needed, we'll simply use hidChannel available to
|
||||
// determine if the device supports keyPressReport
|
||||
|
||||
isVirtualKeyboardEnabled: boolean;
|
||||
setVirtualKeyboardEnabled: (enabled: boolean) => void;
|
||||
|
@ -481,9 +481,6 @@ export const useHidStore = create<HidState>(set => ({
|
|||
keysDownState: { modifier: 0, keys: [0,0,0,0,0,0] } as KeysDownState,
|
||||
setKeysDownState: (state: KeysDownState): void => set({ keysDownState: state }),
|
||||
|
||||
keyPressReportApiAvailable: true,
|
||||
setkeyPressReportApiAvailable: (available: boolean) => set({ keyPressReportApiAvailable: available }),
|
||||
|
||||
isVirtualKeyboardEnabled: false,
|
||||
setVirtualKeyboardEnabled: (enabled: boolean): void => set({ isVirtualKeyboardEnabled: enabled }),
|
||||
|
||||
|
|
|
@ -21,23 +21,15 @@ export default function useKeyboard() {
|
|||
// dynamically set when the device responds to the first key press event or reports its
|
||||
// keysDownState when queried since the keyPressReport was introduced together with the
|
||||
// getKeysDownState API.
|
||||
const { keyPressReportApiAvailable, setkeyPressReportApiAvailable } = useHidStore();
|
||||
const enableKeyPressReport = useCallback((reason: string) => {
|
||||
if (keyPressReportApiAvailable) return;
|
||||
console.debug(`Enable keyPressReport API because ${reason}`);
|
||||
setkeyPressReportApiAvailable(true);
|
||||
}, [setkeyPressReportApiAvailable, keyPressReportApiAvailable]);
|
||||
|
||||
// HidRPC is a binary format for exchanging keyboard and mouse events
|
||||
const { reportKeyboardEvent, reportKeypressEvent, rpcHidReady } = useHidRpc((message) => {
|
||||
switch (message.constructor) {
|
||||
case KeysDownStateMessage:
|
||||
setKeysDownState((message as KeysDownStateMessage).keysDownState);
|
||||
enableKeyPressReport("HidRPC:KeysDownStateMessage received");
|
||||
break;
|
||||
case KeyboardLedStateMessage:
|
||||
setKeyboardLedState((message as KeyboardLedStateMessage).keyboardLedState);
|
||||
enableKeyPressReport("HidRPC:KeyboardLedStateMessage received");
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
|
@ -57,7 +49,6 @@ export default function useKeyboard() {
|
|||
if (rpcHidReady) {
|
||||
console.debug("Sending keyboard report via HidRPC");
|
||||
reportKeyboardEvent(state.keys, state.modifier);
|
||||
enableKeyPressReport("HidRPC:KeyboardReport received");
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -72,7 +63,6 @@ export default function useKeyboard() {
|
|||
rpcHidReady,
|
||||
send,
|
||||
reportKeyboardEvent,
|
||||
enableKeyPressReport,
|
||||
],
|
||||
);
|
||||
|
||||
|
@ -154,7 +144,7 @@ export default function useKeyboard() {
|
|||
return;
|
||||
}
|
||||
|
||||
if (keyPressReportApiAvailable) {
|
||||
if (rpcHidReady) {
|
||||
// if the keyPress api is available, we can just send the key press event
|
||||
sendKeypressEvent(key, press);
|
||||
} else {
|
||||
|
@ -169,11 +159,10 @@ export default function useKeyboard() {
|
|||
}
|
||||
},
|
||||
[
|
||||
keyPressReportApiAvailable,
|
||||
rpcHidReady,
|
||||
keysDownState,
|
||||
resetKeyboardState,
|
||||
rpcDataChannel?.readyState,
|
||||
rpcHidReady,
|
||||
sendKeyboardEvent,
|
||||
sendKeypressEvent,
|
||||
reportKeypressEvent,
|
||||
|
|
|
@ -583,7 +583,6 @@ export default function KvmIdRoute() {
|
|||
const {
|
||||
keyboardLedState, setKeyboardLedState,
|
||||
keysDownState, setKeysDownState, setUsbState,
|
||||
setkeyPressReportApiAvailable
|
||||
} = useHidStore();
|
||||
|
||||
const [hasUpdated, setHasUpdated] = useState(false);
|
||||
|
@ -621,7 +620,6 @@ export default function KvmIdRoute() {
|
|||
const downState = resp.params as KeysDownState;
|
||||
console.debug("Setting key down state:", downState);
|
||||
setKeysDownState(downState);
|
||||
setkeyPressReportApiAvailable(true); // if they returned a keyDownState, we know they also support keyPressReport
|
||||
}
|
||||
|
||||
if (resp.method === "otaState") {
|
||||
|
@ -698,7 +696,6 @@ export default function KvmIdRoute() {
|
|||
if (resp.error.code === -32601) {
|
||||
// if we don't support key down state, we know key press is also not available
|
||||
console.warn("Failed to get key down state, switching to old-school", resp.error);
|
||||
setkeyPressReportApiAvailable(false);
|
||||
} else {
|
||||
console.error("Failed to get key down state", resp.error);
|
||||
}
|
||||
|
@ -706,11 +703,10 @@ export default function KvmIdRoute() {
|
|||
const downState = resp.result as KeysDownState;
|
||||
console.debug("Keyboard key down state", downState);
|
||||
setKeysDownState(downState);
|
||||
setkeyPressReportApiAvailable(true); // if they returned a keyDownState, we know they also support keyPressReport
|
||||
}
|
||||
setNeedKeyDownState(false);
|
||||
});
|
||||
}, [keysDownState, needKeyDownState, rpcDataChannel?.readyState, send, setkeyPressReportApiAvailable, setKeysDownState]);
|
||||
}, [keysDownState, needKeyDownState, rpcDataChannel?.readyState, send, setKeysDownState]);
|
||||
|
||||
// When the update is successful, we need to refresh the client javascript and show a success modal
|
||||
useEffect(() => {
|
||||
|
|
Loading…
Reference in New Issue