{options?.map((group, groupIndex) => {
return group.map(
diff --git a/interface/hooks/index.ts b/interface/hooks/index.ts
index 0ca47b00e..5f2689ca1 100644
--- a/interface/hooks/index.ts
+++ b/interface/hooks/index.ts
@@ -19,3 +19,4 @@ export * from './useTheme';
export * from './useZodRouteParams';
export * from './useZodSearchParams';
export * from './useIsTextTruncated';
+export * from './useKeyMatcher';
diff --git a/interface/hooks/useKeyMatcher.ts b/interface/hooks/useKeyMatcher.ts
new file mode 100644
index 000000000..5e1be0082
--- /dev/null
+++ b/interface/hooks/useKeyMatcher.ts
@@ -0,0 +1,36 @@
+import { ModifierKeys, modifierSymbols } from "@sd/ui";
+import { OperatingSystem } from "..";
+import { useOperatingSystem } from "./useOperatingSystem";
+
+type keysToMatch = 'Meta' | 'Alt'
+type keysOsMap = Record
+type osKeys = Record, icon: string}>
+
+//This is a helper function to handle the possibility of a modifier key being undefined due to OS initial check
+const modifierKey = (key: keyof typeof ModifierKeys, os: 'Windows' | 'macOS' | 'Other') => {
+ return modifierSymbols[key][os] ?? modifierSymbols[key]['Other'];
+}
+
+//Match macOS keys to Windows keys and others
+const keysOsMap: keysOsMap = {
+ 'Meta': {
+ 'macOS': {key: 'Meta', icon: modifierKey(ModifierKeys.Meta, 'macOS') },
+ 'windows': {key: 'Control', icon: modifierKey(ModifierKeys.Control, 'Windows') },
+ 'browser': {key: 'Control', icon: modifierKey(ModifierKeys.Control, 'Windows') },
+ 'linux': {key: 'Control', icon: modifierKey(ModifierKeys.Control, 'Windows') },
+ 'unknown': {key: 'Control', icon: modifierKey(ModifierKeys.Control, 'Windows') },
+ },
+ 'Alt': {
+ 'macOS': {key: 'Alt', icon: modifierKey(ModifierKeys.Alt, 'macOS') },
+ 'windows': {key: 'Alt', icon: modifierKey(ModifierKeys.Alt, 'Other') },
+ 'browser': {key: 'Alt', icon: modifierKey(ModifierKeys.Alt, 'Other') },
+ 'linux': {key: 'Alt', icon: modifierKey(ModifierKeys.Alt, 'Other') },
+ 'unknown': {key: 'Alt', icon: modifierKey(ModifierKeys.Alt, 'Other') },
+ },
+} as const
+
+export function useKeyMatcher(arg: keyof typeof keysOsMap): osKeys[OperatingSystem] {
+ const os = useOperatingSystem();
+ const key = keysOsMap[arg][os];
+ return key;
+}