diff --git a/docs/docs/codes/_applications.mdx b/docs/docs/codes/_applications.mdx
new file mode 100644
index 00000000..099b701b
--- /dev/null
+++ b/docs/docs/codes/_applications.mdx
@@ -0,0 +1,9 @@
+import Table from "@site/src/components/codes/Table";
+
+## Application Controls
+
+
+
+## Applications (Launch)
+
+
diff --git a/docs/docs/codes/_editing.mdx b/docs/docs/codes/_editing.mdx
new file mode 100644
index 00000000..2dd4d631
--- /dev/null
+++ b/docs/docs/codes/_editing.mdx
@@ -0,0 +1,9 @@
+import Table from "@site/src/components/codes/Table";
+
+## Cut, Copy, Paste
+
+
+
+## Undo, Redo
+
+
diff --git a/docs/docs/codes/_footnotes/example.mdx b/docs/docs/codes/_footnotes/example.mdx
new file mode 100644
index 00000000..2dcdb109
--- /dev/null
+++ b/docs/docs/codes/_footnotes/example.mdx
@@ -0,0 +1,13 @@
+This is an _example_ footnote for **code** tables.
+
+- Footnotes are supported per row by each operating system column.
+- Footnotes support MDX syntax.
+- A footnote's `id` is its filename by convention (i.e. `example`).
+- Footnotes must be included and listed in `src/data/footnotes.js` because they're statically compiled.
+- Footnotes are assigned within `src/data/hid.js` using `column-id: footnote-id(s)` `K`:`V` pairs (case-sensitive), where:
+ - `K` is the column's `id`.
+ - `V` is the footnote's `id`.
+ - `V` can also be an array of footnote ids (_optional_).
+- The footnote system aims to prevent duplication of _sources_ (mdx).
+- Footnotes are listed under each table, so try to avoid multiline notes unless it's necessary!
+- Footnotes are automatically numbered.
diff --git a/docs/docs/codes/_input-assist.mdx b/docs/docs/codes/_input-assist.mdx
new file mode 100644
index 00000000..7dc432b4
--- /dev/null
+++ b/docs/docs/codes/_input-assist.mdx
@@ -0,0 +1,5 @@
+import Table from "@site/src/components/codes/Table";
+
+## Input Assist
+
+
diff --git a/docs/docs/codes/_keyboard-keypad.mdx b/docs/docs/codes/_keyboard-keypad.mdx
new file mode 100644
index 00000000..b1852d64
--- /dev/null
+++ b/docs/docs/codes/_keyboard-keypad.mdx
@@ -0,0 +1,59 @@
+import Table from "@site/src/components/codes/Table";
+
+## Keyboard
+
+### Letters
+
+
+
+### Numbers
+
+
+
+### Symbols / Punctuation
+
+
+
+### Control & Whitespace
+
+
+
+### Navigation
+
+
+
+### Modifiers
+
+
+
+### Locks
+
+
+
+### F Keys
+
+
+
+### International
+
+
+
+### Language
+
+
+
+### Miscellaneous
+
+
+
+## Keypad
+
+
+
+### Numbers
+
+
+
+### Symbols / Operations
+
+
diff --git a/docs/docs/codes/_media.mdx b/docs/docs/codes/_media.mdx
new file mode 100644
index 00000000..7be80ab9
--- /dev/null
+++ b/docs/docs/codes/_media.mdx
@@ -0,0 +1,21 @@
+import Table from "@site/src/components/codes/Table";
+
+## Sound / Volume
+
+
+
+## Display
+
+
+
+## Media Controls
+
+
+
+## Consumer Menus
+
+
+
+## Consumer Controls
+
+
diff --git a/docs/docs/codes/_power.mdx b/docs/docs/codes/_power.mdx
new file mode 100644
index 00000000..dd06e953
--- /dev/null
+++ b/docs/docs/codes/_power.mdx
@@ -0,0 +1,5 @@
+import Table from "@site/src/components/codes/Table";
+
+## Power & Lock
+
+
diff --git a/docs/docs/codes/applications.mdx b/docs/docs/codes/applications.mdx
new file mode 100644
index 00000000..0c9416f3
--- /dev/null
+++ b/docs/docs/codes/applications.mdx
@@ -0,0 +1,15 @@
+---
+title: Applications
+sidebar_label: Applications
+hide_title: true
+---
+
+import OsLegend from "@site/src/components/codes/OsLegend";
+import ToastyContainer from "@site/src/components/codes/ToastyContainer";
+import Content, { rightToc as contentToc } from "./_applications.mdx";
+
+export const rightToc = contentToc;
+
+
+
+
diff --git a/docs/docs/codes/editing.mdx b/docs/docs/codes/editing.mdx
new file mode 100644
index 00000000..a65b8b6f
--- /dev/null
+++ b/docs/docs/codes/editing.mdx
@@ -0,0 +1,15 @@
+---
+title: Editing
+sidebar_label: Editing
+hide_title: true
+---
+
+import OsLegend from "@site/src/components/codes/OsLegend";
+import ToastyContainer from "@site/src/components/codes/ToastyContainer";
+import Content, { rightToc as contentToc } from "./_editing.mdx";
+
+export const rightToc = contentToc;
+
+
+
+
diff --git a/docs/docs/codes/index.mdx b/docs/docs/codes/index.mdx
new file mode 100644
index 00000000..a0c9df18
--- /dev/null
+++ b/docs/docs/codes/index.mdx
@@ -0,0 +1,33 @@
+---
+title: Codes
+sidebar_label: Full List
+hide_title: true
+slug: ./
+---
+
+import OsLegend from "@site/src/components/codes/OsLegend";
+import ToastyContainer from "@site/src/components/codes/ToastyContainer";
+import Key, { rightToc as keyToc } from "./_keyboard-keypad.mdx";
+import Editing, { rightToc as editingToc } from "./_editing.mdx";
+import Media, { rightToc as mediaToc } from "./_media.mdx";
+import Applications, { rightToc as applicationsToc } from "./_applications.mdx";
+import InputAssist, { rightToc as inputAssistToc } from "./_input-assist.mdx";
+import Power, { rightToc as powerToc } from "./_power.mdx";
+
+export const rightToc = [
+ ...keyToc,
+ ...editingToc,
+ ...mediaToc,
+ ...applicationsToc,
+ ...inputAssistToc,
+ ...powerToc,
+];
+
+
+
+
+
+
+
+
+
diff --git a/docs/docs/codes/input-assist.mdx b/docs/docs/codes/input-assist.mdx
new file mode 100644
index 00000000..c8bae19e
--- /dev/null
+++ b/docs/docs/codes/input-assist.mdx
@@ -0,0 +1,15 @@
+---
+title: Input Assist
+sidebar_label: Input Assist
+hide_title: true
+---
+
+import OsLegend from "@site/src/components/codes/OsLegend";
+import ToastyContainer from "@site/src/components/codes/ToastyContainer";
+import Content, { rightToc as contentToc } from "./_input-assist.mdx";
+
+export const rightToc = contentToc;
+
+
+
+
diff --git a/docs/docs/codes/keyboard-keypad.mdx b/docs/docs/codes/keyboard-keypad.mdx
new file mode 100644
index 00000000..6a5e605d
--- /dev/null
+++ b/docs/docs/codes/keyboard-keypad.mdx
@@ -0,0 +1,15 @@
+---
+title: Keyboard & Keypad
+sidebar_label: Keyboard & Keypad
+hide_title: true
+---
+
+import OsLegend from "@site/src/components/codes/OsLegend";
+import ToastyContainer from "@site/src/components/codes/ToastyContainer";
+import Content, { rightToc as contentToc } from "./_keyboard-keypad.mdx";
+
+export const rightToc = contentToc;
+
+
+
+
diff --git a/docs/docs/codes/media.mdx b/docs/docs/codes/media.mdx
new file mode 100644
index 00000000..588bb4cb
--- /dev/null
+++ b/docs/docs/codes/media.mdx
@@ -0,0 +1,15 @@
+---
+title: Media
+sidebar_label: Media
+hide_title: true
+---
+
+import OsLegend from "@site/src/components/codes/OsLegend";
+import ToastyContainer from "@site/src/components/codes/ToastyContainer";
+import Content, { rightToc as contentToc } from "./_media.mdx";
+
+export const rightToc = contentToc;
+
+
+
+
diff --git a/docs/docs/codes/power.mdx b/docs/docs/codes/power.mdx
new file mode 100644
index 00000000..7e8ffd10
--- /dev/null
+++ b/docs/docs/codes/power.mdx
@@ -0,0 +1,15 @@
+---
+title: Power
+sidebar_label: Power
+hide_title: true
+---
+
+import OsLegend from "@site/src/components/codes/OsLegend";
+import ToastyContainer from "@site/src/components/codes/ToastyContainer";
+import Content, { rightToc as contentToc } from "./_power.mdx";
+
+export const rightToc = contentToc;
+
+
+
+
diff --git a/docs/docusaurus.config.js b/docs/docusaurus.config.js
index b0906631..97548342 100644
--- a/docs/docusaurus.config.js
+++ b/docs/docusaurus.config.js
@@ -112,7 +112,10 @@ module.exports = {
editUrl: "https://github.com/zmkfirmware/zmk/edit/main/docs/",
},
theme: {
- customCss: require.resolve("./src/css/custom.css"),
+ customCss: [
+ require.resolve("./src/css/custom.css"),
+ require.resolve("./src/css/codes.css"),
+ ],
},
},
],
diff --git a/docs/package-lock.json b/docs/package-lock.json
index ad46d829..757beb04 100644
--- a/docs/package-lock.json
+++ b/docs/package-lock.json
@@ -9,9 +9,14 @@
"dependencies": {
"@docusaurus/core": "^2.0.0-alpha.66",
"@docusaurus/preset-classic": "^2.0.0-alpha.66",
+ "@fortawesome/fontawesome-svg-core": "^1.2.32",
+ "@fortawesome/free-solid-svg-icons": "^5.15.1",
+ "@fortawesome/react-fontawesome": "^0.1.12",
"classnames": "^2.2.6",
"react": "^16.8.4",
- "react-dom": "^16.8.4"
+ "react-copy-to-clipboard": "^5.0.2",
+ "react-dom": "^16.8.4",
+ "react-toastify": "^6.0.9"
},
"devDependencies": {
"eslint": "^7.12.0",
@@ -2025,6 +2030,51 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
+ "node_modules/@fortawesome/fontawesome-common-types": {
+ "version": "0.2.32",
+ "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-0.2.32.tgz",
+ "integrity": "sha512-ux2EDjKMpcdHBVLi/eWZynnPxs0BtFVXJkgHIxXRl+9ZFaHPvYamAfCzeeQFqHRjuJtX90wVnMRaMQAAlctz3w==",
+ "hasInstallScript": true,
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/@fortawesome/fontawesome-svg-core": {
+ "version": "1.2.32",
+ "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-svg-core/-/fontawesome-svg-core-1.2.32.tgz",
+ "integrity": "sha512-XjqyeLCsR/c/usUpdWcOdVtWFVjPbDFBTQkn2fQRrWhhUoxriQohO2RWDxLyUM8XpD+Zzg5xwJ8gqTYGDLeGaQ==",
+ "hasInstallScript": true,
+ "dependencies": {
+ "@fortawesome/fontawesome-common-types": "^0.2.32"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/@fortawesome/free-solid-svg-icons": {
+ "version": "5.15.1",
+ "resolved": "https://registry.npmjs.org/@fortawesome/free-solid-svg-icons/-/free-solid-svg-icons-5.15.1.tgz",
+ "integrity": "sha512-EFMuKtzRMNbvjab/SvJBaOOpaqJfdSap/Nl6hst7CgrJxwfORR1drdTV6q1Ib/JVzq4xObdTDcT6sqTaXMqfdg==",
+ "hasInstallScript": true,
+ "dependencies": {
+ "@fortawesome/fontawesome-common-types": "^0.2.32"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/@fortawesome/react-fontawesome": {
+ "version": "0.1.12",
+ "resolved": "https://registry.npmjs.org/@fortawesome/react-fontawesome/-/react-fontawesome-0.1.12.tgz",
+ "integrity": "sha512-kV6HtqotM3K4YIXlTVvomuIi6QgGCvYm++ImyEx2wwgmSppZ6kbbA29ASwjAUBD63j2OFU0yoxeXpZkjrrX0qQ==",
+ "dependencies": {
+ "prop-types": "^15.7.2"
+ },
+ "peerDependencies": {
+ "@fortawesome/fontawesome-svg-core": "^1.2.20",
+ "react": ">=16.x"
+ }
+ },
"node_modules/@francoischalifour/autocomplete-core": {
"version": "1.0.0-alpha.28",
"resolved": "https://registry.npmjs.org/@francoischalifour/autocomplete-core/-/autocomplete-core-1.0.0-alpha.28.tgz",
@@ -4513,6 +4563,14 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
+ "node_modules/copy-to-clipboard": {
+ "version": "3.3.1",
+ "resolved": "https://registry.npmjs.org/copy-to-clipboard/-/copy-to-clipboard-3.3.1.tgz",
+ "integrity": "sha512-i13qo6kIHTTpCm8/Wup+0b1mVWETvu2kIMzKoK8FpkLkFxlt0znUAHcMzox+T8sPlqtZXq3CulEjQHsYiGFJUw==",
+ "dependencies": {
+ "toggle-selection": "^1.0.6"
+ }
+ },
"node_modules/copy-webpack-plugin": {
"version": "6.2.1",
"resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-6.2.1.tgz",
@@ -5282,6 +5340,15 @@
"utila": "0.4.0"
}
},
+ "node_modules/dom-helpers": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-5.2.0.tgz",
+ "integrity": "sha512-Ru5o9+V8CpunKnz5LGgWXkmrH/20cGKwcHwS4m73zIvs54CN9epEmT/HLqFJW3kXpakAFkEdzgy1hzlJe3E4OQ==",
+ "dependencies": {
+ "@babel/runtime": "^7.8.7",
+ "csstype": "^3.0.2"
+ }
+ },
"node_modules/dom-serializer": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.1.tgz",
@@ -11265,6 +11332,18 @@
"pure-color": "^1.2.0"
}
},
+ "node_modules/react-copy-to-clipboard": {
+ "version": "5.0.2",
+ "resolved": "https://registry.npmjs.org/react-copy-to-clipboard/-/react-copy-to-clipboard-5.0.2.tgz",
+ "integrity": "sha512-/2t5mLMMPuN5GmdXo6TebFa8IoFxZ+KTDDqYhcDm0PhkgEzSxVvIX26G20s1EB02A4h2UZgwtfymZ3lGJm0OLg==",
+ "dependencies": {
+ "copy-to-clipboard": "^3",
+ "prop-types": "^15.5.8"
+ },
+ "peerDependencies": {
+ "react": "^15.3.0 || ^16.0.0"
+ }
+ },
"node_modules/react-dev-utils": {
"version": "10.2.1",
"resolved": "https://registry.npmjs.org/react-dev-utils/-/react-dev-utils-10.2.1.tgz",
@@ -11792,6 +11871,19 @@
"react": ">=0.14.0 <17.0.0"
}
},
+ "node_modules/react-toastify": {
+ "version": "6.0.9",
+ "resolved": "https://registry.npmjs.org/react-toastify/-/react-toastify-6.0.9.tgz",
+ "integrity": "sha512-StHXv+4kezHUnPyoILlvygSptQ79bxVuvKcC05yXP0FlqQgPA1ue+80BqxZZiCw2jWDGiY2MHyqBfFKf5YzZbA==",
+ "dependencies": {
+ "classnames": "^2.2.6",
+ "prop-types": "^15.7.2",
+ "react-transition-group": "^4.4.1"
+ },
+ "peerDependencies": {
+ "react": ">=16"
+ }
+ },
"node_modules/react-toggle": {
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/react-toggle/-/react-toggle-4.1.1.tgz",
@@ -11805,6 +11897,21 @@
"react-dom": "^15.3.0 || ^16.0.0"
}
},
+ "node_modules/react-transition-group": {
+ "version": "4.4.1",
+ "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-4.4.1.tgz",
+ "integrity": "sha512-Djqr7OQ2aPUiYurhPalTrVy9ddmFCCzwhqQmtN+J3+3DzLO209Fdr70QrN8Z3DsglWql6iY1lDWAfpFiBtuKGw==",
+ "dependencies": {
+ "@babel/runtime": "^7.5.5",
+ "dom-helpers": "^5.0.1",
+ "loose-envify": "^1.4.0",
+ "prop-types": "^15.6.2"
+ },
+ "peerDependencies": {
+ "react": ">=16.6.0",
+ "react-dom": ">=16.6.0"
+ }
+ },
"node_modules/readable-stream": {
"version": "3.6.0",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
@@ -13891,6 +13998,11 @@
"is-plain-object": "2.0.4"
}
},
+ "node_modules/toggle-selection": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/toggle-selection/-/toggle-selection-1.0.6.tgz",
+ "integrity": "sha1-bkWxJj8gF/oKzH2J14sVuL932jI="
+ },
"node_modules/toidentifier": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz",
@@ -17682,6 +17794,35 @@
}
}
},
+ "@fortawesome/fontawesome-common-types": {
+ "version": "0.2.32",
+ "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-0.2.32.tgz",
+ "integrity": "sha512-ux2EDjKMpcdHBVLi/eWZynnPxs0BtFVXJkgHIxXRl+9ZFaHPvYamAfCzeeQFqHRjuJtX90wVnMRaMQAAlctz3w=="
+ },
+ "@fortawesome/fontawesome-svg-core": {
+ "version": "1.2.32",
+ "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-svg-core/-/fontawesome-svg-core-1.2.32.tgz",
+ "integrity": "sha512-XjqyeLCsR/c/usUpdWcOdVtWFVjPbDFBTQkn2fQRrWhhUoxriQohO2RWDxLyUM8XpD+Zzg5xwJ8gqTYGDLeGaQ==",
+ "requires": {
+ "@fortawesome/fontawesome-common-types": "^0.2.32"
+ }
+ },
+ "@fortawesome/free-solid-svg-icons": {
+ "version": "5.15.1",
+ "resolved": "https://registry.npmjs.org/@fortawesome/free-solid-svg-icons/-/free-solid-svg-icons-5.15.1.tgz",
+ "integrity": "sha512-EFMuKtzRMNbvjab/SvJBaOOpaqJfdSap/Nl6hst7CgrJxwfORR1drdTV6q1Ib/JVzq4xObdTDcT6sqTaXMqfdg==",
+ "requires": {
+ "@fortawesome/fontawesome-common-types": "^0.2.32"
+ }
+ },
+ "@fortawesome/react-fontawesome": {
+ "version": "0.1.12",
+ "resolved": "https://registry.npmjs.org/@fortawesome/react-fontawesome/-/react-fontawesome-0.1.12.tgz",
+ "integrity": "sha512-kV6HtqotM3K4YIXlTVvomuIi6QgGCvYm++ImyEx2wwgmSppZ6kbbA29ASwjAUBD63j2OFU0yoxeXpZkjrrX0qQ==",
+ "requires": {
+ "prop-types": "^15.7.2"
+ }
+ },
"@francoischalifour/autocomplete-core": {
"version": "1.0.0-alpha.28",
"resolved": "https://registry.npmjs.org/@francoischalifour/autocomplete-core/-/autocomplete-core-1.0.0-alpha.28.tgz",
@@ -20118,6 +20259,14 @@
"resolved": "https://registry.npmjs.org/copy-text-to-clipboard/-/copy-text-to-clipboard-2.2.0.tgz",
"integrity": "sha512-WRvoIdnTs1rgPMkgA2pUOa/M4Enh2uzCwdKsOMYNAJiz/4ZvEJgmbF4OmninPmlFdAWisfeh0tH+Cpf7ni3RqQ=="
},
+ "copy-to-clipboard": {
+ "version": "3.3.1",
+ "resolved": "https://registry.npmjs.org/copy-to-clipboard/-/copy-to-clipboard-3.3.1.tgz",
+ "integrity": "sha512-i13qo6kIHTTpCm8/Wup+0b1mVWETvu2kIMzKoK8FpkLkFxlt0znUAHcMzox+T8sPlqtZXq3CulEjQHsYiGFJUw==",
+ "requires": {
+ "toggle-selection": "^1.0.6"
+ }
+ },
"copy-webpack-plugin": {
"version": "6.2.1",
"resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-6.2.1.tgz",
@@ -20906,6 +21055,15 @@
"utila": "0.4.0"
}
},
+ "dom-helpers": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-5.2.0.tgz",
+ "integrity": "sha512-Ru5o9+V8CpunKnz5LGgWXkmrH/20cGKwcHwS4m73zIvs54CN9epEmT/HLqFJW3kXpakAFkEdzgy1hzlJe3E4OQ==",
+ "requires": {
+ "@babel/runtime": "^7.8.7",
+ "csstype": "^3.0.2"
+ }
+ },
"dom-serializer": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.1.tgz",
@@ -26753,6 +26911,15 @@
"pure-color": "^1.2.0"
}
},
+ "react-copy-to-clipboard": {
+ "version": "5.0.2",
+ "resolved": "https://registry.npmjs.org/react-copy-to-clipboard/-/react-copy-to-clipboard-5.0.2.tgz",
+ "integrity": "sha512-/2t5mLMMPuN5GmdXo6TebFa8IoFxZ+KTDDqYhcDm0PhkgEzSxVvIX26G20s1EB02A4h2UZgwtfymZ3lGJm0OLg==",
+ "requires": {
+ "copy-to-clipboard": "^3",
+ "prop-types": "^15.5.8"
+ }
+ },
"react-dev-utils": {
"version": "10.2.1",
"resolved": "https://registry.npmjs.org/react-dev-utils/-/react-dev-utils-10.2.1.tgz",
@@ -27293,6 +27460,16 @@
"prop-types": "^15.6.0"
}
},
+ "react-toastify": {
+ "version": "6.0.9",
+ "resolved": "https://registry.npmjs.org/react-toastify/-/react-toastify-6.0.9.tgz",
+ "integrity": "sha512-StHXv+4kezHUnPyoILlvygSptQ79bxVuvKcC05yXP0FlqQgPA1ue+80BqxZZiCw2jWDGiY2MHyqBfFKf5YzZbA==",
+ "requires": {
+ "classnames": "^2.2.6",
+ "prop-types": "^15.7.2",
+ "react-transition-group": "^4.4.1"
+ }
+ },
"react-toggle": {
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/react-toggle/-/react-toggle-4.1.1.tgz",
@@ -27301,6 +27478,17 @@
"classnames": "^2.2.5"
}
},
+ "react-transition-group": {
+ "version": "4.4.1",
+ "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-4.4.1.tgz",
+ "integrity": "sha512-Djqr7OQ2aPUiYurhPalTrVy9ddmFCCzwhqQmtN+J3+3DzLO209Fdr70QrN8Z3DsglWql6iY1lDWAfpFiBtuKGw==",
+ "requires": {
+ "@babel/runtime": "^7.5.5",
+ "dom-helpers": "^5.0.1",
+ "loose-envify": "^1.4.0",
+ "prop-types": "^15.6.2"
+ }
+ },
"readable-stream": {
"version": "3.6.0",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
@@ -29358,6 +29546,11 @@
"is-number": "7.0.0"
}
},
+ "toggle-selection": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/toggle-selection/-/toggle-selection-1.0.6.tgz",
+ "integrity": "sha1-bkWxJj8gF/oKzH2J14sVuL932jI="
+ },
"toidentifier": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz",
diff --git a/docs/package.json b/docs/package.json
index cb425066..00dc6275 100644
--- a/docs/package.json
+++ b/docs/package.json
@@ -16,9 +16,14 @@
"dependencies": {
"@docusaurus/core": "^2.0.0-alpha.66",
"@docusaurus/preset-classic": "^2.0.0-alpha.66",
+ "@fortawesome/fontawesome-svg-core": "^1.2.32",
+ "@fortawesome/free-solid-svg-icons": "^5.15.1",
+ "@fortawesome/react-fontawesome": "^0.1.12",
"classnames": "^2.2.6",
"react": "^16.8.4",
- "react-dom": "^16.8.4"
+ "react-copy-to-clipboard": "^5.0.2",
+ "react-dom": "^16.8.4",
+ "react-toastify": "^6.0.9"
},
"browserslist": {
"production": [
diff --git a/docs/sidebars.js b/docs/sidebars.js
index c8dc79fc..f05cd056 100644
--- a/docs/sidebars.js
+++ b/docs/sidebars.js
@@ -26,6 +26,15 @@ module.exports = {
"behavior/lighting",
"behavior/power",
],
+ Codes: [
+ "codes/index",
+ "codes/keyboard-keypad",
+ "codes/editing",
+ "codes/media",
+ "codes/applications",
+ "codes/input-assist",
+ "codes/power",
+ ],
Development: [
"dev-clean-room",
"dev-setup",
diff --git a/docs/src/components/codes/Context.jsx b/docs/src/components/codes/Context.jsx
new file mode 100644
index 00000000..4fdcbfc0
--- /dev/null
+++ b/docs/src/components/codes/Context.jsx
@@ -0,0 +1,17 @@
+/*
+ * Copyright (c) 2020 The ZMK Contributors
+ *
+ * SPDX-License-Identifier: CC-BY-NC-SA-4.0
+ */
+
+import React from "react";
+import PropTypes from "prop-types";
+
+export default function Context({ children }) {
+ return {children}
;
+}
+
+Context.propTypes = {
+ children: PropTypes.oneOfType([PropTypes.element, PropTypes.string])
+ .isRequired,
+};
diff --git a/docs/src/components/codes/Description.jsx b/docs/src/components/codes/Description.jsx
new file mode 100644
index 00000000..6d8c5f62
--- /dev/null
+++ b/docs/src/components/codes/Description.jsx
@@ -0,0 +1,51 @@
+/*
+ * Copyright (c) 2020 The ZMK Contributors
+ *
+ * SPDX-License-Identifier: CC-BY-NC-SA-4.0
+ */
+
+import React from "react";
+import PropTypes from "prop-types";
+
+const specialCharactersRegex = /(?:^|\s)((?:&(?:(?:\w+)|(?:#\d+));)|[_]|[^\w\s])(?:\s*\[([^[\]]+?)\])/g;
+
+function renderSpecialCharacters(description) {
+ const matches = Array.from(description.matchAll(specialCharactersRegex));
+ if (matches.length == 0) return description;
+ let lastIndex = 0;
+ const parts = matches.reduce((acc, match, i) => {
+ const { index } = match;
+ const str = match[0];
+ const chars = match[1];
+ const meaning = match[2];
+ if (index != lastIndex) {
+ acc.push(description.substring(lastIndex, index));
+ }
+ const pos = str.indexOf(chars);
+ if (pos > 0) {
+ acc.push(description.substr(index, pos));
+ }
+ acc.push(
+
+ {description.substr(index + pos, chars.length)}
+ {meaning ? {meaning} : undefined}
+
+ );
+ lastIndex = index + str.length;
+ return acc;
+ }, []);
+ if (lastIndex < description.length) {
+ parts.push(description.substr(lastIndex));
+ }
+ return parts;
+}
+
+export default function Description({ description = "" }) {
+ return (
+ {renderSpecialCharacters(description)}
+ );
+}
+
+Description.propTypes = {
+ description: PropTypes.string.isRequired,
+};
diff --git a/docs/src/components/codes/Footnote.jsx b/docs/src/components/codes/Footnote.jsx
new file mode 100644
index 00000000..c9396a30
--- /dev/null
+++ b/docs/src/components/codes/Footnote.jsx
@@ -0,0 +1,23 @@
+/*
+ * Copyright (c) 2020 The ZMK Contributors
+ *
+ * SPDX-License-Identifier: CC-BY-NC-SA-4.0
+ */
+
+import React from "react";
+import PropTypes from "prop-types";
+
+export default function Footnote({ children, symbol, id }) {
+ return (
+
+
{symbol}
+
{children}
+
+ );
+}
+
+Footnote.propTypes = {
+ children: PropTypes.element.isRequired,
+ symbol: PropTypes.oneOfType([PropTypes.string, PropTypes.number]).isRequired,
+ id: PropTypes.string.isRequired,
+};
diff --git a/docs/src/components/codes/FootnoteRef.jsx b/docs/src/components/codes/FootnoteRef.jsx
new file mode 100644
index 00000000..c7b11a7d
--- /dev/null
+++ b/docs/src/components/codes/FootnoteRef.jsx
@@ -0,0 +1,22 @@
+/*
+ * Copyright (c) 2020 The ZMK Contributors
+ *
+ * SPDX-License-Identifier: CC-BY-NC-SA-4.0
+ */
+
+import React from "react";
+import PropTypes from "prop-types";
+
+export default function FootnoteRef({ children, anchor }) {
+ return (
+
+ {children}
+
+ );
+}
+
+FootnoteRef.propTypes = {
+ children: PropTypes.oneOfType([PropTypes.string, PropTypes.number])
+ .isRequired,
+ anchor: PropTypes.string.isRequired,
+};
diff --git a/docs/src/components/codes/FootnoteRefs.jsx b/docs/src/components/codes/FootnoteRefs.jsx
new file mode 100644
index 00000000..3782c13f
--- /dev/null
+++ b/docs/src/components/codes/FootnoteRefs.jsx
@@ -0,0 +1,43 @@
+/*
+ * Copyright (c) 2020 The ZMK Contributors
+ *
+ * SPDX-License-Identifier: CC-BY-NC-SA-4.0
+ */
+
+import React from "react";
+import PropTypes from "prop-types";
+import FootnoteRef from "./FootnoteRef";
+
+function joinReactElements(arr, delimiter) {
+ return arr.reduce((acc, fragment) => {
+ if (acc === null) {
+ return fragment;
+ }
+ return (
+ <>
+ {acc}
+ {delimiter}
+ {fragment}
+ >
+ );
+ }, null);
+}
+
+export default function FootnoteRefs({ footnotes }) {
+ return (
+
+ {joinReactElements(
+ footnotes.map((footnote) => (
+
+ {footnote.symbol}
+
+ )),
+ ", "
+ )}
+
+ );
+}
+
+FootnoteRefs.propTypes = {
+ footnotes: PropTypes.array.isRequired,
+};
diff --git a/docs/src/components/codes/Footnotes.jsx b/docs/src/components/codes/Footnotes.jsx
new file mode 100644
index 00000000..b382141f
--- /dev/null
+++ b/docs/src/components/codes/Footnotes.jsx
@@ -0,0 +1,30 @@
+/*
+ * Copyright (c) 2020 The ZMK Contributors
+ *
+ * SPDX-License-Identifier: CC-BY-NC-SA-4.0
+ */
+
+import React from "react";
+import PropTypes from "prop-types";
+import Footnote from "./Footnote";
+
+export default function Footnotes({ footnotes = [], id }) {
+ return (
+
+
+
Notes
+
+ {footnotes.map((footnote) => (
+
+ {footnote.value}
+
+ ))}
+
+
+ );
+}
+
+Footnotes.propTypes = {
+ footnotes: PropTypes.array.isRequired,
+ id: PropTypes.string.isRequired,
+};
diff --git a/docs/src/components/codes/LinkIcon.jsx b/docs/src/components/codes/LinkIcon.jsx
new file mode 100644
index 00000000..5bfeebd4
--- /dev/null
+++ b/docs/src/components/codes/LinkIcon.jsx
@@ -0,0 +1,14 @@
+/*
+ * Copyright (c) 2020 The ZMK Contributors
+ *
+ * SPDX-License-Identifier: CC-BY-NC-SA-4.0
+ */
+
+import React from "react";
+import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
+import { faExternalLinkAlt } from "@fortawesome/free-solid-svg-icons";
+export default function LinkIcon() {
+ return ;
+}
+
+LinkIcon.propTypes = {};
diff --git a/docs/src/components/codes/Name.jsx b/docs/src/components/codes/Name.jsx
new file mode 100644
index 00000000..52dc7347
--- /dev/null
+++ b/docs/src/components/codes/Name.jsx
@@ -0,0 +1,25 @@
+/*
+ * Copyright (c) 2020 The ZMK Contributors
+ *
+ * SPDX-License-Identifier: CC-BY-NC-SA-4.0
+ */
+
+import React from "react";
+import PropTypes from "prop-types";
+import ToastyCopyToClipboard from "./ToastyCopyToClipboard";
+
+export default function Name({ children, name }) {
+ return (
+
+
+ {children}
+
+
+ );
+}
+
+Name.propTypes = {
+ children: PropTypes.oneOfType([PropTypes.element, PropTypes.string])
+ .isRequired,
+ name: PropTypes.string.isRequired,
+};
diff --git a/docs/src/components/codes/OsLegend.jsx b/docs/src/components/codes/OsLegend.jsx
new file mode 100644
index 00000000..c53907fa
--- /dev/null
+++ b/docs/src/components/codes/OsLegend.jsx
@@ -0,0 +1,23 @@
+/*
+ * Copyright (c) 2020 The ZMK Contributors
+ *
+ * SPDX-License-Identifier: CC-BY-NC-SA-4.0
+ */
+
+import React from "react";
+import operatingSystems from "@site/src/data/operating-systems";
+
+export default function OsLegend() {
+ return (
+
+ {operatingSystems.map(({ key, className, heading, title }) => (
+
+ {heading}
+ {title}
+
+ ))}
+
+ );
+}
+
+OsLegend.propTypes = {};
diff --git a/docs/src/components/codes/OsSupport.jsx b/docs/src/components/codes/OsSupport.jsx
new file mode 100644
index 00000000..2cb60c97
--- /dev/null
+++ b/docs/src/components/codes/OsSupport.jsx
@@ -0,0 +1,26 @@
+/*
+ * Copyright (c) 2020 The ZMK Contributors
+ *
+ * SPDX-License-Identifier: CC-BY-NC-SA-4.0
+ */
+
+import React from "react";
+import PropTypes from "prop-types";
+import OsSupportIcon from "./OsSupportIcon";
+import FootnoteRefs from "./FootnoteRefs";
+
+export default function OsSupport({ value, footnotes = [] }) {
+ return (
+ <>
+
+ {footnotes.length > 0 ? (
+
+ ) : undefined}
+ >
+ );
+}
+
+OsSupport.propTypes = {
+ value: PropTypes.oneOf([true, false, null]),
+ footnotes: PropTypes.array.isRequired,
+};
diff --git a/docs/src/components/codes/OsSupportIcon.jsx b/docs/src/components/codes/OsSupportIcon.jsx
new file mode 100644
index 00000000..a518d62a
--- /dev/null
+++ b/docs/src/components/codes/OsSupportIcon.jsx
@@ -0,0 +1,51 @@
+/*
+ * Copyright (c) 2020 The ZMK Contributors
+ *
+ * SPDX-License-Identifier: CC-BY-NC-SA-4.0
+ */
+
+import React from "react";
+import PropTypes from "prop-types";
+
+const Icon = ({ children, className, title }) => (
+
+ {children}
+
+);
+
+Icon.propTypes = {
+ children: PropTypes.oneOfType([PropTypes.element, PropTypes.string])
+ .isRequired,
+ className: PropTypes.string.isRequired,
+ title: PropTypes.string.isRequired,
+};
+
+export const Supported = () => (
+
+ ⭐
+
+);
+export const NotSupported = () => (
+
+ ❌
+
+);
+export const NotTested = () => (
+
+ ❔
+
+);
+
+export default function OsSupportIcon({ value }) {
+ if (value === true) {
+ return ;
+ }
+ if (value === false) {
+ return ;
+ }
+ return ;
+}
+
+OsSupportIcon.propTypes = {
+ value: PropTypes.oneOf([true, false, null]),
+};
diff --git a/docs/src/components/codes/Table.jsx b/docs/src/components/codes/Table.jsx
new file mode 100644
index 00000000..c7dd20c8
--- /dev/null
+++ b/docs/src/components/codes/Table.jsx
@@ -0,0 +1,80 @@
+/*
+ * Copyright (c) 2020 The ZMK Contributors
+ *
+ * SPDX-License-Identifier: CC-BY-NC-SA-4.0
+ */
+
+import React from "react";
+import PropTypes from "prop-types";
+import TableRow from "./TableRow";
+import Footnotes from "./Footnotes";
+import LinkIcon from "./LinkIcon";
+import operatingSystems from "@site/src/data/operating-systems";
+import { getCodes } from "@site/src/hid";
+import { getGroup } from "@site/src/groups";
+import { getFootnote } from "@site/src/footnotes";
+
+function extractFootnoteIds(codes) {
+ return Array.from(
+ new Set(
+ codes
+ .flatMap(({ footnotes }) => Object.values(footnotes))
+ .map((refs) => (Array.isArray(refs) ? refs.flat() : refs))
+ )
+ );
+}
+
+export default function Table({ group }) {
+ const codes = getCodes(getGroup(group));
+
+ const footnotesAnchor = group + "-" + "footnotes";
+
+ const tableFootnotes = extractFootnoteIds(codes).map((id, i) => {
+ const Component = getFootnote(id);
+ return {
+ id,
+ anchor: footnotesAnchor,
+ symbol: i + 1,
+ value: Component ? : undefined,
+ };
+ });
+
+ return (
+
+
+
+
+ Names |
+ Description |
+
+
+ |
+ {operatingSystems.map(({ key, className, heading, title }) => (
+
+ {heading}
+ |
+ ))}
+
+
+
+ {Array.isArray(codes)
+ ? codes.map((code) => (
+
+ ))
+ : undefined}
+
+
+ {tableFootnotes.length > 0 ? (
+
+ ) : undefined}
+
+ );
+}
+
+Table.propTypes = {
+ group: PropTypes.string.isRequired,
+};
diff --git a/docs/src/components/codes/TableRow.jsx b/docs/src/components/codes/TableRow.jsx
new file mode 100644
index 00000000..a560911f
--- /dev/null
+++ b/docs/src/components/codes/TableRow.jsx
@@ -0,0 +1,70 @@
+/*
+ * Copyright (c) 2020 The ZMK Contributors
+ *
+ * SPDX-License-Identifier: CC-BY-NC-SA-4.0
+ */
+
+import React from "react";
+import PropTypes from "prop-types";
+import Name from "./Name";
+import Description from "./Description";
+import Context from "./Context";
+import LinkIcon from "./LinkIcon";
+import OsSupport from "./OsSupport";
+import operatingSystems from "@site/src/data/operating-systems";
+
+export default function TableRow({
+ names,
+ description,
+ context = "",
+ clarify = false,
+ documentation,
+ os,
+ footnotes,
+ tableFootnotes,
+}) {
+ return (
+
+
+ {names.map((name) => (
+
+ {name}
+
+ ))}
+ |
+
+
+ {clarify && context ? {context} : undefined}
+ |
+
+
+
+
+ |
+ {operatingSystems.map(({ key, className, title }) => (
+
+
+ (Array.isArray(footnotes[key]) &&
+ footnotes[key].includes(id)) ||
+ footnotes[key] == id
+ )}
+ />
+ |
+ ))}
+
+ );
+}
+
+TableRow.propTypes = {
+ names: PropTypes.array.isRequired,
+ description: PropTypes.string.isRequired,
+ context: PropTypes.string.isRequired,
+ clarify: PropTypes.bool,
+ documentation: PropTypes.string.isRequired,
+ os: PropTypes.object.isRequired,
+ footnotes: PropTypes.object.isRequired,
+ tableFootnotes: PropTypes.array.isRequired,
+};
diff --git a/docs/src/components/codes/ToastyContainer.jsx b/docs/src/components/codes/ToastyContainer.jsx
new file mode 100644
index 00000000..ee4e3bca
--- /dev/null
+++ b/docs/src/components/codes/ToastyContainer.jsx
@@ -0,0 +1,22 @@
+/*
+ * Copyright (c) 2020 The ZMK Contributors
+ *
+ * SPDX-License-Identifier: CC-BY-NC-SA-4.0
+ */
+
+import React from "react";
+import { ToastContainer } from "react-toastify";
+import "react-toastify/dist/ReactToastify.css";
+
+export default function ToastyContainer() {
+ return (
+
+ );
+}
+
+ToastyContainer.propTypes = {};
diff --git a/docs/src/components/codes/ToastyCopyToClipboard.jsx b/docs/src/components/codes/ToastyCopyToClipboard.jsx
new file mode 100644
index 00000000..b0e98092
--- /dev/null
+++ b/docs/src/components/codes/ToastyCopyToClipboard.jsx
@@ -0,0 +1,30 @@
+/*
+ * Copyright (c) 2020 The ZMK Contributors
+ *
+ * SPDX-License-Identifier: CC-BY-NC-SA-4.0
+ */
+
+import React from "react";
+import PropTypes from "prop-types";
+import { toast } from "react-toastify";
+import { CopyToClipboard } from "react-copy-to-clipboard";
+
+export default function ToastyCopyToClipboard({ children, text }) {
+ const notify = () =>
+ toast(
+
+ 📋 Copied {text}
+
+ );
+ return (
+
+ {children}
+
+ );
+}
+
+ToastyCopyToClipboard.propTypes = {
+ children: PropTypes.oneOfType([PropTypes.element, PropTypes.string])
+ .isRequired,
+ text: PropTypes.string.isRequired,
+};
diff --git a/docs/src/css/codes.css b/docs/src/css/codes.css
new file mode 100644
index 00000000..ce2c0efd
--- /dev/null
+++ b/docs/src/css/codes.css
@@ -0,0 +1,220 @@
+/*
+ * Copyright (c) 2020 The ZMK Contributors
+ *
+ * SPDX-License-Identifier: CC-BY-NC-SA-4.0
+ */
+
+.codes.os.legend {
+ position: sticky;
+ z-index: 1;
+ top: var(--ifm-navbar-height);
+ width: 100%;
+ padding-top: 0.5em;
+ padding-bottom: 0.5em;
+ background: var(--ifm-background-color);
+ display: flex;
+ justify-content: space-between;
+}
+
+html[data-theme="light"] .codes.os.legend {
+ background: white;
+}
+
+.codes.os.legend .os {
+ flex: 1;
+ margin-left: 0.2em;
+ margin-right: 0.2em;
+ padding: 0.1em;
+ border: 1px var(--ifm-table-border-color) solid;
+ border-radius: 0.5em;
+ text-align: center;
+}
+
+.codes.os.legend .os .heading {
+ font-weight: bold;
+}
+
+.codes.os.legend .os .heading::after {
+ content: " : ";
+ font-weight: normal;
+}
+
+.codes .name {
+ cursor: copy;
+}
+
+.codes .name:hover {
+ opacity: 0.8;
+}
+
+.codes .name:active {
+ color: var(--ifm-font-color-base-inverse);
+ background: var(--ifm-font-color-base);
+}
+
+.codes.os.legend,
+.codes table {
+ font-size: 0.8em;
+}
+
+.codes table {
+ display: table;
+ font-size: 0.8em;
+ margin-bottom: 0;
+}
+
+.codes th,
+.codes td {
+ padding: 0.2rem;
+}
+
+.codes td {
+ position: relative;
+}
+
+.codes th.names,
+.codes th.description {
+ text-align: left;
+}
+
+.codes td.names code {
+ display: block;
+ float: left;
+ clear: both;
+ margin-top: 1px;
+ margin-bottom: 1px;
+ font-size: 0.85em;
+}
+
+.codes .context {
+ display: inline;
+ margin: 0 0 0 0.5em;
+ font-size: 0.85em;
+}
+
+.codes .context::before {
+ content: "(";
+}
+
+.codes .context::after {
+ content: ")";
+}
+
+.codes .symbol {
+ display: inline-flex;
+ flex-direction: column;
+}
+
+.codes .symbol code {
+ align-self: flex-start;
+ width: auto;
+}
+
+.codes .symbol .meaning {
+ flex: 1;
+ font-size: 0.8em;
+ text-transform: uppercase;
+}
+
+.codes td.documentation,
+.codes td.os {
+ width: 0.1%;
+ min-width: 1.9rem;
+ text-align: center;
+}
+
+.codes td.documentation {
+ font-size: 0.8em;
+}
+
+.codes td.documentation a {
+ cursor: help;
+}
+
+.codes .os {
+ color: black;
+}
+
+.codes td.os {
+ font-size: 0.8em;
+}
+
+.codes .not-tested {
+ font-weight: bold;
+}
+
+.codes .os.windows {
+ background: #caedfd;
+}
+
+.codes .os.linux {
+ background: #fff2ca;
+}
+
+.codes .os.android {
+ background: #d8eed9;
+}
+
+.codes .os.macos {
+ background: #ececec;
+}
+
+.codes .os.ios {
+ background: #ffffff;
+}
+
+.codes .footnotes {
+ display: flex;
+ width: 100%;
+ margin-top: 0;
+ margin-bottom: 0.5rem;
+ padding: 0.2rem 0.5rem 0.2rem 0.5rem;
+ border: var(--ifm-table-border-width) dashed var(--ifm-table-border-color);
+ border-top: 0;
+ font-size: 0.8em;
+}
+
+.codes .footnotes .label {
+ display: block;
+ margin-right: 1em;
+ font-style: italic;
+}
+
+.codes .footnotes .label::after {
+ content: ":";
+}
+
+.codes .footnotes .anchor {
+ display: block;
+ position: relative;
+ top: calc(var(--ifm-navbar-height) * -1 - 6em);
+ visibility: hidden;
+}
+
+.codes .footnote {
+ flex: 1;
+ display: flex;
+ margin-top: 0;
+ margin-bottom: 0;
+}
+
+.codes .footnote .symbol {
+ flex: 0;
+ float: left;
+ margin-right: 0.4em;
+ font-size: 0.8em;
+}
+
+.codes .footnote .content p {
+ margin-top: 0;
+ margin-bottom: 0;
+}
+
+.codes .footnoteRefs {
+ float: right;
+ font-size: 0.8em;
+}
+
+.codes .footnoteRefs a {
+ color: black;
+}
diff --git a/docs/src/data/footnotes.js b/docs/src/data/footnotes.js
new file mode 100644
index 00000000..dabf98f5
--- /dev/null
+++ b/docs/src/data/footnotes.js
@@ -0,0 +1,11 @@
+/*
+ * Copyright (c) 2020 The ZMK Contributors
+ *
+ * SPDX-License-Identifier: CC-BY-NC-SA-4.0
+ */
+
+import example from "@site/docs/codes/_footnotes/example.mdx";
+
+export default {
+ example,
+};
diff --git a/docs/src/data/groups.js b/docs/src/data/groups.js
new file mode 100644
index 00000000..f7ced161
--- /dev/null
+++ b/docs/src/data/groups.js
@@ -0,0 +1,414 @@
+/*
+ * Copyright (c) 2020 The ZMK Contributors
+ *
+ * SPDX-License-Identifier: CC-BY-NC-SA-4.0
+ */
+
+export default {
+ "application-controls": [
+ "K_MENU",
+ "C_AC_PROPERTIES",
+ "K_SELECT",
+ "C_AC_CANCEL",
+ "K_EXECUTE",
+ "C_AC_REFRESH",
+ "K_REFRESH",
+ "C_AC_STOP",
+ "K_STOP",
+ "C_AC_FORWARD",
+ "K_FORWARD",
+ "C_AC_BACK",
+ "K_BACK",
+ "C_AC_HOME",
+ "C_AC_BOOKMARKS",
+ "C_AC_NEW",
+ "C_AC_OPEN",
+ "C_AC_SAVE",
+ "C_AC_CLOSE",
+ "C_AC_EXIT",
+ "C_AC_PRINT",
+ "C_AC_FIND",
+ "K_FIND",
+ "K_FIND2",
+ "C_AC_SEARCH",
+ "C_AC_GOTO",
+ "C_AC_ZOOM",
+ "C_AC_ZOOM_IN",
+ "C_AC_ZOOM_OUT",
+ "C_AC_SCROLL_UP",
+ "K_SCROLL_UP",
+ "C_AC_SCROLL_DOWN",
+ "K_SCROLL_DOWN",
+ "C_AC_REPLY",
+ "C_AC_FORWARD_MAIL",
+ "C_AC_SEND",
+ "C_AC_EDIT",
+ "C_AC_INSERT",
+ "C_AC_DEL",
+ "C_AC_VIEW_TOGGLE",
+ "C_AC_DESKTOP_SHOW_ALL_WINDOWS",
+ "C_VOICE_COMMAND",
+ ],
+ applications: [
+ "C_AL_NEXT_TASK",
+ "C_AL_PREVIOUS_TASK",
+ "C_AL_SELECT_TASK",
+ "C_AL_MY_COMPUTER",
+ "C_AL_DOCUMENTS",
+ "C_AL_FILE_BROWSER",
+ "C_AL_WWW",
+ "K_WWW",
+ "C_AL_EMAIL",
+ "C_AL_INSTANT_MESSAGING",
+ "C_AL_NETWORK_CHAT",
+ "C_AL_CONTACTS",
+ "C_AL_CALENDAR",
+ "C_AL_IMAGE_BROWSER",
+ "C_AL_AUDIO_BROWSER",
+ "C_AL_MOVIE_BROWSER",
+ "C_AL_TEXT_EDITOR",
+ "C_AL_WORD",
+ "C_AL_SPREADSHEET",
+ "C_AL_PRESENTATION",
+ "C_AL_GRAPHICS_EDITOR",
+ "C_AL_CALCULATOR",
+ "K_CALCULATOR",
+ "C_AL_NEWS",
+ "C_AL_DATABASE",
+ "C_AL_VOICEMAIL",
+ "C_AL_FINANCE",
+ "C_AL_TASK_MANAGER",
+ "C_AL_JOURNAL",
+ "C_AL_AV_CAPTURE_PLAYBACK",
+ "C_AL_SPELLCHECK",
+ "C_AL_SCREEN_SAVER",
+ "C_AL_KEYBOARD_LAYOUT",
+ "C_AL_CONTROL_PANEL",
+ "C_AL_HELP",
+ "K_HELP",
+ "C_AL_OEM_FEATURES",
+ "C_AL_CCC",
+ ],
+ "consumer-controls": [
+ "C_CHANNEL_INC",
+ "C_CHANNEL_DEC",
+ "C_RECALL_LAST",
+ "C_MEDIA_VCR_PLUS",
+ "C_MEDIA_GUIDE",
+ "C_MEDIA_STEP",
+ "C_MEDIA_HOME",
+ "C_MEDIA_TV",
+ "C_MEDIA_CABLE",
+ "C_MEDIA_TUNER",
+ "C_MEDIA_DVD",
+ "C_MEDIA_CD",
+ "C_MEDIA_SATELLITE",
+ "C_MEDIA_VCR",
+ "C_MEDIA_TAPE",
+ "C_MEDIA_COMPUTER",
+ "C_MEDIA_WWW",
+ "C_MEDIA_GAMES",
+ "C_MEDIA_PHONE",
+ "C_MEDIA_VIDEOPHONE",
+ "C_MEDIA_MESSAGES",
+ "C_QUIT",
+ "C_HELP",
+ ],
+ "consumer-menus": [
+ "C_MENU",
+ "C_MENU_PICK",
+ "C_MENU_UP",
+ "C_MENU_DOWN",
+ "C_MENU_LEFT",
+ "C_MENU_RIGHT",
+ "C_MENU_ESCAPE",
+ "C_MENU_INCREASE",
+ "C_MENU_DECREASE",
+ "C_RED_BUTTON",
+ "C_GREEN_BUTTON",
+ "C_BLUE_BUTTON",
+ "C_YELLOW_BUTTON",
+ ],
+ "cut-copy-paste": [
+ "C_AC_CUT",
+ "K_CUT",
+ "C_AC_COPY",
+ "K_COPY",
+ "C_AC_PASTE",
+ "K_PASTE",
+ ],
+ display: [
+ "C_BRIGHTNESS_INC",
+ "C_BRIGHTNESS_DEC",
+ "C_BRIGHTNESS_MINIMUM",
+ "C_BRIGHTNESS_MAXIMUM",
+ "C_BRIGHTNESS_AUTO",
+ "C_BACKLIGHT_TOGGLE",
+ "C_ASPECT",
+ "C_PIP",
+ ],
+ "input-assist": [
+ "C_KEYBOARD_INPUT_ASSIST_NEXT",
+ "C_KEYBOARD_INPUT_ASSIST_PREVIOUS",
+ "C_KEYBOARD_INPUT_ASSIST_NEXT_GROUP",
+ "C_KEYBOARD_INPUT_ASSIST_PREVIOUS_GROUP",
+ "C_KEYBOARD_INPUT_ASSIST_ACCEPT",
+ "C_KEYBOARD_INPUT_ASSIST_CANCEL",
+ ],
+ "keyboard-control-whitespace": [
+ "ESCAPE",
+ "RETURN",
+ "RETURN2",
+ "SPACE",
+ "TAB",
+ "BACKSPACE",
+ "DELETE",
+ "INSERT",
+ ],
+ "keyboard-fkeys": [
+ "F1",
+ "F2",
+ "F3",
+ "F4",
+ "F5",
+ "F6",
+ "F7",
+ "F8",
+ "F9",
+ "F10",
+ "F11",
+ "F12",
+ "F13",
+ "F14",
+ "F15",
+ "F16",
+ "F17",
+ "F18",
+ "F19",
+ "F20",
+ "F21",
+ "F22",
+ "F23",
+ "F24",
+ ],
+ "keyboard-international": [
+ "INTERNATIONAL_1",
+ "INTERNATIONAL_2",
+ "INTERNATIONAL_3",
+ "INTERNATIONAL_4",
+ "INTERNATIONAL_5",
+ "INTERNATIONAL_6",
+ "INTERNATIONAL_7",
+ "INTERNATIONAL_8",
+ "INTERNATIONAL_9",
+ ],
+ "keyboard-language": [
+ "LANGUAGE_1",
+ "LANGUAGE_2",
+ "LANGUAGE_3",
+ "LANGUAGE_4",
+ "LANGUAGE_5",
+ "LANGUAGE_6",
+ "LANGUAGE_7",
+ "LANGUAGE_8",
+ "LANGUAGE_9",
+ ],
+ "keyboard-letters": [
+ "A",
+ "B",
+ "C",
+ "D",
+ "E",
+ "F",
+ "G",
+ "H",
+ "I",
+ "J",
+ "K",
+ "L",
+ "M",
+ "N",
+ "O",
+ "P",
+ "Q",
+ "R",
+ "S",
+ "T",
+ "U",
+ "V",
+ "W",
+ "X",
+ "Y",
+ "Z",
+ ],
+ "keyboard-locks": [
+ "CAPSLOCK",
+ "LOCKING_CAPS",
+ "SCROLLLOCK",
+ "LOCKING_SCROLL",
+ "LOCKING_NUM",
+ ],
+ "keyboard-miscellaneous": [
+ "PRINTSCREEN",
+ "PAUSE_BREAK",
+ "ALT_ERASE",
+ "SYSREQ",
+ "K_CANCEL",
+ "CLEAR",
+ "CLEAR_AGAIN",
+ "CRSEL",
+ "PRIOR",
+ "SEPARATOR",
+ "OUT",
+ "OPER",
+ "EXSEL",
+ "K_EDIT",
+ ],
+ "keyboard-modifiers": [
+ "LEFT_SHIFT",
+ "RIGHT_SHIFT",
+ "LEFT_CONTROL",
+ "RIGHT_CONTROL",
+ "LEFT_ALT",
+ "RIGHT_ALT",
+ "LEFT_GUI",
+ "RIGHT_GUI",
+ ],
+ "keyboard-navigation": [
+ "HOME",
+ "END",
+ "PAGE_UP",
+ "PAGE_DOWN",
+ "UP_ARROW",
+ "DOWN_ARROW",
+ "LEFT_ARROW",
+ "RIGHT_ARROW",
+ "K_APPLICATION",
+ ],
+ "keyboard-numbers": [
+ "NUMBER_1",
+ "NUMBER_2",
+ "NUMBER_3",
+ "NUMBER_4",
+ "NUMBER_5",
+ "NUMBER_6",
+ "NUMBER_7",
+ "NUMBER_8",
+ "NUMBER_9",
+ "NUMBER_0",
+ ],
+ "keyboard-symbols": [
+ "EXCLAMATION",
+ "AT_SIGN",
+ "HASH",
+ "DOLLAR",
+ "PERCENT",
+ "CARET",
+ "AMPERSAND",
+ "ASTERISK",
+ "LEFT_PARENTHESIS",
+ "RIGHT_PARENTHESIS",
+ "EQUAL",
+ "PLUS",
+ "MINUS",
+ "UNDERSCORE",
+ "SLASH",
+ "QUESTION",
+ "BACKSLASH",
+ "PIPE",
+ "NON_US_BACKSLASH",
+ "PIPE2",
+ "SEMICOLON",
+ "COLON",
+ "SINGLE_QUOTE",
+ "DOUBLE_QUOTES",
+ "COMMA",
+ "LESS_THAN",
+ "PERIOD",
+ "GREATER_THAN",
+ "LEFT_BRACKET",
+ "LEFT_BRACE",
+ "RIGHT_BRACKET",
+ "RIGHT_BRACE",
+ "GRAVE",
+ "TILDE",
+ "NON_US_HASH",
+ "TILDE2",
+ ],
+ keypad: ["KP_NUMLOCK", "KP_CLEAR", "CLEAR2", "KP_ENTER"],
+ "keypad-numbers": [
+ "KP_NUMBER_1",
+ "KP_NUMBER_2",
+ "KP_NUMBER_3",
+ "KP_NUMBER_4",
+ "KP_NUMBER_5",
+ "KP_NUMBER_6",
+ "KP_NUMBER_7",
+ "KP_NUMBER_8",
+ "KP_NUMBER_9",
+ "KP_NUMBER_0",
+ ],
+ "keypad-operations": [
+ "KP_PLUS",
+ "KP_MINUS",
+ "KP_MULTIPLY",
+ "KP_DIVIDE",
+ "KP_EQUAL",
+ "KP_EQUAL_AS400",
+ "KP_DOT",
+ "KP_COMMA",
+ "KP_LEFT_PARENTHESIS",
+ "KP_RIGHT_PARENTHESIS",
+ ],
+ "media-controls": [
+ "C_RECORD",
+ "C_PLAY",
+ "C_PLAY_PAUSE",
+ "K_PLAY_PAUSE",
+ "C_PAUSE",
+ "C_STOP",
+ "K_STOP2",
+ "K_STOP3",
+ "C_STOP_EJECT",
+ "C_EJECT",
+ "K_EJECT",
+ "C_NEXT",
+ "K_NEXT",
+ "C_PREVIOUS",
+ "K_PREVIOUS",
+ "C_FAST_FORWARD",
+ "C_REWIND",
+ "C_SLOW",
+ "C_SLOW_TRACKING",
+ "C_REPEAT",
+ "C_RANDOM_PLAY",
+ "C_CAPTIONS",
+ "C_DATA_ON_SCREEN",
+ "C_SNAPSHOT",
+ ],
+ power: [
+ "C_POWER",
+ "K_POWER",
+ "C_RESET",
+ "C_SLEEP",
+ "K_SLEEP",
+ "C_SLEEP_MODE",
+ "C_AL_LOGOFF",
+ "C_AL_LOCK",
+ "K_LOCK",
+ ],
+ sound: [
+ "C_VOLUME_UP",
+ "K_VOLUME_UP",
+ "K_VOLUME_UP2",
+ "C_VOLUME_DOWN",
+ "K_VOLUME_DOWN",
+ "K_VOLUME_DOWN2",
+ "C_MUTE",
+ "K_MUTE",
+ "K_MUTE2",
+ "C_ALTERNATE_AUDIO_INCREMENT",
+ "C_BASS_BOOST",
+ ],
+ "undo-redo": ["C_AC_UNDO", "K_UNDO", "C_AC_REDO", "K_AGAIN"],
+};
diff --git a/docs/src/data/hid-applications.js b/docs/src/data/hid-applications.js
new file mode 100644
index 00000000..7cb7eda4
--- /dev/null
+++ b/docs/src/data/hid-applications.js
@@ -0,0 +1,11 @@
+/*
+ * Copyright (c) 2020 The ZMK Contributors
+ *
+ * SPDX-License-Identifier: CC-BY-NC-SA-4.0
+ */
+
+import usage from "../hid-usage";
+import * as pages from "./hid-usage-pages";
+
+export const keyboard = usage(pages.genericDesktop, 0x06);
+export const consumer = usage(pages.consumer, 0x01);
diff --git a/docs/src/data/hid-usage-pages.js b/docs/src/data/hid-usage-pages.js
new file mode 100644
index 00000000..ae11bc3b
--- /dev/null
+++ b/docs/src/data/hid-usage-pages.js
@@ -0,0 +1,9 @@
+/*
+ * Copyright (c) 2020 The ZMK Contributors
+ *
+ * SPDX-License-Identifier: CC-BY-NC-SA-4.0
+ */
+
+export const genericDesktop = 0x01;
+export const key = 0x07;
+export const consumer = 0x0c;
diff --git a/docs/src/data/hid.js b/docs/src/data/hid.js
new file mode 100644
index 00000000..1f7daa7c
--- /dev/null
+++ b/docs/src/data/hid.js
@@ -0,0 +1,7837 @@
+/*
+ * Copyright (c) 2020 The ZMK Contributors
+ *
+ * SPDX-License-Identifier: CC-BY-NC-SA-4.0
+ */
+
+import {
+ keyboard as keyboardApplication,
+ consumer as consumerApplication,
+} from "./hid-applications";
+
+import { key as keyPage, consumer as consumerPage } from "./hid-usage-pages";
+
+import usage from "../hid-usage";
+
+export default [
+ {
+ names: ["A"],
+ description: "a and A",
+ context: "Keyboard",
+ clarify: false,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0x04),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=83",
+ os: {
+ windows: true,
+ linux: true,
+ android: true,
+ macos: true,
+ ios: true,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["B"],
+ description: "b and B",
+ context: "Keyboard",
+ clarify: false,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0x05),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=83",
+ os: {
+ windows: true,
+ linux: true,
+ android: true,
+ macos: true,
+ ios: true,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["C"],
+ description: "c and C",
+ context: "Keyboard",
+ clarify: false,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0x06),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=83",
+ os: {
+ windows: true,
+ linux: true,
+ android: true,
+ macos: true,
+ ios: true,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["D"],
+ description: "d and D",
+ context: "Keyboard",
+ clarify: false,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0x07),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=83",
+ os: {
+ windows: true,
+ linux: true,
+ android: true,
+ macos: true,
+ ios: true,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["E"],
+ description: "e and E",
+ context: "Keyboard",
+ clarify: false,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0x08),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=83",
+ os: {
+ windows: true,
+ linux: true,
+ android: true,
+ macos: true,
+ ios: true,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["F"],
+ description: "f and F",
+ context: "Keyboard",
+ clarify: false,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0x09),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=83",
+ os: {
+ windows: true,
+ linux: true,
+ android: true,
+ macos: true,
+ ios: true,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["G"],
+ description: "g and G",
+ context: "Keyboard",
+ clarify: false,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0x0a),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=83",
+ os: {
+ windows: true,
+ linux: true,
+ android: true,
+ macos: true,
+ ios: true,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["H"],
+ description: "h and H",
+ context: "Keyboard",
+ clarify: false,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0x0b),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=83",
+ os: {
+ windows: true,
+ linux: true,
+ android: true,
+ macos: true,
+ ios: true,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["I"],
+ description: "i and I",
+ context: "Keyboard",
+ clarify: false,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0x0c),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=83",
+ os: {
+ windows: true,
+ linux: true,
+ android: true,
+ macos: true,
+ ios: true,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["J"],
+ description: "j and J",
+ context: "Keyboard",
+ clarify: false,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0x0d),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=83",
+ os: {
+ windows: true,
+ linux: true,
+ android: true,
+ macos: true,
+ ios: true,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["K"],
+ description: "k and K",
+ context: "Keyboard",
+ clarify: false,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0x0e),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=83",
+ os: {
+ windows: true,
+ linux: true,
+ android: true,
+ macos: true,
+ ios: true,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["L"],
+ description: "l and L",
+ context: "Keyboard",
+ clarify: false,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0x0f),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=83",
+ os: {
+ windows: true,
+ linux: true,
+ android: true,
+ macos: true,
+ ios: true,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["M"],
+ description: "m and M",
+ context: "Keyboard",
+ clarify: false,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0x10),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=83",
+ os: {
+ windows: true,
+ linux: true,
+ android: true,
+ macos: true,
+ ios: true,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["N"],
+ description: "n and N",
+ context: "Keyboard",
+ clarify: false,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0x11),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=83",
+ os: {
+ windows: true,
+ linux: true,
+ android: true,
+ macos: true,
+ ios: true,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["O"],
+ description: "o and O",
+ context: "Keyboard",
+ clarify: false,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0x12),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=83",
+ os: {
+ windows: true,
+ linux: true,
+ android: true,
+ macos: true,
+ ios: true,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["P"],
+ description: "p and P",
+ context: "Keyboard",
+ clarify: false,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0x13),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=83",
+ os: {
+ windows: true,
+ linux: true,
+ android: true,
+ macos: true,
+ ios: true,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["Q"],
+ description: "q and Q",
+ context: "Keyboard",
+ clarify: false,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0x14),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=83",
+ os: {
+ windows: true,
+ linux: true,
+ android: true,
+ macos: true,
+ ios: true,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["R"],
+ description: "r and R",
+ context: "Keyboard",
+ clarify: false,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0x15),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=83",
+ os: {
+ windows: true,
+ linux: true,
+ android: true,
+ macos: true,
+ ios: true,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["S"],
+ description: "s and S",
+ context: "Keyboard",
+ clarify: false,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0x16),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=83",
+ os: {
+ windows: true,
+ linux: true,
+ android: true,
+ macos: true,
+ ios: true,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["T"],
+ description: "t and T",
+ context: "Keyboard",
+ clarify: false,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0x17),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=83",
+ os: {
+ windows: true,
+ linux: true,
+ android: true,
+ macos: true,
+ ios: true,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["U"],
+ description: "u and U",
+ context: "Keyboard",
+ clarify: false,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0x18),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=83",
+ os: {
+ windows: true,
+ linux: true,
+ android: true,
+ macos: true,
+ ios: true,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["V"],
+ description: "v and V",
+ context: "Keyboard",
+ clarify: false,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0x19),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=84",
+ os: {
+ windows: true,
+ linux: true,
+ android: true,
+ macos: true,
+ ios: true,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["W"],
+ description: "w and W",
+ context: "Keyboard",
+ clarify: false,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0x1a),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=84",
+ os: {
+ windows: true,
+ linux: true,
+ android: true,
+ macos: true,
+ ios: true,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["X"],
+ description: "x and X",
+ context: "Keyboard",
+ clarify: false,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0x1b),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=84",
+ os: {
+ windows: true,
+ linux: true,
+ android: true,
+ macos: true,
+ ios: true,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["Y"],
+ description: "y and Y",
+ context: "Keyboard",
+ clarify: false,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0x1c),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=84",
+ os: {
+ windows: true,
+ linux: true,
+ android: true,
+ macos: true,
+ ios: true,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["Z"],
+ description: "z and Z",
+ context: "Keyboard",
+ clarify: false,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0x1d),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=84",
+ os: {
+ windows: true,
+ linux: true,
+ android: true,
+ macos: true,
+ ios: true,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["NUMBER_1", "N1"],
+ description: "1 and ! [Exclamation]",
+ context: "Keyboard",
+ clarify: false,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0x1e),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=84",
+ os: {
+ windows: true,
+ linux: true,
+ android: true,
+ macos: true,
+ ios: true,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["EXCLAMATION", "EXCL"],
+ description: "! [Exclamation]",
+ context: "Keyboard",
+ clarify: false,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0x1e),
+ },
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0xe1),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=84",
+ os: {
+ windows: true,
+ linux: true,
+ android: true,
+ macos: true,
+ ios: true,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["NUMBER_2", "N2"],
+ description: "2 and @ [At Sign]",
+ context: "Keyboard",
+ clarify: false,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0x1f),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=84",
+ os: {
+ windows: true,
+ linux: true,
+ android: true,
+ macos: true,
+ ios: true,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["AT_SIGN", "AT"],
+ description: "@ [At Sign]",
+ context: "Keyboard",
+ clarify: false,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0x1f),
+ },
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0xe1),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=84",
+ os: {
+ windows: true,
+ linux: true,
+ android: true,
+ macos: true,
+ ios: true,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["NUMBER_3", "N3"],
+ description: "3 and # [Hash / Pound]",
+ context: "Keyboard",
+ clarify: false,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0x20),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=84",
+ os: {
+ windows: true,
+ linux: true,
+ android: true,
+ macos: true,
+ ios: true,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["HASH", "POUND"],
+ description: "# [Hash / Pound]",
+ context: "Keyboard",
+ clarify: false,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0x20),
+ },
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0xe1),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=84",
+ os: {
+ windows: true,
+ linux: true,
+ android: true,
+ macos: true,
+ ios: true,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["NUMBER_4", "N4"],
+ description: "4 and $ [Dollar]",
+ context: "Keyboard",
+ clarify: false,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0x21),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=84",
+ os: {
+ windows: true,
+ linux: true,
+ android: true,
+ macos: true,
+ ios: true,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["DOLLAR", "DLLR"],
+ description: "$ [Dollar]",
+ context: "Keyboard",
+ clarify: false,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0x21),
+ },
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0xe1),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=84",
+ os: {
+ windows: true,
+ linux: true,
+ android: true,
+ macos: true,
+ ios: true,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["NUMBER_5", "N5"],
+ description: "5 and % [Percent]",
+ context: "Keyboard",
+ clarify: false,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0x22),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=84",
+ os: {
+ windows: true,
+ linux: true,
+ android: true,
+ macos: true,
+ ios: true,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["PERCENT", "PRCNT"],
+ description: "% [Percent]",
+ context: "Keyboard",
+ clarify: false,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0x22),
+ },
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0xe1),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=84",
+ os: {
+ windows: true,
+ linux: true,
+ android: true,
+ macos: true,
+ ios: true,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["NUMBER_6", "N6"],
+ description: "6 and ^ [Caret]",
+ context: "Keyboard",
+ clarify: false,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0x23),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=84",
+ os: {
+ windows: true,
+ linux: true,
+ android: true,
+ macos: true,
+ ios: true,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["CARET"],
+ description: "^ [Caret]",
+ context: "Keyboard",
+ clarify: false,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0x23),
+ },
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0xe1),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=84",
+ os: {
+ windows: true,
+ linux: true,
+ android: true,
+ macos: true,
+ ios: true,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["NUMBER_7", "N7"],
+ description: "7 and & [Ampersand]",
+ context: "Keyboard",
+ clarify: false,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0x24),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=84",
+ os: {
+ windows: true,
+ linux: true,
+ android: true,
+ macos: true,
+ ios: true,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["AMPERSAND", "AMPS"],
+ description: "& [Ampersand]",
+ context: "Keyboard",
+ clarify: false,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0x24),
+ },
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0xe1),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=84",
+ os: {
+ windows: true,
+ linux: true,
+ android: true,
+ macos: true,
+ ios: true,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["NUMBER_8", "N8"],
+ description: "8 and * [Asterisk / Star]",
+ context: "Keyboard",
+ clarify: false,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0x25),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=84",
+ os: {
+ windows: true,
+ linux: true,
+ android: true,
+ macos: true,
+ ios: true,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["ASTERISK", "ASTRK", "STAR"],
+ description: "* [Asterisk / Star]",
+ context: "Keyboard",
+ clarify: false,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0x25),
+ },
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0xe1),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=84",
+ os: {
+ windows: true,
+ linux: true,
+ android: true,
+ macos: true,
+ ios: true,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["NUMBER_9", "N9"],
+ description: "9 and ( [Left Parenthesis]",
+ context: "Keyboard",
+ clarify: false,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0x26),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=84",
+ os: {
+ windows: true,
+ linux: true,
+ android: true,
+ macos: true,
+ ios: true,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["LEFT_PARENTHESIS", "LPAR"],
+ description: "( [Left Parenthesis]",
+ context: "Keyboard",
+ clarify: false,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0x26),
+ },
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0xe1),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=84",
+ os: {
+ windows: true,
+ linux: true,
+ android: true,
+ macos: true,
+ ios: true,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["NUMBER_0", "N0"],
+ description: "0 and ) [Right Parenthesis]",
+ context: "Keyboard",
+ clarify: false,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0x27),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=84",
+ os: {
+ windows: true,
+ linux: true,
+ android: true,
+ macos: true,
+ ios: true,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["RIGHT_PARENTHESIS", "RPAR"],
+ description: ") [Right Parenthesis]",
+ context: "Keyboard",
+ clarify: false,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0x27),
+ },
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0xe1),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=84",
+ os: {
+ windows: true,
+ linux: true,
+ android: true,
+ macos: true,
+ ios: true,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["RETURN", "ENTER", "RET"],
+ description: "Return (Enter)",
+ context: "Keyboard",
+ clarify: false,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0x28),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=84",
+ os: {
+ windows: true,
+ linux: true,
+ android: true,
+ macos: true,
+ ios: true,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["ESCAPE", "ESC"],
+ description: "Escape",
+ context: "Keyboard",
+ clarify: false,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0x29),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=84",
+ os: {
+ windows: true,
+ linux: true,
+ android: true,
+ macos: true,
+ ios: true,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["BACKSPACE", "BSPC"],
+ description: "Backspace",
+ context: "Keyboard",
+ clarify: false,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0x2a),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=84",
+ os: {
+ windows: true,
+ linux: true,
+ android: true,
+ macos: true,
+ ios: true,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["TAB"],
+ description: "Tab",
+ context: "Keyboard",
+ clarify: false,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0x2b),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=84",
+ os: {
+ windows: true,
+ linux: true,
+ android: true,
+ macos: true,
+ ios: true,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["SPACE"],
+ description: "Space",
+ context: "Keyboard",
+ clarify: false,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0x2c),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=84",
+ os: {
+ windows: true,
+ linux: true,
+ android: true,
+ macos: true,
+ ios: true,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["MINUS"],
+ description: "- [Minus] and _ [Underscore]",
+ context: "Keyboard",
+ clarify: false,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0x2d),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=84",
+ os: {
+ windows: true,
+ linux: true,
+ android: true,
+ macos: true,
+ ios: true,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["UNDERSCORE", "UNDER"],
+ description: "_ [Underscore]",
+ context: "Keyboard",
+ clarify: false,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0x2d),
+ },
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0xe1),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=84",
+ os: {
+ windows: true,
+ linux: true,
+ android: true,
+ macos: true,
+ ios: true,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["EQUAL"],
+ description: "= [Equal] and + [Plus]",
+ context: "Keyboard",
+ clarify: false,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0x2e),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=84",
+ os: {
+ windows: true,
+ linux: true,
+ android: true,
+ macos: true,
+ ios: true,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["PLUS"],
+ description: "+ [Plus]",
+ context: "Keyboard",
+ clarify: false,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0x2e),
+ },
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0xe1),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=84",
+ os: {
+ windows: true,
+ linux: true,
+ android: true,
+ macos: true,
+ ios: true,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["LEFT_BRACKET", "LBKT"],
+ description: "[ [Left Bracket] and { [Left Brace]",
+ context: "Keyboard",
+ clarify: false,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0x2f),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=84",
+ os: {
+ windows: true,
+ linux: true,
+ android: true,
+ macos: true,
+ ios: true,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["LEFT_BRACE", "LBRC"],
+ description: "{ [Left Brace]",
+ context: "Keyboard",
+ clarify: false,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0x2f),
+ },
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0xe1),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=84",
+ os: {
+ windows: true,
+ linux: true,
+ android: true,
+ macos: true,
+ ios: true,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["RIGHT_BRACKET", "RBKT"],
+ description: "] [Right Bracket] and } [Right Brace]",
+ context: "Keyboard",
+ clarify: false,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0x30),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=84",
+ os: {
+ windows: true,
+ linux: true,
+ android: true,
+ macos: true,
+ ios: true,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["RIGHT_BRACE", "RBRC"],
+ description: "} [Right Brace]",
+ context: "Keyboard",
+ clarify: false,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0x30),
+ },
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0xe1),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=84",
+ os: {
+ windows: true,
+ linux: true,
+ android: true,
+ macos: true,
+ ios: true,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["BACKSLASH", "BSLH"],
+ description: "\\ [Backslash] and | [Pipe]",
+ context: "Keyboard",
+ clarify: false,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0x31),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=84",
+ os: {
+ windows: true,
+ linux: true,
+ android: true,
+ macos: true,
+ ios: true,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["PIPE"],
+ description: "| [Pipe]",
+ context: "Keyboard",
+ clarify: false,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0x31),
+ },
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0xe1),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=84",
+ os: {
+ windows: true,
+ linux: true,
+ android: true,
+ macos: true,
+ ios: true,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["NON_US_HASH"],
+ description: "Non-US # [Hash/Pound] and ~ [Tilde]",
+ context: "Keyboard",
+ clarify: false,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0x32),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=84",
+ os: {
+ windows: null,
+ linux: true,
+ android: true,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["TILDE2"],
+ description: "~ [Tilde]",
+ context: "Keyboard",
+ clarify: false,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0x32),
+ },
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0xe1),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=84",
+ os: {
+ windows: null,
+ linux: true,
+ android: true,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["SEMICOLON", "SEMI"],
+ description: "; [Semicolon] and : [Colon]",
+ context: "Keyboard",
+ clarify: false,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0x33),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=84",
+ os: {
+ windows: true,
+ linux: true,
+ android: true,
+ macos: true,
+ ios: true,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["COLON"],
+ description: ": [Colon]",
+ context: "Keyboard",
+ clarify: false,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0x33),
+ },
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0xe1),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=84",
+ os: {
+ windows: true,
+ linux: true,
+ android: true,
+ macos: true,
+ ios: true,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["SINGLE_QUOTE", "SQT", "APOSTROPHE", "APOS"],
+ description: "' [Apostrophe] and \" [Quote (Double)]",
+ context: "Keyboard",
+ clarify: false,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0x34),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=84",
+ os: {
+ windows: true,
+ linux: true,
+ android: true,
+ macos: true,
+ ios: true,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["DOUBLE_QUOTES", "DQT"],
+ description: '" [Quote (Double)]',
+ context: "Keyboard",
+ clarify: false,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0x34),
+ },
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0xe1),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=84",
+ os: {
+ windows: true,
+ linux: true,
+ android: true,
+ macos: true,
+ ios: true,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["GRAVE"],
+ description: "` [Grave Accent] and ~ [Tilde]",
+ context: "Keyboard",
+ clarify: false,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0x35),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=84",
+ os: {
+ windows: true,
+ linux: true,
+ android: true,
+ macos: true,
+ ios: true,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["TILDE"],
+ description: "~ [Tilde]",
+ context: "Keyboard",
+ clarify: false,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0x35),
+ },
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0xe1),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=84",
+ os: {
+ windows: true,
+ linux: true,
+ android: true,
+ macos: true,
+ ios: true,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["COMMA"],
+ description: ", [Comma] and < [Less Than]",
+ context: "Keyboard",
+ clarify: false,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0x36),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=84",
+ os: {
+ windows: true,
+ linux: true,
+ android: true,
+ macos: true,
+ ios: true,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["LESS_THAN", "LT"],
+ description: "< [Less Than]",
+ context: "Keyboard",
+ clarify: false,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0x36),
+ },
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0xe1),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=84",
+ os: {
+ windows: true,
+ linux: true,
+ android: true,
+ macos: true,
+ ios: true,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["PERIOD", "DOT"],
+ description: ". [Period] and > [Greater Than]",
+ context: "Keyboard",
+ clarify: false,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0x37),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=84",
+ os: {
+ windows: true,
+ linux: true,
+ android: true,
+ macos: true,
+ ios: true,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["GREATER_THAN", "GT"],
+ description: "> [Greater Than]",
+ context: "Keyboard",
+ clarify: false,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0x37),
+ },
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0xe1),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=84",
+ os: {
+ windows: true,
+ linux: true,
+ android: true,
+ macos: true,
+ ios: true,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["SLASH", "FSLH"],
+ description: "/ [Forward Slash] and ? [Question Mark]",
+ context: "Keyboard",
+ clarify: false,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0x38),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=84",
+ os: {
+ windows: true,
+ linux: true,
+ android: true,
+ macos: true,
+ ios: true,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["QUESTION", "QMARK"],
+ description: "? [Question Mark]",
+ context: "Keyboard",
+ clarify: false,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0x38),
+ },
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0xe1),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=84",
+ os: {
+ windows: true,
+ linux: true,
+ android: true,
+ macos: true,
+ ios: true,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["CAPSLOCK", "CAPS", "CLCK"],
+ description: "Caps Lock",
+ context: "Keyboard",
+ clarify: false,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0x39),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=84",
+ os: {
+ windows: true,
+ linux: true,
+ android: true,
+ macos: true,
+ ios: true,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["F1"],
+ description: "F1",
+ context: "Keyboard",
+ clarify: false,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0x3a),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=84",
+ os: {
+ windows: true,
+ linux: true,
+ android: true,
+ macos: true,
+ ios: true,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["F2"],
+ description: "F2",
+ context: "Keyboard",
+ clarify: false,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0x3b),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=84",
+ os: {
+ windows: true,
+ linux: true,
+ android: true,
+ macos: true,
+ ios: true,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["F3"],
+ description: "F3",
+ context: "Keyboard",
+ clarify: false,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0x3c),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=84",
+ os: {
+ windows: true,
+ linux: true,
+ android: true,
+ macos: true,
+ ios: true,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["F4"],
+ description: "F4",
+ context: "Keyboard",
+ clarify: false,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0x3d),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=84",
+ os: {
+ windows: true,
+ linux: true,
+ android: true,
+ macos: true,
+ ios: true,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["F5"],
+ description: "F5",
+ context: "Keyboard",
+ clarify: false,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0x3e),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=85",
+ os: {
+ windows: true,
+ linux: true,
+ android: true,
+ macos: true,
+ ios: true,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["F6"],
+ description: "F6",
+ context: "Keyboard",
+ clarify: false,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0x3f),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=85",
+ os: {
+ windows: true,
+ linux: true,
+ android: true,
+ macos: true,
+ ios: true,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["F7"],
+ description: "F7",
+ context: "Keyboard",
+ clarify: false,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0x40),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=85",
+ os: {
+ windows: true,
+ linux: true,
+ android: true,
+ macos: true,
+ ios: true,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["F8"],
+ description: "F8",
+ context: "Keyboard",
+ clarify: false,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0x41),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=85",
+ os: {
+ windows: true,
+ linux: true,
+ android: true,
+ macos: true,
+ ios: true,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["F9"],
+ description: "F9",
+ context: "Keyboard",
+ clarify: false,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0x42),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=85",
+ os: {
+ windows: true,
+ linux: true,
+ android: true,
+ macos: true,
+ ios: true,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["F10"],
+ description: "F10",
+ context: "Keyboard",
+ clarify: false,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0x43),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=85",
+ os: {
+ windows: true,
+ linux: true,
+ android: true,
+ macos: true,
+ ios: true,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["F11"],
+ description: "F11",
+ context: "Keyboard",
+ clarify: false,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0x44),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=85",
+ os: {
+ windows: true,
+ linux: true,
+ android: true,
+ macos: true,
+ ios: true,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["F12"],
+ description: "F12",
+ context: "Keyboard",
+ clarify: false,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0x45),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=85",
+ os: {
+ windows: true,
+ linux: true,
+ android: true,
+ macos: true,
+ ios: true,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["PRINTSCREEN", "PSCRN"],
+ description: "Print Screen",
+ context: "Keyboard",
+ clarify: false,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0x46),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=85",
+ os: {
+ windows: true,
+ linux: true,
+ android: true,
+ macos: true,
+ ios: true,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["SCROLLLOCK", "SLCK"],
+ description: "Scroll Lock",
+ context: "Keyboard",
+ clarify: false,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0x47),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=85",
+ os: {
+ windows: true,
+ linux: true,
+ android: true,
+ macos: true,
+ ios: true,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["PAUSE_BREAK"],
+ description: "Pause / Break",
+ context: "Keyboard",
+ clarify: false,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0x48),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=85",
+ os: {
+ windows: true,
+ linux: true,
+ android: true,
+ macos: true,
+ ios: true,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["INSERT", "INS"],
+ description: "Insert",
+ context: "Keyboard",
+ clarify: false,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0x49),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=85",
+ os: {
+ windows: true,
+ linux: true,
+ android: true,
+ macos: true,
+ ios: true,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["HOME"],
+ description: "Home",
+ context: "Keyboard",
+ clarify: false,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0x4a),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=85",
+ os: {
+ windows: true,
+ linux: true,
+ android: true,
+ macos: true,
+ ios: true,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["PAGE_UP", "PG_UP"],
+ description: "Page Up",
+ context: "Keyboard",
+ clarify: false,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0x4b),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=85",
+ os: {
+ windows: true,
+ linux: true,
+ android: true,
+ macos: true,
+ ios: true,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["DELETE", "DEL"],
+ description: "Delete",
+ context: "Keyboard",
+ clarify: false,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0x4c),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=85",
+ os: {
+ windows: true,
+ linux: true,
+ android: true,
+ macos: true,
+ ios: true,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["END"],
+ description: "End",
+ context: "Keyboard",
+ clarify: false,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0x4d),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=85",
+ os: {
+ windows: true,
+ linux: true,
+ android: true,
+ macos: true,
+ ios: true,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["PAGE_DOWN", "PG_DN"],
+ description: "Page Down",
+ context: "Keyboard",
+ clarify: false,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0x4e),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=85",
+ os: {
+ windows: true,
+ linux: true,
+ android: true,
+ macos: true,
+ ios: true,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["RIGHT_ARROW", "RIGHT"],
+ description: "⮕ [Right Arrow]",
+ context: "Keyboard",
+ clarify: false,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0x4f),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=85",
+ os: {
+ windows: true,
+ linux: true,
+ android: true,
+ macos: true,
+ ios: true,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["LEFT_ARROW", "LEFT"],
+ description: "⬅ [Left Arrow]",
+ context: "Keyboard",
+ clarify: false,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0x50),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=85",
+ os: {
+ windows: true,
+ linux: true,
+ android: true,
+ macos: true,
+ ios: true,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["DOWN_ARROW", "DOWN"],
+ description: "⬇ [Down Arrow]",
+ context: "Keyboard",
+ clarify: false,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0x51),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=85",
+ os: {
+ windows: true,
+ linux: true,
+ android: true,
+ macos: true,
+ ios: true,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["UP_ARROW", "UP"],
+ description: "⬆ [Up Arrow]",
+ context: "Keyboard",
+ clarify: false,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0x52),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=85",
+ os: {
+ windows: true,
+ linux: true,
+ android: true,
+ macos: true,
+ ios: true,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["KP_NUMLOCK", "KP_NUM", "KP_NLCK"],
+ description: "Numlock and Clear",
+ context: "Keypad",
+ clarify: false,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0x53),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=85",
+ os: {
+ windows: true,
+ linux: true,
+ android: true,
+ macos: true,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["CLEAR2"],
+ description: "Clear",
+ context: "Keypad",
+ clarify: null,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0x53),
+ },
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0xe1),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=85",
+ os: {
+ windows: null,
+ linux: true,
+ android: true,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["KP_DIVIDE", "KP_SLASH"],
+ description: "/ [Divide]",
+ context: "Keypad",
+ clarify: false,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0x54),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=85",
+ os: {
+ windows: true,
+ linux: true,
+ android: true,
+ macos: true,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["KP_MULTIPLY", "KP_ASTERISK"],
+ description: "* [Multiply]",
+ context: "Keypad",
+ clarify: false,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0x55),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=85",
+ os: {
+ windows: true,
+ linux: true,
+ android: true,
+ macos: true,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["KP_MINUS", "KP_SUBTRACT"],
+ description: "- [Minus]",
+ context: "Keypad",
+ clarify: false,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0x56),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=85",
+ os: {
+ windows: true,
+ linux: true,
+ android: true,
+ macos: true,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["KP_PLUS"],
+ description: "+ [Plus]",
+ context: "Keypad",
+ clarify: false,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0x57),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=85",
+ os: {
+ windows: true,
+ linux: true,
+ android: true,
+ macos: true,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["KP_ENTER"],
+ description: "Enter",
+ context: "Keypad",
+ clarify: false,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0x58),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=85",
+ os: {
+ windows: true,
+ linux: true,
+ android: true,
+ macos: true,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["KP_NUMBER_1", "KP_N1"],
+ description: "1",
+ context: "Keypad",
+ clarify: false,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0x59),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=85",
+ os: {
+ windows: true,
+ linux: true,
+ android: true,
+ macos: true,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["KP_NUMBER_2", "KP_N2"],
+ description: "2",
+ context: "Keypad",
+ clarify: false,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0x5a),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=85",
+ os: {
+ windows: true,
+ linux: true,
+ android: true,
+ macos: true,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["KP_NUMBER_3", "KP_N3"],
+ description: "3",
+ context: "Keypad",
+ clarify: false,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0x5b),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=85",
+ os: {
+ windows: true,
+ linux: true,
+ android: true,
+ macos: true,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["KP_NUMBER_4", "KP_N4"],
+ description: "4",
+ context: "Keypad",
+ clarify: false,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0x5c),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=85",
+ os: {
+ windows: true,
+ linux: true,
+ android: true,
+ macos: true,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["KP_NUMBER_5", "KP_N5"],
+ description: "5",
+ context: "Keypad",
+ clarify: false,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0x5d),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=85",
+ os: {
+ windows: true,
+ linux: true,
+ android: true,
+ macos: true,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["KP_NUMBER_6", "KP_N6"],
+ description: "6",
+ context: "Keypad",
+ clarify: false,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0x5e),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=85",
+ os: {
+ windows: true,
+ linux: true,
+ android: true,
+ macos: true,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["KP_NUMBER_7", "KP_N7"],
+ description: "7",
+ context: "Keypad",
+ clarify: false,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0x5f),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=85",
+ os: {
+ windows: true,
+ linux: true,
+ android: true,
+ macos: true,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["KP_NUMBER_8", "KP_N8"],
+ description: "8",
+ context: "Keypad",
+ clarify: false,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0x60),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=85",
+ os: {
+ windows: true,
+ linux: true,
+ android: true,
+ macos: true,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["KP_NUMBER_9", "KP_N9"],
+ description: "9",
+ context: "Keypad",
+ clarify: false,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0x61),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=85",
+ os: {
+ windows: true,
+ linux: true,
+ android: true,
+ macos: true,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["KP_NUMBER_0", "KP_N0"],
+ description: "0",
+ context: "Keypad",
+ clarify: false,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0x62),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=85",
+ os: {
+ windows: true,
+ linux: true,
+ android: true,
+ macos: true,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["KP_DOT"],
+ description: ". [Dot]",
+ context: "Keypad",
+ clarify: false,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0x63),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=86",
+ os: {
+ windows: true,
+ linux: true,
+ android: true,
+ macos: true,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["NON_US_BACKSLASH", "NON_US_BSLH"],
+ description: "Non-US \\ [Backslash] and | [Pipe]",
+ context: "Keyboard",
+ clarify: false,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0x64),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=86",
+ os: {
+ windows: true,
+ linux: true,
+ android: true,
+ macos: true,
+ ios: true,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["PIPE2"],
+ description: "| [Pipe]",
+ context: "Keyboard",
+ clarify: false,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0x64),
+ },
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0xe1),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=86",
+ os: {
+ windows: true,
+ linux: true,
+ android: true,
+ macos: true,
+ ios: true,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["K_APPLICATION", "K_APP", "K_CONTEXT_MENU", "K_CMENU"],
+ description: "Application (Context Menu)",
+ context: "Keyboard",
+ clarify: false,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0x65),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=86",
+ os: {
+ windows: null,
+ linux: true,
+ android: true,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["K_POWER", "K_PWR"],
+ description: "Power",
+ context: "Keyboard",
+ clarify: true,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0x66),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=86",
+ os: {
+ windows: null,
+ linux: false,
+ android: true,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["KP_EQUAL"],
+ description: "= [Equal]",
+ context: "Keypad",
+ clarify: false,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0x67),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=86",
+ os: {
+ windows: null,
+ linux: true,
+ android: true,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["F13"],
+ description: "F13",
+ context: "Keyboard",
+ clarify: false,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0x68),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=86",
+ os: {
+ windows: null,
+ linux: true,
+ android: false,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["F14"],
+ description: "F14",
+ context: "Keyboard",
+ clarify: false,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0x69),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=86",
+ os: {
+ windows: null,
+ linux: true,
+ android: false,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["F15"],
+ description: "F15",
+ context: "Keyboard",
+ clarify: false,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0x6a),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=86",
+ os: {
+ windows: null,
+ linux: true,
+ android: false,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["F16"],
+ description: "F16",
+ context: "Keyboard",
+ clarify: false,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0x6b),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=86",
+ os: {
+ windows: null,
+ linux: true,
+ android: false,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["F17"],
+ description: "F17",
+ context: "Keyboard",
+ clarify: false,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0x6c),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=86",
+ os: {
+ windows: null,
+ linux: true,
+ android: false,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["F18"],
+ description: "F18",
+ context: "Keyboard",
+ clarify: false,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0x6d),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=86",
+ os: {
+ windows: null,
+ linux: true,
+ android: false,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["F19"],
+ description: "F19",
+ context: "Keyboard",
+ clarify: false,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0x6e),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=86",
+ os: {
+ windows: null,
+ linux: true,
+ android: false,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["F20"],
+ description: "F20",
+ context: "Keyboard",
+ clarify: false,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0x6f),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=86",
+ os: {
+ windows: null,
+ linux: true,
+ android: false,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["F21"],
+ description: "F21",
+ context: "Keyboard",
+ clarify: false,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0x70),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=86",
+ os: {
+ windows: null,
+ linux: true,
+ android: false,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["F22"],
+ description: "F22",
+ context: "Keyboard",
+ clarify: false,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0x71),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=86",
+ os: {
+ windows: null,
+ linux: true,
+ android: false,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["F23"],
+ description: "F23",
+ context: "Keyboard",
+ clarify: false,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0x72),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=86",
+ os: {
+ windows: null,
+ linux: true,
+ android: false,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["F24"],
+ description: "F24",
+ context: "Keyboard",
+ clarify: false,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0x73),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=86",
+ os: {
+ windows: null,
+ linux: true,
+ android: false,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["K_EXECUTE", "K_EXEC"],
+ description: "Execute",
+ context: "Keyboard",
+ clarify: true,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0x74),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=86",
+ os: {
+ windows: null,
+ linux: true,
+ android: false,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["K_HELP"],
+ description: "Help",
+ context: "Keyboard",
+ clarify: true,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0x75),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=86",
+ os: {
+ windows: null,
+ linux: true,
+ android: false,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["K_MENU"],
+ description: "Menu",
+ context: "Keyboard",
+ clarify: true,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0x76),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=86",
+ os: {
+ windows: null,
+ linux: true,
+ android: false,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["K_SELECT"],
+ description: "Select",
+ context: "Keyboard",
+ clarify: true,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0x77),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=86",
+ os: {
+ windows: null,
+ linux: true,
+ android: false,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["K_STOP"],
+ description: "Stop",
+ context: "Keyboard",
+ clarify: true,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0x78),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=86",
+ os: {
+ windows: null,
+ linux: true,
+ android: true,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["K_AGAIN", "K_REDO"],
+ description: "Again",
+ context: "Keyboard",
+ clarify: true,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0x79),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=86",
+ os: {
+ windows: null,
+ linux: true,
+ android: false,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["K_UNDO"],
+ description: "Undo",
+ context: "Keyboard",
+ clarify: true,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0x7a),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=86",
+ os: {
+ windows: null,
+ linux: true,
+ android: false,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["K_CUT"],
+ description: "Cut",
+ context: "Keyboard",
+ clarify: true,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0x7b),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=86",
+ os: {
+ windows: null,
+ linux: true,
+ android: false,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["K_COPY"],
+ description: "Copy",
+ context: "Keyboard",
+ clarify: true,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0x7c),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=86",
+ os: {
+ windows: null,
+ linux: true,
+ android: false,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["K_PASTE"],
+ description: "Paste",
+ context: "Keyboard",
+ clarify: true,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0x7d),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=86",
+ os: {
+ windows: null,
+ linux: true,
+ android: false,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["K_FIND"],
+ description: "Find",
+ context: "Keyboard",
+ clarify: true,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0x7e),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=86",
+ os: {
+ windows: null,
+ linux: true,
+ android: false,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["K_MUTE"],
+ description: "Mute",
+ context: "Keyboard",
+ clarify: true,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0x7f),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=86",
+ os: {
+ windows: null,
+ linux: true,
+ android: true,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["K_VOLUME_UP", "K_VOL_UP"],
+ description: "Volume Up",
+ context: "Keyboard",
+ clarify: true,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0x80),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=86",
+ os: {
+ windows: null,
+ linux: true,
+ android: true,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["K_VOLUME_DOWN", "K_VOL_DN"],
+ description: "Volume Down",
+ context: "Keyboard",
+ clarify: true,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0x81),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=86",
+ os: {
+ windows: null,
+ linux: true,
+ android: true,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["LOCKING_CAPS", "LCAPS"],
+ description: "Locking Caps Lock",
+ context: "Keyboard",
+ clarify: false,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0x82),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=86",
+ os: {
+ windows: null,
+ linux: false,
+ android: false,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["LOCKING_NUM", "LNLCK"],
+ description: "Locking Num Lock",
+ context: "Keyboard",
+ clarify: false,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0x83),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=86",
+ os: {
+ windows: null,
+ linux: false,
+ android: false,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["LOCKING_SCROLL", "LSLCK"],
+ description: "Locking Scroll Lock",
+ context: "Keyboard",
+ clarify: false,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0x84),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=86",
+ os: {
+ windows: null,
+ linux: false,
+ android: false,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["KP_COMMA"],
+ description: ", [Comma]",
+ context: "Keypad",
+ clarify: false,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0x85),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=86",
+ os: {
+ windows: null,
+ linux: true,
+ android: true,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["KP_EQUAL_AS400"],
+ description: "= [Equal] (AS/400 keyboards)",
+ context: "Keypad",
+ clarify: false,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0x86),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=86",
+ os: {
+ windows: null,
+ linux: false,
+ android: false,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["INTERNATIONAL_1", "INT1", "INT_RO"],
+ description: "ろ (International 1)",
+ context: "Keyboard",
+ clarify: false,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0x87),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=86",
+ os: {
+ windows: null,
+ linux: true,
+ android: false,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["INTERNATIONAL_2", "INT2", "INT_KATAKANAHIRAGANA", "INT_KANA"],
+ description: "かな (International 2)",
+ context: "Keyboard",
+ clarify: false,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0x88),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=86",
+ os: {
+ windows: null,
+ linux: true,
+ android: false,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["INTERNATIONAL_3", "INT3", "INT_YEN"],
+ description: "¥ (International 3)",
+ context: "Keyboard",
+ clarify: false,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0x89),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=86",
+ os: {
+ windows: null,
+ linux: true,
+ android: false,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["INTERNATIONAL_4", "INT4", "INT_HENKAN"],
+ description: "変換 (International 4)",
+ context: "Keyboard",
+ clarify: false,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0x8a),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=86",
+ os: {
+ windows: null,
+ linux: true,
+ android: false,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["INTERNATIONAL_5", "INT5", "INT_MUHENKAN"],
+ description: "無変換 (International 5)",
+ context: "Keyboard",
+ clarify: false,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0x8b),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=87",
+ os: {
+ windows: null,
+ linux: true,
+ android: false,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["INTERNATIONAL_6", "INT6", "INT_KPJPCOMMA"],
+ description: ", [カソマ] (International 6)",
+ context: "Keyboard",
+ clarify: false,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0x8c),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=87",
+ os: {
+ windows: null,
+ linux: true,
+ android: false,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["INTERNATIONAL_7", "INT7"],
+ description: "International 7",
+ context: "Keyboard",
+ clarify: false,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0x8d),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=87",
+ os: {
+ windows: null,
+ linux: false,
+ android: false,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["INTERNATIONAL_8", "INT8"],
+ description: "International 8",
+ context: "Keyboard",
+ clarify: false,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0x8e),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=87",
+ os: {
+ windows: null,
+ linux: false,
+ android: false,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["INTERNATIONAL_9", "INT9"],
+ description: "International 9",
+ context: "Keyboard",
+ clarify: false,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0x8f),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=87",
+ os: {
+ windows: null,
+ linux: false,
+ android: false,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["LANGUAGE_1", "LANG1", "LANG_HANGEUL"],
+ description: "한/영 (Language 1)",
+ context: "Keyboard",
+ clarify: false,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0x90),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=87",
+ os: {
+ windows: null,
+ linux: true,
+ android: false,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["LANGUAGE_2", "LANG2", "LANG_HANJA"],
+ description: "한자 (Language 2)",
+ context: "Keyboard",
+ clarify: false,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0x91),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=87",
+ os: {
+ windows: null,
+ linux: true,
+ android: false,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["LANGUAGE_3", "LANG3", "LANG_KATAKANA"],
+ description: "カタカナ (Language 3)",
+ context: "Keyboard",
+ clarify: false,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0x92),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=87",
+ os: {
+ windows: null,
+ linux: true,
+ android: false,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["LANGUAGE_4", "LANG4", "LANG_HIRAGANA"],
+ description: "ひらがな (Language 4)",
+ context: "Keyboard",
+ clarify: false,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0x93),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=87",
+ os: {
+ windows: null,
+ linux: true,
+ android: false,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["LANGUAGE_5", "LANG5", "LANG_ZENKAKUHANKAKU"],
+ description: "半角/全角 (Language 5)",
+ context: "Keyboard",
+ clarify: false,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0x94),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=87",
+ os: {
+ windows: null,
+ linux: true,
+ android: false,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["LANGUAGE_6", "LANG6"],
+ description: "Language 6",
+ context: "Keyboard",
+ clarify: false,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0x95),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=87",
+ os: {
+ windows: null,
+ linux: false,
+ android: false,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["LANGUAGE_7", "LANG7"],
+ description: "Language 7",
+ context: "Keyboard",
+ clarify: false,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0x96),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=87",
+ os: {
+ windows: null,
+ linux: false,
+ android: false,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["LANGUAGE_8", "LANG8"],
+ description: "Language 8",
+ context: "Keyboard",
+ clarify: false,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0x97),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=87",
+ os: {
+ windows: null,
+ linux: false,
+ android: false,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["LANGUAGE_9", "LANG9"],
+ description: "Language 9",
+ context: "Keyboard",
+ clarify: false,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0x98),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=87",
+ os: {
+ windows: null,
+ linux: false,
+ android: false,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["ALT_ERASE"],
+ description: "Alternate Erase",
+ context: "Keyboard",
+ clarify: false,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0x99),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=87",
+ os: {
+ windows: null,
+ linux: false,
+ android: false,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["SYSREQ", "ATTENTION"],
+ description: "SysReq / Attention",
+ context: "Keyboard",
+ clarify: false,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0x9a),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=87",
+ os: {
+ windows: null,
+ linux: false,
+ android: false,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["K_CANCEL"],
+ description: "Cancel",
+ context: "Keyboard",
+ clarify: true,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0x9b),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=87",
+ os: {
+ windows: null,
+ linux: false,
+ android: false,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["CLEAR"],
+ description: "Clear",
+ context: "Keyboard",
+ clarify: false,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0x9c),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=87",
+ os: {
+ windows: null,
+ linux: true,
+ android: false,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["PRIOR"],
+ description: "Prior",
+ context: "Keyboard",
+ clarify: false,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0x9d),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=87",
+ os: {
+ windows: null,
+ linux: false,
+ android: false,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["RETURN2", "RET2"],
+ description: "Return",
+ context: "Keyboard",
+ clarify: false,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0x9e),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=87",
+ os: {
+ windows: null,
+ linux: false,
+ android: false,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["SEPARATOR"],
+ description: "Separator",
+ context: "Keyboard",
+ clarify: false,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0x9f),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=87",
+ os: {
+ windows: null,
+ linux: false,
+ android: false,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["OUT"],
+ description: "Out",
+ context: "Keyboard",
+ clarify: false,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0xa0),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=87",
+ os: {
+ windows: null,
+ linux: false,
+ android: false,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["OPER"],
+ description: "Oper",
+ context: "Keyboard",
+ clarify: false,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0xa1),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=87",
+ os: {
+ windows: null,
+ linux: false,
+ android: false,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["CLEAR_AGAIN"],
+ description: "Clear / Again",
+ context: "Keyboard",
+ clarify: false,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0xa2),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=87",
+ os: {
+ windows: null,
+ linux: false,
+ android: false,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["CRSEL"],
+ description: "CrSel / Props",
+ context: "Keyboard",
+ clarify: false,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0xa3),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=87",
+ os: {
+ windows: null,
+ linux: false,
+ android: false,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["EXSEL"],
+ description: "ExSel",
+ context: "Keyboard",
+ clarify: false,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0xa4),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=87",
+ os: {
+ windows: null,
+ linux: false,
+ android: false,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["KP_LEFT_PARENTHESIS", "KP_LPAR"],
+ description: "( [Left Parenthesis]",
+ context: "Keypad",
+ clarify: false,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0xb6),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=87",
+ os: {
+ windows: null,
+ linux: true,
+ android: true,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["KP_RIGHT_PARENTHESIS", "KP_RPAR"],
+ description: ") [Right Parenthesis]",
+ context: "Keypad",
+ clarify: false,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0xb7),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=87",
+ os: {
+ windows: null,
+ linux: true,
+ android: true,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["KP_CLEAR"],
+ description: "Clear",
+ context: "Keypad",
+ clarify: false,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0xd8),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=88",
+ os: {
+ windows: null,
+ linux: true,
+ android: false,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["LEFT_CONTROL", "LCTRL"],
+ description: "Left Control",
+ context: "Keyboard",
+ clarify: false,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0xe0),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=88",
+ os: {
+ windows: true,
+ linux: true,
+ android: true,
+ macos: true,
+ ios: true,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["LEFT_SHIFT", "LSHFT"],
+ description: "Left Shift ⇧",
+ context: "Keyboard",
+ clarify: false,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0xe1),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=88",
+ os: {
+ windows: true,
+ linux: true,
+ android: true,
+ macos: true,
+ ios: true,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["LEFT_ALT", "LALT"],
+ description: "Left Alt",
+ context: "Keyboard",
+ clarify: false,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0xe2),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=88",
+ os: {
+ windows: true,
+ linux: true,
+ android: true,
+ macos: true,
+ ios: true,
+ },
+ footnotes: {},
+ },
+ {
+ names: [
+ "LEFT_GUI",
+ "LGUI",
+ "LEFT_WIN",
+ "LWIN",
+ "LEFT_COMMAND",
+ "LCMD",
+ "LEFT_META",
+ "LMETA",
+ ],
+ description: "Left GUI (Windows / Command / Meta)",
+ context: "Keyboard",
+ clarify: false,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0xe3),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=88",
+ os: {
+ windows: true,
+ linux: true,
+ android: true,
+ macos: true,
+ ios: true,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["RIGHT_CONTROL", "RCTRL"],
+ description: "Right Control",
+ context: "Keyboard",
+ clarify: false,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0xe4),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=88",
+ os: {
+ windows: true,
+ linux: true,
+ android: true,
+ macos: true,
+ ios: true,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["RIGHT_SHIFT", "RSHFT"],
+ description: "Right Shift ⇧",
+ context: "Keyboard",
+ clarify: false,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0xe5),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=89",
+ os: {
+ windows: true,
+ linux: true,
+ android: true,
+ macos: true,
+ ios: true,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["RIGHT_ALT", "RALT"],
+ description: "Right Alt",
+ context: "Keyboard",
+ clarify: false,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0xe6),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=89",
+ os: {
+ windows: true,
+ linux: true,
+ android: true,
+ macos: true,
+ ios: true,
+ },
+ footnotes: {},
+ },
+ {
+ names: [
+ "RIGHT_GUI",
+ "RGUI",
+ "RIGHT_WIN",
+ "RWIN",
+ "RIGHT_COMMAND",
+ "RCMD",
+ "RIGHT_META",
+ "RMETA",
+ ],
+ description: "Right GUI (Windows / Command / Meta)",
+ context: "Keyboard",
+ clarify: false,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0xe7),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=89",
+ os: {
+ windows: true,
+ linux: true,
+ android: true,
+ macos: true,
+ ios: true,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["K_PLAY_PAUSE", "K_PP"],
+ description: "Play / Pause",
+ context: "Keyboard",
+ clarify: true,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0xe8),
+ },
+ ],
+ documentation:
+ "https://source.android.com/devices/input/keyboard-devices#hid-keyboard-and-keypad-page-0x07",
+ os: {
+ windows: null,
+ linux: true,
+ android: true,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["K_STOP2"],
+ description: "Stop",
+ context: "Keyboard",
+ clarify: true,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0xe9),
+ },
+ ],
+ documentation:
+ "https://source.android.com/devices/input/keyboard-devices#hid-keyboard-and-keypad-page-0x07",
+ os: {
+ windows: null,
+ linux: true,
+ android: true,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["K_PREVIOUS", "K_PREV"],
+ description: "Previous",
+ context: "Keyboard",
+ clarify: true,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0xea),
+ },
+ ],
+ documentation:
+ "https://source.android.com/devices/input/keyboard-devices#hid-keyboard-and-keypad-page-0x07",
+ os: {
+ windows: null,
+ linux: true,
+ android: true,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["K_NEXT"],
+ description: "Next",
+ context: "Keyboard",
+ clarify: true,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0xeb),
+ },
+ ],
+ documentation:
+ "https://source.android.com/devices/input/keyboard-devices#hid-keyboard-and-keypad-page-0x07",
+ os: {
+ windows: null,
+ linux: true,
+ android: true,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["K_EJECT"],
+ description: "Eject",
+ context: "Keyboard",
+ clarify: true,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0xec),
+ },
+ ],
+ documentation:
+ "https://source.android.com/devices/input/keyboard-devices#hid-keyboard-and-keypad-page-0x07",
+ os: {
+ windows: null,
+ linux: true,
+ android: true,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["K_VOLUME_UP2", "K_VOL_UP2"],
+ description: "Volume Up",
+ context: "Keyboard",
+ clarify: true,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0xed),
+ },
+ ],
+ documentation:
+ "https://source.android.com/devices/input/keyboard-devices#hid-keyboard-and-keypad-page-0x07",
+ os: {
+ windows: null,
+ linux: true,
+ android: true,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["K_VOLUME_DOWN2", "K_VOL_DN2"],
+ description: "Volume Down",
+ context: "Keyboard",
+ clarify: true,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0xee),
+ },
+ ],
+ documentation:
+ "https://source.android.com/devices/input/keyboard-devices#hid-keyboard-and-keypad-page-0x07",
+ os: {
+ windows: null,
+ linux: true,
+ android: true,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["K_MUTE2"],
+ description: "Mute",
+ context: "Keyboard",
+ clarify: true,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0xef),
+ },
+ ],
+ documentation:
+ "https://source.android.com/devices/input/keyboard-devices#hid-keyboard-and-keypad-page-0x07",
+ os: {
+ windows: null,
+ linux: true,
+ android: true,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["K_WWW"],
+ description: "Internet Browser",
+ context: "Keyboard",
+ clarify: true,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0xf0),
+ },
+ ],
+ documentation:
+ "https://source.android.com/devices/input/keyboard-devices#hid-keyboard-and-keypad-page-0x07",
+ os: {
+ windows: null,
+ linux: true,
+ android: true,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["K_BACK"],
+ description: "Back",
+ context: "Keyboard",
+ clarify: true,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0xf1),
+ },
+ ],
+ documentation:
+ "https://source.android.com/devices/input/keyboard-devices#hid-keyboard-and-keypad-page-0x07",
+ os: {
+ windows: null,
+ linux: true,
+ android: true,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["K_FORWARD"],
+ description: "Forward",
+ context: "Keyboard",
+ clarify: true,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0xf2),
+ },
+ ],
+ documentation:
+ "https://source.android.com/devices/input/keyboard-devices#hid-keyboard-and-keypad-page-0x07",
+ os: {
+ windows: null,
+ linux: true,
+ android: true,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["K_STOP3"],
+ description: "Stop",
+ context: "Keyboard",
+ clarify: true,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0xf3),
+ },
+ ],
+ documentation:
+ "https://source.android.com/devices/input/keyboard-devices#hid-keyboard-and-keypad-page-0x07",
+ os: {
+ windows: null,
+ linux: true,
+ android: true,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["K_FIND2"],
+ description: "Find",
+ context: "Keyboard",
+ clarify: true,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0xf4),
+ },
+ ],
+ documentation:
+ "https://source.android.com/devices/input/keyboard-devices#hid-keyboard-and-keypad-page-0x07",
+ os: {
+ windows: null,
+ linux: true,
+ android: false,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["K_SCROLL_UP"],
+ description: "Scroll Up",
+ context: "Keyboard",
+ clarify: true,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0xf5),
+ },
+ ],
+ documentation:
+ "https://source.android.com/devices/input/keyboard-devices#hid-keyboard-and-keypad-page-0x07",
+ os: {
+ windows: null,
+ linux: true,
+ android: true,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["K_SCROLL_DOWN"],
+ description: "Scroll Down",
+ context: "Keyboard",
+ clarify: true,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0xf6),
+ },
+ ],
+ documentation:
+ "https://source.android.com/devices/input/keyboard-devices#hid-keyboard-and-keypad-page-0x07",
+ os: {
+ windows: null,
+ linux: true,
+ android: true,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["K_EDIT"],
+ description: "Edit",
+ context: "Keyboard",
+ clarify: true,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0xf7),
+ },
+ ],
+ documentation:
+ "https://source.android.com/devices/input/keyboard-devices#hid-keyboard-and-keypad-page-0x07",
+ os: {
+ windows: null,
+ linux: true,
+ android: false,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["K_SLEEP"],
+ description: "Sleep",
+ context: "Keyboard",
+ clarify: true,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0xf8),
+ },
+ ],
+ documentation:
+ "https://source.android.com/devices/input/keyboard-devices#hid-keyboard-and-keypad-page-0x07",
+ os: {
+ windows: null,
+ linux: true,
+ android: false,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["K_LOCK", "K_SCREENSAVER", "K_COFFEE"],
+ description: "Lock",
+ context: "Keyboard",
+ clarify: true,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0xf9),
+ },
+ ],
+ documentation:
+ "https://source.android.com/devices/input/keyboard-devices#hid-keyboard-and-keypad-page-0x07",
+ os: {
+ windows: null,
+ linux: true,
+ android: true,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["K_REFRESH"],
+ description: "Refresh",
+ context: "Keyboard",
+ clarify: true,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0xfa),
+ },
+ ],
+ documentation:
+ "https://source.android.com/devices/input/keyboard-devices#hid-keyboard-and-keypad-page-0x07",
+ os: {
+ windows: null,
+ linux: true,
+ android: false,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["K_CALCULATOR", "K_CALC"],
+ description: "Calculator",
+ context: "Keyboard",
+ clarify: true,
+ usages: [
+ {
+ application: keyboardApplication,
+ item: usage(keyPage, 0xfb),
+ },
+ ],
+ documentation:
+ "https://source.android.com/devices/input/keyboard-devices#hid-keyboard-and-keypad-page-0x07",
+ os: {
+ windows: null,
+ linux: true,
+ android: true,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["C_POWER", "C_PWR"],
+ description: "Power",
+ context: "Consumer",
+ clarify: true,
+ usages: [
+ {
+ application: consumerApplication,
+ item: usage(consumerPage, 0x30),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=132",
+ os: {
+ windows: null,
+ linux: true,
+ android: false,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["C_RESET"],
+ description: "Reset",
+ context: "Consumer",
+ clarify: true,
+ usages: [
+ {
+ application: consumerApplication,
+ item: usage(consumerPage, 0x31),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=132",
+ os: {
+ windows: null,
+ linux: true,
+ android: false,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["C_SLEEP"],
+ description: "Sleep",
+ context: "Consumer",
+ clarify: true,
+ usages: [
+ {
+ application: consumerApplication,
+ item: usage(consumerPage, 0x32),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=132",
+ os: {
+ windows: null,
+ linux: true,
+ android: false,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["C_SLEEP_MODE"],
+ description: "Sleep Mode",
+ context: "Consumer",
+ clarify: true,
+ usages: [
+ {
+ application: consumerApplication,
+ item: usage(consumerPage, 0x34),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=132",
+ os: {
+ windows: null,
+ linux: false,
+ android: true,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["C_MENU"],
+ description: "Menu",
+ context: "Consumer Menu",
+ clarify: true,
+ usages: [
+ {
+ application: consumerApplication,
+ item: usage(consumerPage, 0x40),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=133",
+ os: {
+ windows: null,
+ linux: true,
+ android: true,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["C_MENU_PICK", "C_MENU_SELECT"],
+ description: "Pick",
+ context: "Consumer Menu",
+ clarify: true,
+ usages: [
+ {
+ application: consumerApplication,
+ item: usage(consumerPage, 0x41),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=133",
+ os: {
+ windows: null,
+ linux: true,
+ android: false,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["C_MENU_UP"],
+ description: "Up",
+ context: "Consumer Menu",
+ clarify: true,
+ usages: [
+ {
+ application: consumerApplication,
+ item: usage(consumerPage, 0x42),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=133",
+ os: {
+ windows: null,
+ linux: true,
+ android: false,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["C_MENU_DOWN"],
+ description: "Down",
+ context: "Consumer Menu",
+ clarify: true,
+ usages: [
+ {
+ application: consumerApplication,
+ item: usage(consumerPage, 0x43),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=133",
+ os: {
+ windows: null,
+ linux: true,
+ android: false,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["C_MENU_LEFT"],
+ description: "Left",
+ context: "Consumer Menu",
+ clarify: true,
+ usages: [
+ {
+ application: consumerApplication,
+ item: usage(consumerPage, 0x44),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=133",
+ os: {
+ windows: null,
+ linux: true,
+ android: false,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["C_MENU_RIGHT"],
+ description: "Right",
+ context: "Consumer Menu",
+ clarify: true,
+ usages: [
+ {
+ application: consumerApplication,
+ item: usage(consumerPage, 0x45),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=133",
+ os: {
+ windows: null,
+ linux: true,
+ android: false,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["C_MENU_ESCAPE", "C_MENU_ESC"],
+ description: "Escape",
+ context: "Consumer Menu",
+ clarify: true,
+ usages: [
+ {
+ application: consumerApplication,
+ item: usage(consumerPage, 0x46),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=133",
+ os: {
+ windows: null,
+ linux: true,
+ android: false,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["C_MENU_INCREASE", "C_MENU_INC"],
+ description: "Value Increase",
+ context: "Consumer Menu",
+ clarify: true,
+ usages: [
+ {
+ application: consumerApplication,
+ item: usage(consumerPage, 0x47),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=133",
+ os: {
+ windows: null,
+ linux: true,
+ android: false,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["C_MENU_DECREASE", "C_MENU_DEC"],
+ description: "Value Decrease",
+ context: "Consumer Menu",
+ clarify: true,
+ usages: [
+ {
+ application: consumerApplication,
+ item: usage(consumerPage, 0x48),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=133",
+ os: {
+ windows: null,
+ linux: true,
+ android: false,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["C_DATA_ON_SCREEN"],
+ description: "Data On Screen",
+ context: "Consumer",
+ clarify: true,
+ usages: [
+ {
+ application: consumerApplication,
+ item: usage(consumerPage, 0x60),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=134",
+ os: {
+ windows: null,
+ linux: true,
+ android: null,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["C_CAPTIONS", "C_SUBTITILES"],
+ description: "Closed Caption",
+ context: "Consumer",
+ clarify: true,
+ usages: [
+ {
+ application: consumerApplication,
+ item: usage(consumerPage, 0x61),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=134",
+ os: {
+ windows: null,
+ linux: true,
+ android: true,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["C_SNAPSHOT"],
+ description: "Snapshot",
+ context: "Consumer",
+ clarify: true,
+ usages: [
+ {
+ application: consumerApplication,
+ item: usage(consumerPage, 0x65),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=134",
+ os: {
+ windows: null,
+ linux: true,
+ android: null,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["C_PIP"],
+ description: "Picture-in-Picture Toggle",
+ context: "Consumer",
+ clarify: true,
+ usages: [
+ {
+ application: consumerApplication,
+ item: usage(consumerPage, 0x67),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=134",
+ os: {
+ windows: null,
+ linux: false,
+ android: true,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["C_RED_BUTTON", "C_RED"],
+ description: "Red Button",
+ context: "Consumer Menu",
+ clarify: true,
+ usages: [
+ {
+ application: consumerApplication,
+ item: usage(consumerPage, 0x69),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=133",
+ os: {
+ windows: null,
+ linux: true,
+ android: true,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["C_GREEN_BUTTON", "C_GREEN"],
+ description: "Green Button",
+ context: "Consumer Menu",
+ clarify: true,
+ usages: [
+ {
+ application: consumerApplication,
+ item: usage(consumerPage, 0x6a),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=133",
+ os: {
+ windows: null,
+ linux: true,
+ android: true,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["C_BLUE_BUTTON", "C_BLUE"],
+ description: "Blue Button",
+ context: "Consumer Menu",
+ clarify: true,
+ usages: [
+ {
+ application: consumerApplication,
+ item: usage(consumerPage, 0x6b),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=133",
+ os: {
+ windows: null,
+ linux: true,
+ android: true,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["C_YELLOW_BUTTON", "C_YELLOW"],
+ description: "Yellow Button",
+ context: "Consumer Menu",
+ clarify: true,
+ usages: [
+ {
+ application: consumerApplication,
+ item: usage(consumerPage, 0x6c),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=133",
+ os: {
+ windows: null,
+ linux: true,
+ android: true,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["C_ASPECT"],
+ description: "Aspect",
+ context: "Consumer",
+ clarify: true,
+ usages: [
+ {
+ application: consumerApplication,
+ item: usage(consumerPage, 0x6d),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=134",
+ os: {
+ windows: null,
+ linux: true,
+ android: null,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["C_BRIGHTNESS_INC", "C_BRI_INC", "C_BRI_UP"],
+ description: "Increase Brightness",
+ context: "Consumer",
+ clarify: true,
+ usages: [
+ {
+ application: consumerApplication,
+ item: usage(consumerPage, 0x6f),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=134",
+ os: {
+ windows: null,
+ linux: true,
+ android: null,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["C_BRIGHTNESS_DEC", "C_BRI_DEC", "C_BRI_DN"],
+ description: "Decrease Brightness",
+ context: "Consumer",
+ clarify: true,
+ usages: [
+ {
+ application: consumerApplication,
+ item: usage(consumerPage, 0x70),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=134",
+ os: {
+ windows: null,
+ linux: true,
+ android: null,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["C_BACKLIGHT_TOGGLE", "C_BKLT_TOG"],
+ description: "Backlight Toggle",
+ context: "Consumer",
+ clarify: true,
+ usages: [
+ {
+ application: consumerApplication,
+ item: usage(consumerPage, 0x72),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=134",
+ os: {
+ windows: null,
+ linux: true,
+ android: null,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["C_BRIGHTNESS_MINIMUM", "C_BRI_MIN"],
+ description: "Minimum Brightness",
+ context: "Consumer",
+ clarify: true,
+ usages: [
+ {
+ application: consumerApplication,
+ item: usage(consumerPage, 0x73),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=134",
+ os: {
+ windows: null,
+ linux: true,
+ android: null,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["C_BRIGHTNESS_MAXIMUM", "C_BRI_MAX"],
+ description: "Maximum Brightness",
+ context: "Consumer",
+ clarify: true,
+ usages: [
+ {
+ application: consumerApplication,
+ item: usage(consumerPage, 0x74),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=134",
+ os: {
+ windows: null,
+ linux: true,
+ android: null,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["C_BRIGHTNESS_AUTO", "C_BRI_AUTO"],
+ description: "Auto Brightness",
+ context: "Consumer",
+ clarify: true,
+ usages: [
+ {
+ application: consumerApplication,
+ item: usage(consumerPage, 0x75),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=134",
+ os: {
+ windows: null,
+ linux: true,
+ android: null,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["C_MEDIA_STEP", "C_MODE_STEP"],
+ description: "Mode Step",
+ context: "Consumer Media",
+ clarify: true,
+ usages: [
+ {
+ application: consumerApplication,
+ item: usage(consumerPage, 0x82),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=135",
+ os: {
+ windows: null,
+ linux: true,
+ android: false,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["C_RECALL_LAST", "C_CHAN_LAST"],
+ description: "Recall Last",
+ context: "Consumer",
+ clarify: true,
+ usages: [
+ {
+ application: consumerApplication,
+ item: usage(consumerPage, 0x83),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=135",
+ os: {
+ windows: null,
+ linux: true,
+ android: true,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["C_MEDIA_COMPUTER"],
+ description: "Computer",
+ context: "Consumer Media",
+ clarify: true,
+ usages: [
+ {
+ application: consumerApplication,
+ item: usage(consumerPage, 0x88),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=135",
+ os: {
+ windows: null,
+ linux: true,
+ android: false,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["C_MEDIA_TV"],
+ description: "TV",
+ context: "Consumer Media",
+ clarify: true,
+ usages: [
+ {
+ application: consumerApplication,
+ item: usage(consumerPage, 0x89),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=135",
+ os: {
+ windows: null,
+ linux: true,
+ android: true,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["C_MEDIA_WWW"],
+ description: "WWW",
+ context: "Consumer Media",
+ clarify: true,
+ usages: [
+ {
+ application: consumerApplication,
+ item: usage(consumerPage, 0x8a),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=135",
+ os: {
+ windows: null,
+ linux: true,
+ android: true,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["C_MEDIA_DVD"],
+ description: "DVD",
+ context: "Consumer Media",
+ clarify: true,
+ usages: [
+ {
+ application: consumerApplication,
+ item: usage(consumerPage, 0x8b),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=135",
+ os: {
+ windows: null,
+ linux: true,
+ android: false,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["C_MEDIA_PHONE"],
+ description: "Telephone",
+ context: "Consumer Media",
+ clarify: true,
+ usages: [
+ {
+ application: consumerApplication,
+ item: usage(consumerPage, 0x8c),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=135",
+ os: {
+ windows: null,
+ linux: true,
+ android: true,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["C_MEDIA_GUIDE"],
+ description: "Program Guide",
+ context: "Consumer Media",
+ clarify: true,
+ usages: [
+ {
+ application: consumerApplication,
+ item: usage(consumerPage, 0x8d),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=135",
+ os: {
+ windows: null,
+ linux: true,
+ android: true,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["C_MEDIA_VIDEOPHONE"],
+ description: "Video Phone",
+ context: "Consumer Media",
+ clarify: true,
+ usages: [
+ {
+ application: consumerApplication,
+ item: usage(consumerPage, 0x8e),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=135",
+ os: {
+ windows: null,
+ linux: true,
+ android: false,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["C_MEDIA_GAMES"],
+ description: "Games",
+ context: "Consumer Media",
+ clarify: true,
+ usages: [
+ {
+ application: consumerApplication,
+ item: usage(consumerPage, 0x8f),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=135",
+ os: {
+ windows: null,
+ linux: true,
+ android: false,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["C_MEDIA_MESSAGES"],
+ description: "Messages",
+ context: "Consumer Media",
+ clarify: true,
+ usages: [
+ {
+ application: consumerApplication,
+ item: usage(consumerPage, 0x90),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=135",
+ os: {
+ windows: null,
+ linux: true,
+ android: false,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["C_MEDIA_CD"],
+ description: "CD",
+ context: "Consumer Media",
+ clarify: true,
+ usages: [
+ {
+ application: consumerApplication,
+ item: usage(consumerPage, 0x91),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=135",
+ os: {
+ windows: null,
+ linux: true,
+ android: false,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["C_MEDIA_VCR"],
+ description: "VCR",
+ context: "Consumer Media",
+ clarify: true,
+ usages: [
+ {
+ application: consumerApplication,
+ item: usage(consumerPage, 0x92),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=135",
+ os: {
+ windows: null,
+ linux: true,
+ android: false,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["C_MEDIA_TUNER"],
+ description: "Tuner",
+ context: "Consumer Media",
+ clarify: true,
+ usages: [
+ {
+ application: consumerApplication,
+ item: usage(consumerPage, 0x93),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=135",
+ os: {
+ windows: null,
+ linux: true,
+ android: false,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["C_QUIT"],
+ description: "Quit",
+ context: "Consumer",
+ clarify: true,
+ usages: [
+ {
+ application: consumerApplication,
+ item: usage(consumerPage, 0x94),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=135",
+ os: {
+ windows: null,
+ linux: true,
+ android: false,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["C_HELP"],
+ description: "Help",
+ context: "Consumer",
+ clarify: true,
+ usages: [
+ {
+ application: consumerApplication,
+ item: usage(consumerPage, 0x95),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=135",
+ os: {
+ windows: null,
+ linux: true,
+ android: false,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["C_MEDIA_TAPE"],
+ description: "Tape",
+ context: "Consumer Media",
+ clarify: true,
+ usages: [
+ {
+ application: consumerApplication,
+ item: usage(consumerPage, 0x96),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=135",
+ os: {
+ windows: null,
+ linux: true,
+ android: false,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["C_MEDIA_CABLE"],
+ description: "Cable",
+ context: "Consumer Media",
+ clarify: true,
+ usages: [
+ {
+ application: consumerApplication,
+ item: usage(consumerPage, 0x97),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=135",
+ os: {
+ windows: null,
+ linux: true,
+ android: false,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["C_MEDIA_SATELLITE"],
+ description: "Satellite",
+ context: "Consumer Media",
+ clarify: true,
+ usages: [
+ {
+ application: consumerApplication,
+ item: usage(consumerPage, 0x98),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=135",
+ os: {
+ windows: null,
+ linux: true,
+ android: false,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["C_MEDIA_HOME"],
+ description: "Home",
+ context: "Consumer Media",
+ clarify: true,
+ usages: [
+ {
+ application: consumerApplication,
+ item: usage(consumerPage, 0x9a),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=136",
+ os: {
+ windows: null,
+ linux: true,
+ android: true,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["C_CHANNEL_INC", "C_CHAN_INC"],
+ description: "Channel Increment",
+ context: "Consumer",
+ clarify: true,
+ usages: [
+ {
+ application: consumerApplication,
+ item: usage(consumerPage, 0x9c),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=136",
+ os: {
+ windows: null,
+ linux: true,
+ android: true,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["C_CHANNEL_DEC", "C_CHAN_DEC"],
+ description: "Channel Decrement",
+ context: "Consumer",
+ clarify: true,
+ usages: [
+ {
+ application: consumerApplication,
+ item: usage(consumerPage, 0x9d),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=136",
+ os: {
+ windows: null,
+ linux: true,
+ android: true,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["C_MEDIA_VCR_PLUS"],
+ description: "VCR Plus",
+ context: "Consumer Media",
+ clarify: true,
+ usages: [
+ {
+ application: consumerApplication,
+ item: usage(consumerPage, 0xa0),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=135",
+ os: {
+ windows: null,
+ linux: true,
+ android: false,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["C_PLAY"],
+ description: "Play",
+ context: "Consumer",
+ clarify: true,
+ usages: [
+ {
+ application: consumerApplication,
+ item: usage(consumerPage, 0xb0),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=137",
+ os: {
+ windows: null,
+ linux: true,
+ android: true,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["C_PAUSE"],
+ description: "Pause",
+ context: "Consumer",
+ clarify: true,
+ usages: [
+ {
+ application: consumerApplication,
+ item: usage(consumerPage, 0xb1),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=137",
+ os: {
+ windows: null,
+ linux: true,
+ android: true,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["C_RECORD", "C_REC"],
+ description: "Record",
+ context: "Consumer",
+ clarify: true,
+ usages: [
+ {
+ application: consumerApplication,
+ item: usage(consumerPage, 0xb2),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=137",
+ os: {
+ windows: null,
+ linux: true,
+ android: true,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["C_FAST_FORWARD", "C_FF"],
+ description: "Fast Forward",
+ context: "Consumer",
+ clarify: true,
+ usages: [
+ {
+ application: consumerApplication,
+ item: usage(consumerPage, 0xb3),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=137",
+ os: {
+ windows: null,
+ linux: true,
+ android: true,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["C_REWIND", "C_RW"],
+ description: "Rewind",
+ context: "Consumer",
+ clarify: true,
+ usages: [
+ {
+ application: consumerApplication,
+ item: usage(consumerPage, 0xb4),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=137",
+ os: {
+ windows: null,
+ linux: true,
+ android: true,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["C_NEXT"],
+ description: "Next",
+ context: "Consumer",
+ clarify: true,
+ usages: [
+ {
+ application: consumerApplication,
+ item: usage(consumerPage, 0xb5),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=137",
+ os: {
+ windows: null,
+ linux: true,
+ android: true,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["C_PREVIOUS", "C_PREV"],
+ description: "Previous",
+ context: "Consumer",
+ clarify: true,
+ usages: [
+ {
+ application: consumerApplication,
+ item: usage(consumerPage, 0xb6),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=137",
+ os: {
+ windows: null,
+ linux: true,
+ android: true,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["C_STOP"],
+ description: "Stop",
+ context: "Consumer",
+ clarify: true,
+ usages: [
+ {
+ application: consumerApplication,
+ item: usage(consumerPage, 0xb7),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=137",
+ os: {
+ windows: null,
+ linux: true,
+ android: true,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["C_EJECT"],
+ description: "Eject",
+ context: "Consumer",
+ clarify: true,
+ usages: [
+ {
+ application: consumerApplication,
+ item: usage(consumerPage, 0xb8),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=137",
+ os: {
+ windows: null,
+ linux: true,
+ android: true,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["C_RANDOM_PLAY", "C_SHUFFLE"],
+ description: "Random Play",
+ context: "Consumer",
+ clarify: true,
+ usages: [
+ {
+ application: consumerApplication,
+ item: usage(consumerPage, 0xb9),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=137",
+ os: {
+ windows: null,
+ linux: true,
+ android: false,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["C_REPEAT"],
+ description: "Repeat",
+ context: "Consumer",
+ clarify: true,
+ usages: [
+ {
+ application: consumerApplication,
+ item: usage(consumerPage, 0xbc),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=137",
+ os: {
+ windows: null,
+ linux: true,
+ android: false,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["C_SLOW_TRACKING", "C_SLOW2"],
+ description: "Slow Tracking",
+ context: "Consumer",
+ clarify: true,
+ usages: [
+ {
+ application: consumerApplication,
+ item: usage(consumerPage, 0xbf),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=137",
+ os: {
+ windows: null,
+ linux: true,
+ android: null,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["C_STOP_EJECT"],
+ description: "Stop / Eject",
+ context: "Consumer",
+ clarify: true,
+ usages: [
+ {
+ application: consumerApplication,
+ item: usage(consumerPage, 0xcc),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=137",
+ os: {
+ windows: null,
+ linux: false,
+ android: false,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["C_PLAY_PAUSE", "C_PP"],
+ description: "Play / Pause",
+ context: "Consumer",
+ clarify: true,
+ usages: [
+ {
+ application: consumerApplication,
+ item: usage(consumerPage, 0xcd),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=137",
+ os: {
+ windows: null,
+ linux: true,
+ android: true,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["C_VOICE_COMMAND"],
+ description: "Voice Command",
+ context: "Consumer",
+ clarify: true,
+ usages: [
+ {
+ application: consumerApplication,
+ item: usage(consumerPage, 0xcf),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=132",
+ os: {
+ windows: null,
+ linux: true,
+ android: null,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["C_MUTE"],
+ description: "Mute",
+ context: "Consumer",
+ clarify: true,
+ usages: [
+ {
+ application: consumerApplication,
+ item: usage(consumerPage, 0xe2),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=139",
+ os: {
+ windows: null,
+ linux: true,
+ android: true,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["C_BASS_BOOST"],
+ description: "Bass Boost",
+ context: "Consumer",
+ clarify: true,
+ usages: [
+ {
+ application: consumerApplication,
+ item: usage(consumerPage, 0xe5),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=139",
+ os: {
+ windows: null,
+ linux: true,
+ android: false,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["C_VOLUME_UP", "C_VOL_UP"],
+ description: "Volume Up",
+ context: "Consumer",
+ clarify: true,
+ usages: [
+ {
+ application: consumerApplication,
+ item: usage(consumerPage, 0xe9),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=139",
+ os: {
+ windows: null,
+ linux: true,
+ android: true,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["C_VOLUME_DOWN", "C_VOL_DN"],
+ description: "Volume Down",
+ context: "Consumer",
+ clarify: true,
+ usages: [
+ {
+ application: consumerApplication,
+ item: usage(consumerPage, 0xea),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=139",
+ os: {
+ windows: null,
+ linux: true,
+ android: true,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["C_SLOW"],
+ description: "Slow",
+ context: "Consumer",
+ clarify: true,
+ usages: [
+ {
+ application: consumerApplication,
+ item: usage(consumerPage, 0xf5),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=141",
+ os: {
+ windows: null,
+ linux: true,
+ android: null,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["C_ALTERNATE_AUDIO_INCREMENT", "C_ALT_AUDIO_INC"],
+ description: "Alternate Audio Increment",
+ context: "Consumer",
+ clarify: true,
+ usages: [
+ {
+ application: consumerApplication,
+ item: usage(consumerPage, 0x173),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf",
+ os: {
+ windows: null,
+ linux: false,
+ android: true,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["C_AL_CCC"],
+ description: "Consumer Control Configuration",
+ context: "Consumer AL",
+ clarify: true,
+ usages: [
+ {
+ application: consumerApplication,
+ item: usage(consumerPage, 0x183),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=147",
+ os: {
+ windows: null,
+ linux: true,
+ android: true,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["C_AL_WORD"],
+ description: "Word Processor",
+ context: "Consumer AL",
+ clarify: true,
+ usages: [
+ {
+ application: consumerApplication,
+ item: usage(consumerPage, 0x184),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=147",
+ os: {
+ windows: null,
+ linux: true,
+ android: false,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["C_AL_TEXT_EDITOR"],
+ description: "Text Editor",
+ context: "Consumer AL",
+ clarify: true,
+ usages: [
+ {
+ application: consumerApplication,
+ item: usage(consumerPage, 0x185),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=147",
+ os: {
+ windows: null,
+ linux: true,
+ android: false,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["C_AL_SPREADSHEET", "C_AL_SHEET"],
+ description: "Spreadsheet",
+ context: "Consumer AL",
+ clarify: true,
+ usages: [
+ {
+ application: consumerApplication,
+ item: usage(consumerPage, 0x186),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=147",
+ os: {
+ windows: null,
+ linux: true,
+ android: false,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["C_AL_GRAPHICS_EDITOR"],
+ description: "Graphics Editor",
+ context: "Consumer AL",
+ clarify: true,
+ usages: [
+ {
+ application: consumerApplication,
+ item: usage(consumerPage, 0x187),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=147",
+ os: {
+ windows: null,
+ linux: true,
+ android: false,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["C_AL_PRESENTATION"],
+ description: "Presentation",
+ context: "Consumer AL",
+ clarify: true,
+ usages: [
+ {
+ application: consumerApplication,
+ item: usage(consumerPage, 0x188),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=147",
+ os: {
+ windows: null,
+ linux: true,
+ android: false,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["C_AL_DATABASE", "C_AL_DB"],
+ description: "Database App",
+ context: "Consumer AL",
+ clarify: true,
+ usages: [
+ {
+ application: consumerApplication,
+ item: usage(consumerPage, 0x189),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=147",
+ os: {
+ windows: null,
+ linux: true,
+ android: false,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["C_AL_EMAIL", "C_AL_MAIL"],
+ description: "Email Reader",
+ context: "Consumer AL",
+ clarify: true,
+ usages: [
+ {
+ application: consumerApplication,
+ item: usage(consumerPage, 0x18a),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=147",
+ os: {
+ windows: null,
+ linux: true,
+ android: true,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["C_AL_NEWS"],
+ description: "Newsreader",
+ context: "Consumer AL",
+ clarify: true,
+ usages: [
+ {
+ application: consumerApplication,
+ item: usage(consumerPage, 0x18b),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=147",
+ os: {
+ windows: null,
+ linux: true,
+ android: false,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["C_AL_VOICEMAIL"],
+ description: "Voicemail",
+ context: "Consumer AL",
+ clarify: true,
+ usages: [
+ {
+ application: consumerApplication,
+ item: usage(consumerPage, 0x18c),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=147",
+ os: {
+ windows: null,
+ linux: true,
+ android: false,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["C_AL_CONTACTS", "C_AL_ADDRESS_BOOK"],
+ description: "Contacts / Address Book",
+ context: "Consumer AL",
+ clarify: true,
+ usages: [
+ {
+ application: consumerApplication,
+ item: usage(consumerPage, 0x18d),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=147",
+ os: {
+ windows: null,
+ linux: true,
+ android: true,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["C_AL_CALENDAR", "C_AL_CAL"],
+ description: "Calendar / Schedule",
+ context: "Consumer AL",
+ clarify: true,
+ usages: [
+ {
+ application: consumerApplication,
+ item: usage(consumerPage, 0x18e),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=147",
+ os: {
+ windows: null,
+ linux: true,
+ android: true,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["C_AL_TASK_MANAGER"],
+ description: "Task / Project Manager",
+ context: "Consumer AL",
+ clarify: true,
+ usages: [
+ {
+ application: consumerApplication,
+ item: usage(consumerPage, 0x18f),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=147",
+ os: {
+ windows: null,
+ linux: true,
+ android: false,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["C_AL_JOURNAL"],
+ description: "Log / Journal / Timecard",
+ context: "Consumer AL",
+ clarify: true,
+ usages: [
+ {
+ application: consumerApplication,
+ item: usage(consumerPage, 0x190),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=147",
+ os: {
+ windows: null,
+ linux: true,
+ android: false,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["C_AL_FINANCE"],
+ description: "Checkbook / Finance",
+ context: "Consumer AL",
+ clarify: true,
+ usages: [
+ {
+ application: consumerApplication,
+ item: usage(consumerPage, 0x191),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=147",
+ os: {
+ windows: null,
+ linux: true,
+ android: false,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["C_AL_CALCULATOR", "C_AL_CALC"],
+ description: "Calculator",
+ context: "Consumer AL",
+ clarify: true,
+ usages: [
+ {
+ application: consumerApplication,
+ item: usage(consumerPage, 0x192),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=147",
+ os: {
+ windows: null,
+ linux: true,
+ android: true,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["C_AL_AV_CAPTURE_PLAYBACK"],
+ description: "A/V Capture / Playback",
+ context: "Consumer AL",
+ clarify: true,
+ usages: [
+ {
+ application: consumerApplication,
+ item: usage(consumerPage, 0x193),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=147",
+ os: {
+ windows: null,
+ linux: true,
+ android: false,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["C_AL_MY_COMPUTER"],
+ description: "Local Machine Browser",
+ context: "Consumer AL",
+ clarify: true,
+ usages: [
+ {
+ application: consumerApplication,
+ item: usage(consumerPage, 0x194),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=147",
+ os: {
+ windows: null,
+ linux: true,
+ android: false,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["C_AL_WWW"],
+ description: "Internet Browser",
+ context: "Consumer AL",
+ clarify: true,
+ usages: [
+ {
+ application: consumerApplication,
+ item: usage(consumerPage, 0x196),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=147",
+ os: {
+ windows: null,
+ linux: true,
+ android: true,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["C_AL_NETWORK_CHAT", "C_AL_CHAT"],
+ description: "Network Chat",
+ context: "Consumer AL",
+ clarify: true,
+ usages: [
+ {
+ application: consumerApplication,
+ item: usage(consumerPage, 0x199),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=148",
+ os: {
+ windows: null,
+ linux: true,
+ android: false,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["C_AL_LOGOFF"],
+ description: "Logoff",
+ context: "Consumer AL",
+ clarify: true,
+ usages: [
+ {
+ application: consumerApplication,
+ item: usage(consumerPage, 0x19c),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=148",
+ os: {
+ windows: null,
+ linux: true,
+ android: false,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["C_AL_LOCK", "C_AL_SCREENSAVER", "C_AL_COFFEE"],
+ description: "Terminal Lock / Screensaver",
+ context: "Consumer AL",
+ clarify: true,
+ usages: [
+ {
+ application: consumerApplication,
+ item: usage(consumerPage, 0x19e),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=148",
+ os: {
+ windows: null,
+ linux: true,
+ android: true,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["C_AL_CONTROL_PANEL"],
+ description: "Control Panel",
+ context: "Consumer AL",
+ clarify: true,
+ usages: [
+ {
+ application: consumerApplication,
+ item: usage(consumerPage, 0x19f),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=148",
+ os: {
+ windows: null,
+ linux: true,
+ android: false,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["C_AL_SELECT_TASK"],
+ description: "Select Task / Application",
+ context: "Consumer AL",
+ clarify: true,
+ usages: [
+ {
+ application: consumerApplication,
+ item: usage(consumerPage, 0x1a2),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=148",
+ os: {
+ windows: null,
+ linux: true,
+ android: false,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["C_AL_NEXT_TASK"],
+ description: "Next Task / Application",
+ context: "Consumer AL",
+ clarify: true,
+ usages: [
+ {
+ application: consumerApplication,
+ item: usage(consumerPage, 0x1a3),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=148",
+ os: {
+ windows: null,
+ linux: true,
+ android: false,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["C_AL_PREVIOUS_TASK", "C_AL_PREV_TASK"],
+ description: "Previous Task / Application",
+ context: "Consumer AL",
+ clarify: true,
+ usages: [
+ {
+ application: consumerApplication,
+ item: usage(consumerPage, 0x1a4),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=148",
+ os: {
+ windows: null,
+ linux: true,
+ android: false,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["C_AL_HELP"],
+ description: "Integrated Help Center",
+ context: "Consumer AL",
+ clarify: true,
+ usages: [
+ {
+ application: consumerApplication,
+ item: usage(consumerPage, 0x1a6),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=148",
+ os: {
+ windows: null,
+ linux: true,
+ android: false,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["C_AL_DOCUMENTS", "C_AL_DOCS"],
+ description: "Documents",
+ context: "Consumer AL",
+ clarify: true,
+ usages: [
+ {
+ application: consumerApplication,
+ item: usage(consumerPage, 0x1a7),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=148",
+ os: {
+ windows: null,
+ linux: true,
+ android: false,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["C_AL_SPELLCHECK", "C_AL_SPELL"],
+ description: "Spell Check",
+ context: "Consumer AL",
+ clarify: true,
+ usages: [
+ {
+ application: consumerApplication,
+ item: usage(consumerPage, 0x1ab),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=148",
+ os: {
+ windows: null,
+ linux: true,
+ android: false,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["C_AL_KEYBOARD_LAYOUT"],
+ description: "Keyboard Layout",
+ context: "Consumer AL",
+ clarify: true,
+ usages: [
+ {
+ application: consumerApplication,
+ item: usage(consumerPage, 0x1ae),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=148",
+ os: {
+ windows: null,
+ linux: true,
+ android: false,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["C_AL_SCREEN_SAVER"],
+ description: "Screen Saver",
+ context: "Consumer AL",
+ clarify: true,
+ usages: [
+ {
+ application: consumerApplication,
+ item: usage(consumerPage, 0x1b1),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=148",
+ os: {
+ windows: null,
+ linux: true,
+ android: false,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["C_AL_FILE_BROWSER", "C_AL_FILES"],
+ description: "File Browser",
+ context: "Consumer AL",
+ clarify: true,
+ usages: [
+ {
+ application: consumerApplication,
+ item: usage(consumerPage, 0x1b4),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=148",
+ os: {
+ windows: null,
+ linux: true,
+ android: false,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["C_AL_IMAGE_BROWSER", "C_AL_IMAGES"],
+ description: "Image Browser",
+ context: "Consumer AL",
+ clarify: true,
+ usages: [
+ {
+ application: consumerApplication,
+ item: usage(consumerPage, 0x1b6),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=148",
+ os: {
+ windows: null,
+ linux: true,
+ android: true,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["C_AL_AUDIO_BROWSER", "C_AL_AUDIO", "C_AL_MUSIC"],
+ description: "Audio Browser",
+ context: "Consumer AL",
+ clarify: true,
+ usages: [
+ {
+ application: consumerApplication,
+ item: usage(consumerPage, 0x1b7),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=148",
+ os: {
+ windows: null,
+ linux: true,
+ android: true,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["C_AL_MOVIE_BROWSER", "C_AL_MOVIES"],
+ description: "Movie Browser",
+ context: "Consumer AL",
+ clarify: true,
+ usages: [
+ {
+ application: consumerApplication,
+ item: usage(consumerPage, 0x1b8),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=148",
+ os: {
+ windows: null,
+ linux: true,
+ android: false,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["C_AL_INSTANT_MESSAGING", "C_AL_IM"],
+ description: "Instant Messaging",
+ context: "Consumer AL",
+ clarify: true,
+ usages: [
+ {
+ application: consumerApplication,
+ item: usage(consumerPage, 0x1bc),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=149",
+ os: {
+ windows: null,
+ linux: true,
+ android: false,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["C_AL_OEM_FEATURES", "C_AL_TIPS", "C_AL_TUTORIAL"],
+ description: "OEM Features / Tips / Tutorial Browser",
+ context: "Consumer AL",
+ clarify: true,
+ usages: [
+ {
+ application: consumerApplication,
+ item: usage(consumerPage, 0x1bd),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=149",
+ os: {
+ windows: null,
+ linux: true,
+ android: false,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["C_AC_NEW"],
+ description: "New",
+ context: "Consumer AC",
+ clarify: true,
+ usages: [
+ {
+ application: consumerApplication,
+ item: usage(consumerPage, 0x201),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=150",
+ os: {
+ windows: null,
+ linux: true,
+ android: false,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["C_AC_OPEN"],
+ description: "Open",
+ context: "Consumer AC",
+ clarify: true,
+ usages: [
+ {
+ application: consumerApplication,
+ item: usage(consumerPage, 0x202),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=150",
+ os: {
+ windows: null,
+ linux: true,
+ android: false,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["C_AC_CLOSE"],
+ description: "Close",
+ context: "Consumer AC",
+ clarify: true,
+ usages: [
+ {
+ application: consumerApplication,
+ item: usage(consumerPage, 0x203),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=150",
+ os: {
+ windows: null,
+ linux: true,
+ android: false,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["C_AC_EXIT"],
+ description: "Exit",
+ context: "Consumer AC",
+ clarify: true,
+ usages: [
+ {
+ application: consumerApplication,
+ item: usage(consumerPage, 0x204),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=150",
+ os: {
+ windows: null,
+ linux: true,
+ android: false,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["C_AC_SAVE"],
+ description: "Save",
+ context: "Consumer AC",
+ clarify: true,
+ usages: [
+ {
+ application: consumerApplication,
+ item: usage(consumerPage, 0x207),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=150",
+ os: {
+ windows: null,
+ linux: true,
+ android: false,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["C_AC_PRINT"],
+ description: "Print",
+ context: "Consumer AC",
+ clarify: true,
+ usages: [
+ {
+ application: consumerApplication,
+ item: usage(consumerPage, 0x208),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=150",
+ os: {
+ windows: null,
+ linux: true,
+ android: false,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["C_AC_PROPERTIES", "C_AC_PROPS"],
+ description: "Properties",
+ context: "Consumer AC",
+ clarify: true,
+ usages: [
+ {
+ application: consumerApplication,
+ item: usage(consumerPage, 0x209),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=150",
+ os: {
+ windows: null,
+ linux: true,
+ android: false,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["C_AC_UNDO"],
+ description: "Undo",
+ context: "Consumer AC",
+ clarify: true,
+ usages: [
+ {
+ application: consumerApplication,
+ item: usage(consumerPage, 0x21a),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=150",
+ os: {
+ windows: null,
+ linux: true,
+ android: false,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["C_AC_COPY"],
+ description: "Copy",
+ context: "Consumer AC",
+ clarify: true,
+ usages: [
+ {
+ application: consumerApplication,
+ item: usage(consumerPage, 0x21b),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=150",
+ os: {
+ windows: null,
+ linux: true,
+ android: false,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["C_AC_CUT"],
+ description: "Cut",
+ context: "Consumer AC",
+ clarify: true,
+ usages: [
+ {
+ application: consumerApplication,
+ item: usage(consumerPage, 0x21c),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=150",
+ os: {
+ windows: null,
+ linux: true,
+ android: false,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["C_AC_PASTE"],
+ description: "Paste",
+ context: "Consumer AC",
+ clarify: true,
+ usages: [
+ {
+ application: consumerApplication,
+ item: usage(consumerPage, 0x21d),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=150",
+ os: {
+ windows: null,
+ linux: true,
+ android: false,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["C_AC_FIND"],
+ description: "Find",
+ context: "Consumer AC",
+ clarify: true,
+ usages: [
+ {
+ application: consumerApplication,
+ item: usage(consumerPage, 0x21f),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=150",
+ os: {
+ windows: null,
+ linux: true,
+ android: false,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["C_AC_SEARCH"],
+ description: "Search",
+ context: "Consumer AC",
+ clarify: true,
+ usages: [
+ {
+ application: consumerApplication,
+ item: usage(consumerPage, 0x221),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=150",
+ os: {
+ windows: null,
+ linux: true,
+ android: true,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["C_AC_GOTO"],
+ description: "Go To",
+ context: "Consumer AC",
+ clarify: true,
+ usages: [
+ {
+ application: consumerApplication,
+ item: usage(consumerPage, 0x222),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=150",
+ os: {
+ windows: null,
+ linux: true,
+ android: false,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["C_AC_HOME"],
+ description: "Home",
+ context: "Consumer AC",
+ clarify: true,
+ usages: [
+ {
+ application: consumerApplication,
+ item: usage(consumerPage, 0x223),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=150",
+ os: {
+ windows: null,
+ linux: true,
+ android: true,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["C_AC_BACK"],
+ description: "Back",
+ context: "Consumer AC",
+ clarify: true,
+ usages: [
+ {
+ application: consumerApplication,
+ item: usage(consumerPage, 0x224),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=150",
+ os: {
+ windows: null,
+ linux: true,
+ android: true,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["C_AC_FORWARD"],
+ description: "Forward",
+ context: "Consumer AC",
+ clarify: true,
+ usages: [
+ {
+ application: consumerApplication,
+ item: usage(consumerPage, 0x225),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=150",
+ os: {
+ windows: null,
+ linux: true,
+ android: true,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["C_AC_STOP"],
+ description: "Stop",
+ context: "Consumer AC",
+ clarify: true,
+ usages: [
+ {
+ application: consumerApplication,
+ item: usage(consumerPage, 0x226),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=150",
+ os: {
+ windows: null,
+ linux: true,
+ android: true,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["C_AC_REFRESH"],
+ description: "Refresh",
+ context: "Consumer AC",
+ clarify: true,
+ usages: [
+ {
+ application: consumerApplication,
+ item: usage(consumerPage, 0x227),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=150",
+ os: {
+ windows: null,
+ linux: true,
+ android: false,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["C_AC_BOOKMARKS", "C_AC_FAVORITES", "C_AC_FAVOURITES"],
+ description: "Bookmarks",
+ context: "Consumer AC",
+ clarify: true,
+ usages: [
+ {
+ application: consumerApplication,
+ item: usage(consumerPage, 0x22a),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=150",
+ os: {
+ windows: null,
+ linux: true,
+ android: true,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["C_AC_ZOOM_IN"],
+ description: "Zoom In",
+ context: "Consumer AC",
+ clarify: true,
+ usages: [
+ {
+ application: consumerApplication,
+ item: usage(consumerPage, 0x22d),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=150",
+ os: {
+ windows: null,
+ linux: true,
+ android: false,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["C_AC_ZOOM_OUT"],
+ description: "Zoom Out",
+ context: "Consumer AC",
+ clarify: true,
+ usages: [
+ {
+ application: consumerApplication,
+ item: usage(consumerPage, 0x22e),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=150",
+ os: {
+ windows: null,
+ linux: true,
+ android: false,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["C_AC_ZOOM"],
+ description: "Zoom",
+ context: "Consumer AC",
+ clarify: true,
+ usages: [
+ {
+ application: consumerApplication,
+ item: usage(consumerPage, 0x22f),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=150",
+ os: {
+ windows: null,
+ linux: true,
+ android: false,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["C_AC_VIEW_TOGGLE"],
+ description: "View Toggle",
+ context: "Consumer AC",
+ clarify: true,
+ usages: [
+ {
+ application: consumerApplication,
+ item: usage(consumerPage, 0x232),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=151",
+ os: {
+ windows: null,
+ linux: true,
+ android: false,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["C_AC_SCROLL_UP"],
+ description: "Scroll Up",
+ context: "Consumer AC",
+ clarify: true,
+ usages: [
+ {
+ application: consumerApplication,
+ item: usage(consumerPage, 0x233),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=151",
+ os: {
+ windows: null,
+ linux: true,
+ android: true,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["C_AC_SCROLL_DOWN"],
+ description: "Scroll Down",
+ context: "Consumer AC",
+ clarify: true,
+ usages: [
+ {
+ application: consumerApplication,
+ item: usage(consumerPage, 0x234),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=151",
+ os: {
+ windows: null,
+ linux: true,
+ android: true,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["C_AC_EDIT"],
+ description: "Edit",
+ context: "Consumer AC",
+ clarify: true,
+ usages: [
+ {
+ application: consumerApplication,
+ item: usage(consumerPage, 0x23d),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=151",
+ os: {
+ windows: null,
+ linux: true,
+ android: false,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["C_AC_CANCEL"],
+ description: "Cancel",
+ context: "Consumer AC",
+ clarify: true,
+ usages: [
+ {
+ application: consumerApplication,
+ item: usage(consumerPage, 0x25f),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=152",
+ os: {
+ windows: null,
+ linux: true,
+ android: false,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["C_AC_INSERT", "C_AC_INS"],
+ description: "Insert Mode",
+ context: "Consumer AC",
+ clarify: true,
+ usages: [
+ {
+ application: consumerApplication,
+ item: usage(consumerPage, 0x269),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=152",
+ os: {
+ windows: null,
+ linux: true,
+ android: false,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["C_AC_DEL"],
+ description: "Delete",
+ context: "Consumer AC",
+ clarify: true,
+ usages: [
+ {
+ application: consumerApplication,
+ item: usage(consumerPage, 0x26a),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=152",
+ os: {
+ windows: null,
+ linux: true,
+ android: false,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["C_AC_REDO"],
+ description: "Redo / Repeat",
+ context: "Consumer AC",
+ clarify: true,
+ usages: [
+ {
+ application: consumerApplication,
+ item: usage(consumerPage, 0x279),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=152",
+ os: {
+ windows: null,
+ linux: true,
+ android: false,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["C_AC_REPLY"],
+ description: "Reply",
+ context: "Consumer AC",
+ clarify: true,
+ usages: [
+ {
+ application: consumerApplication,
+ item: usage(consumerPage, 0x289),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=153",
+ os: {
+ windows: null,
+ linux: true,
+ android: false,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["C_AC_FORWARD_MAIL"],
+ description: "Forward",
+ context: "Consumer AC",
+ clarify: true,
+ usages: [
+ {
+ application: consumerApplication,
+ item: usage(consumerPage, 0x28b),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=153",
+ os: {
+ windows: null,
+ linux: true,
+ android: false,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["C_AC_SEND"],
+ description: "Send",
+ context: "Consumer AC",
+ clarify: true,
+ usages: [
+ {
+ application: consumerApplication,
+ item: usage(consumerPage, 0x28c),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=153",
+ os: {
+ windows: null,
+ linux: true,
+ android: false,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["C_AC_DESKTOP_SHOW_ALL_WINDOWS"],
+ description: "Desktop Show All Windows",
+ context: "Consumer AC",
+ clarify: true,
+ usages: [
+ {
+ application: consumerApplication,
+ item: usage(consumerPage, 0x29f),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=153",
+ os: {
+ windows: null,
+ linux: true,
+ android: null,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["C_KEYBOARD_INPUT_ASSIST_PREVIOUS", "C_KBIA_PREV"],
+ description: "Previous",
+ context: "Consumer KBIA",
+ clarify: true,
+ usages: [
+ {
+ application: consumerApplication,
+ item: usage(consumerPage, 0x2c7),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=157",
+ os: {
+ windows: null,
+ linux: true,
+ android: null,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["C_KEYBOARD_INPUT_ASSIST_NEXT", "C_KBIA_NEXT"],
+ description: "Next",
+ context: "Consumer KBIA",
+ clarify: true,
+ usages: [
+ {
+ application: consumerApplication,
+ item: usage(consumerPage, 0x2c8),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=157",
+ os: {
+ windows: null,
+ linux: true,
+ android: null,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["C_KEYBOARD_INPUT_ASSIST_PREVIOUS_GROUP", "C_KBIA_PREV_GRP"],
+ description: "Previous Group",
+ context: "Consumer KBIA",
+ clarify: true,
+ usages: [
+ {
+ application: consumerApplication,
+ item: usage(consumerPage, 0x2c9),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=157",
+ os: {
+ windows: null,
+ linux: true,
+ android: null,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["C_KEYBOARD_INPUT_ASSIST_NEXT_GROUP", "C_KBIA_NEXT_GRP"],
+ description: "Next Group",
+ context: "Consumer KBIA",
+ clarify: true,
+ usages: [
+ {
+ application: consumerApplication,
+ item: usage(consumerPage, 0x2ca),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=157",
+ os: {
+ windows: null,
+ linux: true,
+ android: null,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["C_KEYBOARD_INPUT_ASSIST_ACCEPT", "C_KBIA_ACCEPT"],
+ description: "Accept",
+ context: "Consumer KBIA",
+ clarify: true,
+ usages: [
+ {
+ application: consumerApplication,
+ item: usage(consumerPage, 0x2cb),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=157",
+ os: {
+ windows: null,
+ linux: true,
+ android: null,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+ {
+ names: ["C_KEYBOARD_INPUT_ASSIST_CANCEL", "C_KBIA_CANCEL"],
+ description: "Cancel",
+ context: "Consumer KBIA",
+ clarify: true,
+ usages: [
+ {
+ application: consumerApplication,
+ item: usage(consumerPage, 0x2cc),
+ },
+ ],
+ documentation: "https://usb.org/sites/default/files/hut1_2.pdf#page=157",
+ os: {
+ windows: null,
+ linux: true,
+ android: null,
+ macos: null,
+ ios: null,
+ },
+ footnotes: {},
+ },
+];
diff --git a/docs/src/data/operating-systems.js b/docs/src/data/operating-systems.js
new file mode 100644
index 00000000..0631766d
--- /dev/null
+++ b/docs/src/data/operating-systems.js
@@ -0,0 +1,38 @@
+/*
+ * Copyright (c) 2020 The ZMK Contributors
+ *
+ * SPDX-License-Identifier: CC-BY-NC-SA-4.0
+ */
+
+export default [
+ {
+ key: "windows",
+ className: "windows",
+ heading: "W",
+ title: "Windows",
+ },
+ {
+ key: "linux",
+ className: "linux",
+ heading: "L",
+ title: "Linux",
+ },
+ {
+ key: "android",
+ className: "android",
+ heading: "A",
+ title: "Android",
+ },
+ {
+ key: "macos",
+ className: "macos",
+ heading: "m",
+ title: "macOS",
+ },
+ {
+ key: "ios",
+ className: "ios",
+ heading: "i",
+ title: "iOS",
+ },
+];
diff --git a/docs/src/footnotes.js b/docs/src/footnotes.js
new file mode 100644
index 00000000..c6fdbaa7
--- /dev/null
+++ b/docs/src/footnotes.js
@@ -0,0 +1,14 @@
+/*
+ * Copyright (c) 2020 The ZMK Contributors
+ *
+ * SPDX-License-Identifier: CC-BY-NC-SA-4.0
+ */
+
+import footnotes from "./data/footnotes";
+
+export function getFootnote(id) {
+ const footnote = footnotes[id];
+ if (typeof footnote != "undefined") {
+ return footnote;
+ }
+}
diff --git a/docs/src/groups.js b/docs/src/groups.js
new file mode 100644
index 00000000..a5ea294f
--- /dev/null
+++ b/docs/src/groups.js
@@ -0,0 +1,11 @@
+/*
+ * Copyright (c) 2020 The ZMK Contributors
+ *
+ * SPDX-License-Identifier: CC-BY-NC-SA-4.0
+ */
+
+import groups from "./data/groups.js";
+
+export function getGroup(id) {
+ return groups[id] ?? null;
+}
diff --git a/docs/src/hid-usage.js b/docs/src/hid-usage.js
new file mode 100644
index 00000000..d6423589
--- /dev/null
+++ b/docs/src/hid-usage.js
@@ -0,0 +1,9 @@
+/*
+ * Copyright (c) 2020 The ZMK Contributors
+ *
+ * SPDX-License-Identifier: CC-BY-NC-SA-4.0
+ */
+
+export default function usage(page, id) {
+ return (page << 16) | id;
+}
diff --git a/docs/src/hid.js b/docs/src/hid.js
new file mode 100644
index 00000000..583ce7a5
--- /dev/null
+++ b/docs/src/hid.js
@@ -0,0 +1,20 @@
+/*
+ * Copyright (c) 2020 The ZMK Contributors
+ *
+ * SPDX-License-Identifier: CC-BY-NC-SA-4.0
+ */
+
+import codes from "./data/hid";
+
+export const map = codes.reduce((map, item) => {
+ item.names.forEach((name) => (map[name] = item));
+ return map;
+}, {});
+
+export function getCode(id) {
+ return map[id] ?? null;
+}
+
+export function getCodes(ids) {
+ return ids.reduce((result, id) => [...result, map[id]], []);
+}