mirror of
https://github.com/m1k1o/neko.git
synced 2024-07-24 14:40:50 +12:00
67 lines
1.5 KiB
Go
67 lines
1.5 KiB
Go
package desktop
|
|
|
|
import (
|
|
"sync"
|
|
|
|
"demodesk/neko/internal/types"
|
|
"demodesk/neko/internal/desktop/xorg"
|
|
)
|
|
|
|
var mu = sync.Mutex{}
|
|
|
|
func (manager *DesktopManagerCtx) Move(x, y int) {
|
|
xorg.Move(x, y)
|
|
}
|
|
|
|
func (manager *DesktopManagerCtx) Scroll(x, y int) {
|
|
xorg.Scroll(x, y)
|
|
}
|
|
|
|
func (manager *DesktopManagerCtx) ButtonDown(code int) error {
|
|
return xorg.ButtonDown(code)
|
|
}
|
|
|
|
func (manager *DesktopManagerCtx) KeyDown(code uint64) error {
|
|
return xorg.KeyDown(code)
|
|
}
|
|
|
|
func (manager *DesktopManagerCtx) ButtonUp(code int) error {
|
|
return xorg.ButtonUp(code)
|
|
}
|
|
|
|
func (manager *DesktopManagerCtx) KeyUp(code uint64) error {
|
|
return xorg.KeyUp(code)
|
|
}
|
|
|
|
func (manager *DesktopManagerCtx) ResetKeys() {
|
|
xorg.ResetKeys()
|
|
}
|
|
|
|
func (manager *DesktopManagerCtx) ScreenConfigurations() map[int]types.ScreenConfiguration {
|
|
return xorg.ScreenConfigurations
|
|
}
|
|
|
|
func (manager *DesktopManagerCtx) GetScreenSize() *types.ScreenSize {
|
|
return xorg.GetScreenSize()
|
|
}
|
|
|
|
func (manager *DesktopManagerCtx) ChangeScreenSize(width int, height int, rate int) error {
|
|
mu.Lock()
|
|
manager.emmiter.Emit("before_screen_size_change")
|
|
|
|
defer func() {
|
|
manager.emmiter.Emit("after_screen_size_change")
|
|
mu.Unlock()
|
|
}()
|
|
|
|
return xorg.ChangeScreenSize(width, height, rate)
|
|
}
|
|
|
|
func (manager *DesktopManagerCtx) SetKeyboardLayout(layout string) {
|
|
xorg.SetKeyboardLayout(layout)
|
|
}
|
|
|
|
func (manager *DesktopManagerCtx) SetKeyboardModifiers(NumLock int, CapsLock int, ScrollLock int) {
|
|
xorg.SetKeyboardModifiers(NumLock, CapsLock, ScrollLock)
|
|
}
|