diff --git a/web/src/components/elements/misc/Kbd/Kbd.tsx b/web/src/components/elements/misc/Kbd/Kbd.tsx
new file mode 100644
index 00000000..ad4d98b4
--- /dev/null
+++ b/web/src/components/elements/misc/Kbd/Kbd.tsx
@@ -0,0 +1,14 @@
+import { mergeStyles, useTheme } from '@fluentui/react'
+import React from 'react'
+
+export const Kbd: React.FC = ({ children }) => {
+ const { semanticColors } = useTheme()
+
+ const style = mergeStyles({
+ padding: '1px 3px',
+ borderRadius: '4px',
+ background: semanticColors.disabledSubtext,
+ })
+
+ return {children}
+}
diff --git a/web/src/components/elements/misc/Kbd/index.ts b/web/src/components/elements/misc/Kbd/index.ts
new file mode 100644
index 00000000..f9fae902
--- /dev/null
+++ b/web/src/components/elements/misc/Kbd/index.ts
@@ -0,0 +1 @@
+export * from './Kbd'
diff --git a/web/src/components/features/settings/SettingsModal.tsx b/web/src/components/features/settings/SettingsModal.tsx
index ac0bd484..5c854afc 100644
--- a/web/src/components/features/settings/SettingsModal.tsx
+++ b/web/src/components/features/settings/SettingsModal.tsx
@@ -1,5 +1,5 @@
import React from 'react'
-import { Checkbox, Dropdown, type IPivotStyles, PivotItem, TextField } from '@fluentui/react'
+import { Checkbox, Dropdown, getTheme, type IPivotStyles, PivotItem, Text, TextField } from '@fluentui/react'
import { AnimatedPivot } from '~/components/elements/tabs/AnimatedPivot'
import { ThemeableComponent } from '~/components/utils/ThemeableComponent'
@@ -11,6 +11,8 @@ import type { RenderingBackend, TerminalSettings } from '~/store/terminal'
import { connect, type StateDispatch, type MonacoParamsChanges, type SettingsState } from '~/store'
import { cursorBlinkOptions, cursorLineOptions, fontOptions, terminalBackendOptions } from './options'
+import { controlKeyLabel } from '~/utils/dom'
+import { Kbd } from '~/components/elements/misc/Kbd'
export interface SettingsChanges {
monaco?: MonacoParamsChanges
@@ -40,7 +42,7 @@ interface SettingsModalState {
const modalStyles = {
main: {
- maxWidth: 480,
+ maxWidth: 520,
},
}
@@ -100,6 +102,7 @@ class SettingsModal extends ThemeableComponent {
render() {
const { isOpen } = this.props
+ const { spacing } = getTheme()
return (