mirror of
https://github.com/luckfox-eng29/kvm.git
synced 2026-01-18 03:28:19 +01:00
feat(ui): enable multiple keyboard layouts for "paste text" to remote host (#405)
* Enable multiple keyboard layouts for paste text from host * Trema is the more robust method for capital umlauts * Improve error handling and pre-loading * Improve accent handling * Remove obscure Alt-Gr keys, unsure if they are supported everywhere * Add Swiss French * Change line ordering * Fix whitespace * Add French (France) * Add English (UK) * Add Swedish * Add Spanish * Fix fr_FR special characters * Add more keys to Spanish * Remove default value shift: false * Add Norwegian * Operator precedence 🤦 * Add Italian * Add Czech * Move guard statements outside of loop * Move language name definitions into the keyboard layout files * Change the locale names to their native language German->Deutsch et. al. * Move hold key handling into Go backend analogous to https://www.kernel.org/doc/Documentation/usb/gadget_hid.txt * Remove trailing whitespace * Fix * Add Belgisch Nederlands * Add JSONRPC handling * Use useSettingsStore * Revert "Move hold key handling into Go backend analogous to https://www.kernel.org/doc/Documentation/usb/gadget_hid.txt" This reverts commit 146cee9309ca7a8b7ab103e955f3fcc38a4bc692. * Move FeatureFlag to navigation * Fix: flip Y/Z * Add useEffect dependencies * Embolden language * Add to useCallback dependencies --------- Co-authored-by: Marc Brooks <IDisposable@gmail.com>
This commit is contained in:
14
jsonrpc.go
14
jsonrpc.go
@@ -901,6 +901,18 @@ func rpcSetCloudUrl(apiUrl string, appUrl string) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
func rpcGetKeyboardLayout() (string, error) {
|
||||
return config.KeyboardLayout, nil
|
||||
}
|
||||
|
||||
func rpcSetKeyboardLayout(layout string) error {
|
||||
config.KeyboardLayout = layout
|
||||
if err := SaveConfig(); err != nil {
|
||||
return fmt.Errorf("failed to save config: %w", err)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func getKeyboardMacros() (interface{}, error) {
|
||||
macros := make([]KeyboardMacro, len(config.KeyboardMacros))
|
||||
copy(macros, config.KeyboardMacros)
|
||||
@@ -1066,6 +1078,8 @@ var rpcHandlers = map[string]RPCHandler{
|
||||
"setUsbDevices": {Func: rpcSetUsbDevices, Params: []string{"devices"}},
|
||||
"setUsbDeviceState": {Func: rpcSetUsbDeviceState, Params: []string{"device", "enabled"}},
|
||||
"setCloudUrl": {Func: rpcSetCloudUrl, Params: []string{"apiUrl", "appUrl"}},
|
||||
"getKeyboardLayout": {Func: rpcGetKeyboardLayout},
|
||||
"setKeyboardLayout": {Func: rpcSetKeyboardLayout, Params: []string{"layout"}},
|
||||
"getKeyboardMacros": {Func: getKeyboardMacros},
|
||||
"setKeyboardMacros": {Func: setKeyboardMacros, Params: []string{"params"}},
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user