ui(actionBar): remove Ctrl + Alt + Del in favor of Keyboard Macros

This commit is contained in:
Siyuan Miao 2025-06-19 00:35:17 +02:00
parent a1ed28c676
commit ffeaf8cced
2 changed files with 6 additions and 31 deletions

View File

@ -1,6 +1,6 @@
import { MdOutlineContentPasteGo } from "react-icons/md"; import { MdOutlineContentPasteGo } from "react-icons/md";
import { LuCable, LuHardDrive, LuMaximize, LuSettings, LuSignal } from "react-icons/lu"; import { LuCable, LuHardDrive, LuMaximize, LuSettings, LuSignal } from "react-icons/lu";
import { FaKeyboard, FaLock} from "react-icons/fa6"; import { FaKeyboard } from "react-icons/fa6";
import { Popover, PopoverButton, PopoverPanel } from "@headlessui/react"; import { Popover, PopoverButton, PopoverPanel } from "@headlessui/react";
import { Fragment, useCallback, useRef } from "react"; import { Fragment, useCallback, useRef } from "react";
import { CommandLineIcon } from "@heroicons/react/20/solid"; import { CommandLineIcon } from "@heroicons/react/20/solid";
@ -19,8 +19,6 @@ import WakeOnLanModal from "@/components/popovers/WakeOnLan/Index";
import MountPopopover from "@/components/popovers/MountPopover"; import MountPopopover from "@/components/popovers/MountPopover";
import ExtensionPopover from "@/components/popovers/ExtensionPopover"; import ExtensionPopover from "@/components/popovers/ExtensionPopover";
import { useDeviceUiNavigation } from "@/hooks/useAppNavigation"; import { useDeviceUiNavigation } from "@/hooks/useAppNavigation";
import useKeyboard from "@/hooks/useKeyboard";
import { keys, modifiers } from "@/keyboardMappings";
export default function Actionbar({ export default function Actionbar({
requestFullscreen, requestFullscreen,
@ -58,8 +56,6 @@ export default function Actionbar({
[setDisableFocusTrap], [setDisableFocusTrap],
); );
const { sendKeyboardEvent, resetKeyboardState } = useKeyboard();
return ( return (
<Container className="border-b border-b-slate-800/20 bg-white dark:border-b-slate-300/20 dark:bg-slate-900"> <Container className="border-b border-b-slate-800/20 bg-white dark:border-b-slate-300/20 dark:bg-slate-900">
<div <div
@ -266,7 +262,7 @@ export default function Actionbar({
}} }}
/> />
</div> </div>
{useSettingsStore().actionBarCtrlAltDel && ( {/* {useSettingsStore().actionBarCtrlAltDel && (
<div className="hidden lg:block"> <div className="hidden lg:block">
<Button <Button
size="XS" size="XS"
@ -282,7 +278,7 @@ export default function Actionbar({
}} }}
/> />
</div> </div>
)} )} */}
<div> <div>
<Button <Button
size="XS" size="XS"

View File

@ -1,10 +1,9 @@
import { useCallback, useEffect, useState } from "react"; import { useEffect } from "react";
import { SettingsPageHeader } from "@components/SettingsPageheader"; import { SettingsPageHeader } from "@components/SettingsPageheader";
import { SettingsItem } from "@routes/devices.$id.settings"; import { SettingsItem } from "@routes/devices.$id.settings";
import { BacklightSettings, useSettingsStore } from "@/hooks/stores"; import { BacklightSettings, useSettingsStore } from "@/hooks/stores";
import { useJsonRpc } from "@/hooks/useJsonRpc"; import { useJsonRpc } from "@/hooks/useJsonRpc";
import Checkbox from "@components/Checkbox";
import { SelectMenuBasic } from "@components/SelectMenuBasic"; import { SelectMenuBasic } from "@components/SelectMenuBasic";
import { UsbDeviceSetting } from "@components/UsbDeviceSetting"; import { UsbDeviceSetting } from "@components/UsbDeviceSetting";
@ -12,14 +11,6 @@ import notifications from "../notifications";
import { UsbInfoSetting } from "../components/UsbInfoSetting"; import { UsbInfoSetting } from "../components/UsbInfoSetting";
import { FeatureFlag } from "../components/FeatureFlag"; import { FeatureFlag } from "../components/FeatureFlag";
export interface ActionBarConfig {
ctrlAltDel: boolean;
}
const defaultActionBarConfig: ActionBarConfig = {
ctrlAltDel: false,
};
export default function SettingsHardwareRoute() { export default function SettingsHardwareRoute() {
const [send] = useJsonRpc(); const [send] = useJsonRpc();
const settings = useSettingsStore(); const settings = useSettingsStore();
@ -80,18 +71,6 @@ export default function SettingsHardwareRoute() {
}); });
}, [send, setBacklightSettings]); }, [send, setBacklightSettings]);
const [actionBarConfig, setActionBarConfig] = useState<ActionBarConfig>(defaultActionBarConfig);
const onActionBarItemChange = useCallback(
(key: keyof ActionBarConfig) => (e: React.ChangeEvent<HTMLInputElement>) => {
setActionBarConfig(prev => ({
...prev,
[key]: e.target.checked,
}));
},
[],
);
return ( return (
<div className="space-y-4"> <div className="space-y-4">
<SettingsPageHeader <SettingsPageHeader
@ -137,7 +116,7 @@ export default function SettingsHardwareRoute() {
}} }}
/> />
</SettingsItem> </SettingsItem>
<SettingsItem {/* <SettingsItem
title="Enable Ctrl+Alt+Del Action Bar" title="Enable Ctrl+Alt+Del Action Bar"
description="Enable or disable the action bar action for sending a Ctrl+Alt+Del to the host" description="Enable or disable the action bar action for sending a Ctrl+Alt+Del to the host"
> >
@ -145,7 +124,7 @@ export default function SettingsHardwareRoute() {
checked={actionBarConfig.ctrlAltDel} checked={actionBarConfig.ctrlAltDel}
onChange={onActionBarItemChange("ctrlAltDel")} onChange={onActionBarItemChange("ctrlAltDel")}
/> />
</SettingsItem> </SettingsItem> */}
{settings.backlightSettings.max_brightness != 0 && ( {settings.backlightSettings.max_brightness != 0 && (
<> <>
<SettingsItem <SettingsItem