pikvm/pikvm#1407: Save keymap on macro recording

This commit is contained in:
Maxim Devaev 2024-10-02 01:05:55 +03:00
parent 8209ee2eb0
commit 4e1d9815cd
2 changed files with 11 additions and 4 deletions

View File

@ -262,7 +262,7 @@ export function Hid(__getGeometry, __recorder) {
} else if (http.status !== 200) { } else if (http.status !== 200) {
wm.error("HID paste error", http.responseText); wm.error("HID paste error", http.responseText);
} else if (http.status === 200) { } else if (http.status === 200) {
__recorder.recordPrintEvent(text); __recorder.recordPrintEvent(text, keymap);
} }
}, text, "text/plain"); }, text, "text/plain");
}; };

View File

@ -67,8 +67,8 @@ export function Recorder() {
__recordEvent(event); __recordEvent(event);
}; };
self.recordPrintEvent = function(text) { self.recordPrintEvent = function(text, keymap) {
__recordEvent({"event_type": "print", "event": {"text": text}}); __recordEvent({"event_type": "print", "event": {"text": text, "keymap": keymap}});
}; };
self.recordAtxButtonEvent = function(button) { self.recordAtxButtonEvent = function(button) {
@ -159,6 +159,9 @@ export function Recorder() {
} else if (event.event_type === "print") { } else if (event.event_type === "print") {
__checkType(event.event.text, "string", "Non-string print text"); __checkType(event.event.text, "string", "Non-string print text");
if (event.event.keymap) {
__checkType(event.event.keymap, "string", "Non-string keymap");
}
} else if (event.event_type === "key") { } else if (event.event_type === "key") {
__checkType(event.event.key, "string", "Non-string key code"); __checkType(event.event.key, "string", "Non-string key code");
@ -280,7 +283,11 @@ export function Recorder() {
return; return;
} else if (event.event_type === "print") { } else if (event.event_type === "print") {
tools.httpPost("/api/hid/print", {"limit": 0}, function(http) { let params = {"limit": 0};
if (event.event.keymap) {
params["keymap"] = event.event.keymap;
}
tools.httpPost("/api/hid/print", params, function(http) {
if (http.status === 413) { if (http.status === 413) {
wm.error("Too many text for paste!"); wm.error("Too many text for paste!");
__stopProcess(); __stopProcess();