From d28f73bcfa3588f574d4e0180b74ab619687b2e8 Mon Sep 17 00:00:00 2001
From: Peter Cock
Date: Tue, 9 Sep 2025 18:52:41 +0100
Subject: [PATCH] docs: documenting PASTE/COPY/CUT keycodes on macOS (#3058)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
* Testing PASTE/COPY/CUT on macOS
Testing using ZMK Studio v0.3.1 to send these keys.
Using Karabiner-EventViewer, nothing from C_AC_CUT, C_AC_COPY, C_AC_PASTE, nor from paste special which I assume would be called C_AC_PASTE_SPECIAL (while for example C_AC_SEARCH was detected).
Did see K_CUT, K_COPY, K_PASTE, but they appear to do nothing by default.
* Add macOS footnote for editing keys K_CUT, K_COPY, K_PASTE
* Add macOS testing for K_UNDO, K_REDO etc.
C_AC_UNDO - not even registering as a keypress
K_UNDO - detected as a keypress, but no effect. Does not act like command+z
C_AC_REDO - not even registering as a keypress
K_AGAIN aka K_REDO - detected as a keypress, but no effect. Does not act like shift+command+z
* None of the six 'Input Assist' consumer keys work on macOS
Testing using ZMK Studio v0.3.1 to send these keys with macOS 15.6.1 (ARM),
and watching for keypresses with Karabiner-EventViewer v15.5.0.
---
.../docs/keymaps/_footnotes/macos-editing.mdx | 2 +
.../keymaps/_footnotes/macos-undo-redo.mdx | 2 +
docs/src/data/footnotes.js | 4 ++
docs/src/data/hid.js | 52 +++++++++++--------
4 files changed, 39 insertions(+), 21 deletions(-)
create mode 100644 docs/docs/keymaps/_footnotes/macos-editing.mdx
create mode 100644 docs/docs/keymaps/_footnotes/macos-undo-redo.mdx
diff --git a/docs/docs/keymaps/_footnotes/macos-editing.mdx b/docs/docs/keymaps/_footnotes/macos-editing.mdx
new file mode 100644
index 000000000..76c67d7f8
--- /dev/null
+++ b/docs/docs/keymaps/_footnotes/macos-editing.mdx
@@ -0,0 +1,2 @@
+On macOS, `K_CUT`, `K_COPY`, and `K_PASTE` are recognized as key presses,
+but do nothing by default.
diff --git a/docs/docs/keymaps/_footnotes/macos-undo-redo.mdx b/docs/docs/keymaps/_footnotes/macos-undo-redo.mdx
new file mode 100644
index 000000000..0e2c1538e
--- /dev/null
+++ b/docs/docs/keymaps/_footnotes/macos-undo-redo.mdx
@@ -0,0 +1,2 @@
+On macOS, `K_UNDO` and `K_REDO` are recognized as key presses,
+but do nothing by default.
diff --git a/docs/src/data/footnotes.js b/docs/src/data/footnotes.js
index af0413901..15ed56ade 100644
--- a/docs/src/data/footnotes.js
+++ b/docs/src/data/footnotes.js
@@ -7,13 +7,17 @@
import example from "@site/docs/keymaps/_footnotes/example.mdx";
import iosApplication from "@site/docs/keymaps/_footnotes/ios-application.mdx";
import iosPower from "@site/docs/keymaps/_footnotes/ios-power.mdx";
+import macosEditing from "@site/docs/keymaps/_footnotes/macos-editing.mdx";
import macosPower from "@site/docs/keymaps/_footnotes/macos-power.mdx";
+import macosUndoRedo from "@site/docs/keymaps/_footnotes/macos-undo-redo.mdx";
import globe from "@site/docs/keymaps/_footnotes/globe.mdx";
export default {
example,
iosApplication,
iosPower,
+ macosEditing,
macosPower,
+ macosUndoRedo,
globe,
};
diff --git a/docs/src/data/hid.js b/docs/src/data/hid.js
index 1bca99bf7..9d1a7e5ad 100644
--- a/docs/src/data/hid.js
+++ b/docs/src/data/hid.js
@@ -3092,10 +3092,12 @@ export default [
windows: false,
linux: true,
android: false,
- macos: null,
+ macos: true,
ios: null,
},
- footnotes: {},
+ footnotes: {
+ macos: ["macosEditing"],
+ },
},
{
names: ["K_UNDO"],
@@ -3113,10 +3115,12 @@ export default [
windows: false,
linux: true,
android: false,
- macos: null,
+ macos: true,
ios: null,
},
- footnotes: {},
+ footnotes: {
+ macos: ["macosEditing"],
+ },
},
{
names: ["K_CUT"],
@@ -3134,10 +3138,12 @@ export default [
windows: false,
linux: true,
android: false,
- macos: null,
+ macos: true,
ios: null,
},
- footnotes: {},
+ footnotes: {
+ macos: ["macosEditing"],
+ },
},
{
names: ["K_COPY"],
@@ -3155,10 +3161,12 @@ export default [
windows: false,
linux: true,
android: false,
- macos: null,
+ macos: true,
ios: null,
},
- footnotes: {},
+ footnotes: {
+ macos: ["macosEditing"],
+ },
},
{
names: ["K_PASTE"],
@@ -3176,10 +3184,12 @@ export default [
windows: false,
linux: true,
android: false,
- macos: null,
+ macos: true,
ios: null,
},
- footnotes: {},
+ footnotes: {
+ macos: ["macosEditing"],
+ },
},
{
names: ["K_FIND"],
@@ -7146,7 +7156,7 @@ export default [
windows: false,
linux: true,
android: false,
- macos: null,
+ macos: false,
ios: null,
},
footnotes: {},
@@ -7167,7 +7177,7 @@ export default [
windows: false,
linux: true,
android: false,
- macos: null,
+ macos: false,
ios: null,
},
footnotes: {},
@@ -7188,7 +7198,7 @@ export default [
windows: false,
linux: true,
android: false,
- macos: null,
+ macos: false,
ios: null,
},
footnotes: {},
@@ -7209,7 +7219,7 @@ export default [
windows: false,
linux: true,
android: false,
- macos: null,
+ macos: false,
ios: null,
},
footnotes: {},
@@ -7629,7 +7639,7 @@ export default [
windows: false,
linux: true,
android: false,
- macos: null,
+ macos: false,
ios: null,
},
footnotes: {},
@@ -7755,7 +7765,7 @@ export default [
windows: null,
linux: true,
android: null,
- macos: null,
+ macos: false,
ios: null,
},
footnotes: {},
@@ -7776,7 +7786,7 @@ export default [
windows: null,
linux: true,
android: null,
- macos: null,
+ macos: false,
ios: null,
},
footnotes: {},
@@ -7797,7 +7807,7 @@ export default [
windows: null,
linux: true,
android: null,
- macos: null,
+ macos: false,
ios: null,
},
footnotes: {},
@@ -7818,7 +7828,7 @@ export default [
windows: null,
linux: true,
android: null,
- macos: null,
+ macos: false,
ios: null,
},
footnotes: {},
@@ -7839,7 +7849,7 @@ export default [
windows: null,
linux: true,
android: null,
- macos: null,
+ macos: false,
ios: null,
},
footnotes: {},
@@ -7860,7 +7870,7 @@ export default [
windows: null,
linux: true,
android: null,
- macos: null,
+ macos: false,
ios: null,
},
footnotes: {},