changing keyboard layout as go exec.

This commit is contained in:
Miroslav Šedivý
2021-01-12 23:48:15 +01:00
parent 4844225a0b
commit 7f18c5842d
7 changed files with 14 additions and 29 deletions

View File

@ -119,13 +119,6 @@ short XGetScreenRate() {
return XRRConfigCurrentRate(conf);
}
void SetKeyboardLayout(char *layout) {
// TOOD: refactor, use native API.
char cmd[13] = "setxkbmap ";
strncat(cmd, layout, 2);
system(cmd);
}
void XSetKeyboardModifier(int mod, int on) {
Display *display = getXDisplay();
XkbLockModifiers(display, XkbUseCoreKbd, mod, on ? mod : 0);

View File

@ -12,7 +12,6 @@ import (
"sync"
"time"
"unsafe"
"regexp"
"demodesk/neko/internal/types"
)
@ -204,20 +203,6 @@ func GetScreenSize() *types.ScreenSize {
return nil
}
func SetKeyboardLayout(layout string) {
mu.Lock()
defer mu.Unlock()
if !regexp.MustCompile(`^[a-zA-Z]+$`).MatchString(layout) {
return
}
layoutUnsafe := C.CString(layout)
defer C.free(unsafe.Pointer(layoutUnsafe))
C.SetKeyboardLayout(layoutUnsafe)
}
func SetKeyboardModifier(mod KbdModifiers, active bool) {
mu.Lock()
defer mu.Unlock()

View File

@ -25,7 +25,6 @@ void XSetScreenConfiguration(int index, short rate);
int XGetScreenSize();
short XGetScreenRate();
void SetKeyboardLayout(char *layout);
void XSetKeyboardModifier(int mod, int on);
char XGetKeyboardModifiers();
XFixesCursorImage *XGetCursorImage(void);