diff --git a/host.go b/host.go
index 022938e..54874e5 100644
--- a/host.go
+++ b/host.go
@@ -28,7 +28,7 @@ import (
const ipv4Rating int = +1
-func FindDefaultHost() string {
+func findDefaultHost() string {
type hostsValue struct {
prio int
host string
diff --git a/icon_font/U+1F507 Speaker with Cancellation Stroke.svg b/icon-font/U+1F507 Speaker with Cancellation Stroke.svg
similarity index 100%
rename from icon_font/U+1F507 Speaker with Cancellation Stroke.svg
rename to icon-font/U+1F507 Speaker with Cancellation Stroke.svg
diff --git a/icon_font/U+1F509 Speaker with One Sound Wave.svg b/icon-font/U+1F509 Speaker with One Sound Wave.svg
similarity index 100%
rename from icon_font/U+1F509 Speaker with One Sound Wave.svg
rename to icon-font/U+1F509 Speaker with One Sound Wave.svg
diff --git a/icon_font/U+1F50A Speaker with Three Sound Waves.svg b/icon-font/U+1F50A Speaker with Three Sound Waves.svg
similarity index 100%
rename from icon_font/U+1F50A Speaker with Three Sound Waves.svg
rename to icon-font/U+1F50A Speaker with Three Sound Waves.svg
diff --git a/icon_font/U+1FA9F Window.svg b/icon-font/U+1FA9F Window.svg
similarity index 100%
rename from icon_font/U+1FA9F Window.svg
rename to icon-font/U+1FA9F Window.svg
diff --git a/icon_font/U+2190 Leftwards Arrow.svg b/icon-font/U+2190 Leftwards Arrow.svg
similarity index 100%
rename from icon_font/U+2190 Leftwards Arrow.svg
rename to icon-font/U+2190 Leftwards Arrow.svg
diff --git a/icon_font/U+2191 Upwards Arrow.svg b/icon-font/U+2191 Upwards Arrow.svg
similarity index 100%
rename from icon_font/U+2191 Upwards Arrow.svg
rename to icon-font/U+2191 Upwards Arrow.svg
diff --git a/icon_font/U+2192 Rightwards Arrow.svg b/icon-font/U+2192 Rightwards Arrow.svg
similarity index 100%
rename from icon_font/U+2192 Rightwards Arrow.svg
rename to icon-font/U+2192 Rightwards Arrow.svg
diff --git a/icon_font/U+2193 Downwards Arrow.svg b/icon-font/U+2193 Downwards Arrow.svg
similarity index 100%
rename from icon_font/U+2193 Downwards Arrow.svg
rename to icon-font/U+2193 Downwards Arrow.svg
diff --git a/icon_font/U+21BB Clockwise Open Circle Arrow.svg b/icon-font/U+21BB Clockwise Open Circle Arrow.svg
similarity index 100%
rename from icon_font/U+21BB Clockwise Open Circle Arrow.svg
rename to icon-font/U+21BB Clockwise Open Circle Arrow.svg
diff --git a/icon_font/U+2261 Identical To.svg b/icon-font/U+2261 Identical To.svg
similarity index 100%
rename from icon_font/U+2261 Identical To.svg
rename to icon-font/U+2261 Identical To.svg
diff --git a/icon_font/U+2326 Erase To the Right.svg b/icon-font/U+2326 Erase To the Right.svg
similarity index 100%
rename from icon_font/U+2326 Erase To the Right.svg
rename to icon-font/U+2326 Erase To the Right.svg
diff --git a/icon_font/U+2328 Keyboard.svg b/icon-font/U+2328 Keyboard.svg
similarity index 100%
rename from icon_font/U+2328 Keyboard.svg
rename to icon-font/U+2328 Keyboard.svg
diff --git a/icon_font/U+232B Erase To the Left.svg b/icon-font/U+232B Erase To the Left.svg
similarity index 100%
rename from icon_font/U+232B Erase To the Left.svg
rename to icon-font/U+232B Erase To the Left.svg
diff --git a/icon_font/U+23ED Black Right-Pointing Double Triangle with Vertical Bar.svg b/icon-font/U+23ED Black Right-Pointing Double Triangle with Vertical Bar.svg
similarity index 100%
rename from icon_font/U+23ED Black Right-Pointing Double Triangle with Vertical Bar.svg
rename to icon-font/U+23ED Black Right-Pointing Double Triangle with Vertical Bar.svg
diff --git a/icon_font/U+23EE Black Left-Pointing Double Triangle with Vertical Bar.svg b/icon-font/U+23EE Black Left-Pointing Double Triangle with Vertical Bar.svg
similarity index 100%
rename from icon_font/U+23EE Black Left-Pointing Double Triangle with Vertical Bar.svg
rename to icon-font/U+23EE Black Left-Pointing Double Triangle with Vertical Bar.svg
diff --git a/icon_font/U+23EF Black Right-Pointing Triangle with Double Vertical Bar.svg b/icon-font/U+23EF Black Right-Pointing Triangle with Double Vertical Bar.svg
similarity index 100%
rename from icon_font/U+23EF Black Right-Pointing Triangle with Double Vertical Bar.svg
rename to icon-font/U+23EF Black Right-Pointing Triangle with Double Vertical Bar.svg
diff --git a/icon_font/U+27A3 Three-D Bottom-Lighted Rightwards Arrowhead.svg b/icon-font/U+27A3 Three-D Bottom-Lighted Rightwards Arrowhead.svg
similarity index 100%
rename from icon_font/U+27A3 Three-D Bottom-Lighted Rightwards Arrowhead.svg
rename to icon-font/U+27A3 Three-D Bottom-Lighted Rightwards Arrowhead.svg
diff --git a/icon_font/U+2922 North East and South West Arrow.svg b/icon-font/U+2922 North East and South West Arrow.svg
similarity index 100%
rename from icon_font/U+2922 North East and South West Arrow.svg
rename to icon-font/U+2922 North East and South West Arrow.svg
diff --git a/icon_font/U+2B60 Leftwards Triangle-Headed Arrow.svg b/icon-font/U+2B60 Leftwards Triangle-Headed Arrow.svg
similarity index 100%
rename from icon_font/U+2B60 Leftwards Triangle-Headed Arrow.svg
rename to icon-font/U+2B60 Leftwards Triangle-Headed Arrow.svg
diff --git a/icon_font/U+2B62 Rightwards Triangle-Headed Arrow.svg b/icon-font/U+2B62 Rightwards Triangle-Headed Arrow.svg
similarity index 100%
rename from icon_font/U+2B62 Rightwards Triangle-Headed Arrow.svg
rename to icon-font/U+2B62 Rightwards Triangle-Headed Arrow.svg
diff --git a/icon_font/U+2B70 Leftwards Triangle-Headed Arrow To Bar.svg b/icon-font/U+2B70 Leftwards Triangle-Headed Arrow To Bar.svg
similarity index 100%
rename from icon_font/U+2B70 Leftwards Triangle-Headed Arrow To Bar.svg
rename to icon-font/U+2B70 Leftwards Triangle-Headed Arrow To Bar.svg
diff --git a/icon_font/U+2B72 Rightwards Triangle-Headed Arrow To Bar.svg b/icon-font/U+2B72 Rightwards Triangle-Headed Arrow To Bar.svg
similarity index 100%
rename from icon_font/U+2B72 Rightwards Triangle-Headed Arrow To Bar.svg
rename to icon-font/U+2B72 Rightwards Triangle-Headed Arrow To Bar.svg
diff --git a/icon_font/U+2B82 Rightwards Triangle-Headed Arrow Over Leftwards Triangle-Headed Arrow.svg b/icon-font/U+2B82 Rightwards Triangle-Headed Arrow Over Leftwards Triangle-Headed Arrow.svg
similarity index 100%
rename from icon_font/U+2B82 Rightwards Triangle-Headed Arrow Over Leftwards Triangle-Headed Arrow.svg
rename to icon-font/U+2B82 Rightwards Triangle-Headed Arrow Over Leftwards Triangle-Headed Arrow.svg
diff --git a/icon_font/U+2BA0 Downwards Triangle-Headed Arrow with Long Tip Leftwards.svg b/icon-font/U+2BA0 Downwards Triangle-Headed Arrow with Long Tip Leftwards.svg
similarity index 100%
rename from icon_font/U+2BA0 Downwards Triangle-Headed Arrow with Long Tip Leftwards.svg
rename to icon-font/U+2BA0 Downwards Triangle-Headed Arrow with Long Tip Leftwards.svg
diff --git a/icon_font/U+2BC7 Black Medium Left-Pointing Triangle Centred.svg b/icon-font/U+2BC7 Black Medium Left-Pointing Triangle Centred.svg
similarity index 100%
rename from icon_font/U+2BC7 Black Medium Left-Pointing Triangle Centred.svg
rename to icon-font/U+2BC7 Black Medium Left-Pointing Triangle Centred.svg
diff --git a/icon_font/icon.sfd b/icon-font/icon.sfd
similarity index 100%
rename from icon_font/icon.sfd
rename to icon-font/icon.sfd
diff --git a/controller.go b/inputcontrol/controller.go
similarity index 98%
rename from controller.go
rename to inputcontrol/controller.go
index 28597f0..7e9e768 100644
--- a/controller.go
+++ b/inputcontrol/controller.go
@@ -17,7 +17,7 @@
* along with Remote-Touchpad. If not, see .
*/
-package main
+package inputcontrol
import "sort"
diff --git a/controller_portal.go b/inputcontrol/controller_portal.go
similarity index 99%
rename from controller_portal.go
rename to inputcontrol/controller_portal.go
index 4fdb231..5245cb1 100644
--- a/controller_portal.go
+++ b/inputcontrol/controller_portal.go
@@ -19,7 +19,7 @@
* along with Remote-Touchpad. If not, see .
*/
-package main
+package inputcontrol
import (
"errors"
diff --git a/controller_windows.go b/inputcontrol/controller_windows.go
similarity index 99%
rename from controller_windows.go
rename to inputcontrol/controller_windows.go
index 0e0afd6..eb844b2 100644
--- a/controller_windows.go
+++ b/inputcontrol/controller_windows.go
@@ -19,7 +19,7 @@
* along with Remote-Touchpad. If not, see .
*/
-package main
+package inputcontrol
import (
"errors"
diff --git a/controller_x11.go b/inputcontrol/controller_x11.go
similarity index 99%
rename from controller_x11.go
rename to inputcontrol/controller_x11.go
index b9df621..3d7c9f7 100644
--- a/controller_x11.go
+++ b/inputcontrol/controller_x11.go
@@ -19,7 +19,7 @@
* along with Remote-Touchpad. If not, see .
*/
-package main
+package inputcontrol
// #cgo LDFLAGS: -lX11 -lXtst
// #include
diff --git a/keysyms.generated.go b/inputcontrol/keysyms.generated.go
similarity index 99%
rename from keysyms.generated.go
rename to inputcontrol/keysyms.generated.go
index 798ed50..8734718 100644
--- a/keysyms.generated.go
+++ b/inputcontrol/keysyms.generated.go
@@ -1,7 +1,7 @@
// Code generated by keysyms.generator.go. DO NOT EDIT.
//go:build portal || x11
-package main
+package inputcontrol
var keysymsMap = map[rune]Keysym{
0x0008: 0x0000ff08,
diff --git a/keysyms.generator.go b/inputcontrol/keysyms.generator.go
similarity index 98%
rename from keysyms.generator.go
rename to inputcontrol/keysyms.generator.go
index 15e4706..cc18417 100644
--- a/keysyms.generator.go
+++ b/inputcontrol/keysyms.generator.go
@@ -103,7 +103,7 @@ func main() {
}
content := "// Code generated by keysyms.generator.go. DO NOT EDIT.\n" +
"//go:build portal || x11\n\n" +
- "package main\n\n" +
+ "package inputcontrol\n\n" +
"var keysymsMap = map[rune]Keysym{\n"
keys := make([]rune, 0)
for key := range keysymsMap {
diff --git a/keysyms.go b/inputcontrol/keysyms.go
similarity index 99%
rename from keysyms.go
rename to inputcontrol/keysyms.go
index 55bd7a6..5402120 100644
--- a/keysyms.go
+++ b/inputcontrol/keysyms.go
@@ -19,7 +19,7 @@
* along with Remote-Touchpad. If not, see .
*/
-package main
+package inputcontrol
//go:generate go run keysyms.generator.go
diff --git a/main.go b/main.go
index 92fb9cc..07eaaea 100644
--- a/main.go
+++ b/main.go
@@ -27,6 +27,8 @@ import (
"errors"
"flag"
"fmt"
+ "github.com/unrud/remote-touchpad/inputcontrol"
+ "github.com/unrud/remote-touchpad/terminal"
"golang.org/x/net/websocket"
"log"
mathrand "math/rand"
@@ -57,7 +59,7 @@ type config struct {
MouseMoveSpeed float64 `json:"mouseMoveSpeed"`
}
-func processCommand(controller Controller, command string) error {
+func processCommand(controller inputcontrol.Controller, command string) error {
if len(command) == 0 {
return errors.New("empty command")
}
@@ -81,10 +83,10 @@ func processCommand(controller Controller, command string) error {
return err
}
if command[0] == 'k' {
- if x < 0 || x >= int64(KeyLimit) {
+ if x < 0 || x >= int64(inputcontrol.KeyLimit) {
return errors.New("unsupported key")
}
- return controller.KeyboardKey(Key(x))
+ return controller.KeyboardKey(inputcontrol.Key(x))
}
y, err := strconv.ParseInt(arguments[1], 10, 32)
if err != nil {
@@ -100,14 +102,14 @@ func processCommand(controller Controller, command string) error {
return controller.PointerScroll(int(x), int(y), true)
}
if command[0] == 'b' {
- if x < 0 || x >= int64(PointerButtonLimit) {
+ if x < 0 || x >= int64(inputcontrol.PointerButtonLimit) {
return errors.New("unsupported pointer button")
}
b := true
if y == 0 {
b = false
}
- return controller.PointerButton(PointerButton(x), b)
+ return controller.PointerButton(inputcontrol.PointerButton(x), b)
}
return errors.New("unsupported command")
}
@@ -148,7 +150,7 @@ func secureRandBase64(length int) string {
}
func main() {
- TerminalSetTitle(prettyAppName)
+ terminal.SetTitle(prettyAppName)
var bind, certFile, keyFile, secret string
var showVersion bool
var config config
@@ -177,19 +179,19 @@ func main() {
if secret == "" {
secret = secureRandBase64(defaultSecretLength)
}
- if len(Controllers) == 0 {
+ if len(inputcontrol.Controllers) == 0 {
log.Fatal("compiled without controller")
}
- var controller Controller
+ var controller inputcontrol.Controller
var controllerName string
platformErrors := ""
- for _, controllerInfo := range Controllers {
+ for _, controllerInfo := range inputcontrol.Controllers {
controllerName = controllerInfo.Name
var err error
controller, err = controllerInfo.Init()
if err == nil {
break
- } else if _, ok := err.(UnsupportedPlatformError); ok {
+ } else if _, ok := err.(inputcontrol.UnsupportedPlatformError); ok {
platformErrors += fmt.Sprintf("%s controller: %v\n", controllerName, err)
} else {
log.Fatalf("%s controller: %v", controllerName, err)
@@ -218,11 +220,11 @@ func main() {
}
}
if host == "" {
- host = FindDefaultHost()
+ host = findDefaultHost()
}
port := addr.Port
mux := http.NewServeMux()
- mux.Handle("/", http.FileServer(http.FS(WebdataFS)))
+ mux.Handle("/", http.FileServer(http.FS(webdataFS)))
mux.Handle("/ws", websocket.Handler(func(ws *websocket.Conn) {
var message string
challenge := <-authenticationChallenges
@@ -254,7 +256,7 @@ func main() {
}
url := fmt.Sprintf("%s://%s/#%s", scheme, domain, secret)
fmt.Println(url)
- if qrCode, err := GenerateQRCode(url, TerminalSupportsColor(os.Stdout.Fd())); err == nil {
+ if qrCode, err := terminal.GenerateQRCode(url, terminal.SupportsColor(os.Stdout.Fd())); err == nil {
fmt.Print(qrCode)
} else {
log.Printf("QR code error: %v", err)
diff --git a/qr.go b/terminal/qr.go
similarity index 92%
rename from qr.go
rename to terminal/qr.go
index eb2832a..105aee7 100644
--- a/qr.go
+++ b/terminal/qr.go
@@ -17,7 +17,7 @@
* along with Remote-Touchpad. If not, see .
*/
-package main
+package terminal
import qrcode "github.com/skip2/go-qrcode"
@@ -33,7 +33,7 @@ func qrCodeToString(bits [][]bool, colorize bool) string {
s := ""
for y := -1; y < len(bits); y += 2 {
if colorize {
- s += TerminalForegroundBlack + TerminalBackgroundWhite
+ s += ForegroundBlack + BackgroundWhite
}
for x := range bits[0] {
upper := false
@@ -55,7 +55,7 @@ func qrCodeToString(bits [][]bool, colorize bool) string {
}
}
if colorize {
- s += TerminalForegroundReset + TerminalBackgroundReset
+ s += ForegroundReset + BackgroundReset
}
s += "\n"
}
diff --git a/terminal.go b/terminal/terminal.go
similarity index 80%
rename from terminal.go
rename to terminal/terminal.go
index 75de079..8050fc6 100644
--- a/terminal.go
+++ b/terminal/terminal.go
@@ -17,11 +17,11 @@
* along with Remote-Touchpad. If not, see .
*/
-package main
+package terminal
const (
- TerminalForegroundBlack string = "\033[30m"
- TerminalForegroundReset string = "\033[39m"
- TerminalBackgroundWhite string = "\033[47m"
- TerminalBackgroundReset string = "\033[49m"
+ ForegroundBlack string = "\033[30m"
+ ForegroundReset string = "\033[39m"
+ BackgroundWhite string = "\033[47m"
+ BackgroundReset string = "\033[49m"
)
diff --git a/terminal_posix.go b/terminal/terminal_posix.go
similarity index 91%
rename from terminal_posix.go
rename to terminal/terminal_posix.go
index a549e1d..9d80e70 100644
--- a/terminal_posix.go
+++ b/terminal/terminal_posix.go
@@ -19,17 +19,17 @@
* along with Remote-Touchpad. If not, see .
*/
-package main
+package terminal
// #include
import "C"
import "os"
-func TerminalSupportsColor(fd uintptr) bool {
+func SupportsColor(fd uintptr) bool {
return C.isatty(C.int(fd)) != 0
}
-func TerminalSetTitle(title string) bool {
+func SetTitle(title string) bool {
if C.isatty(C.int(os.Stdout.Fd())) != 0 {
os.Stdout.Write([]byte("\x1b]2;" + title + "\x07"))
os.Stdout.Sync()
diff --git a/terminal_windows.go b/terminal/terminal_windows.go
similarity index 93%
rename from terminal_windows.go
rename to terminal/terminal_windows.go
index 5637a7d..b28c084 100644
--- a/terminal_windows.go
+++ b/terminal/terminal_windows.go
@@ -17,7 +17,7 @@
* along with Remote-Touchpad. If not, see .
*/
-package main
+package terminal
import (
"syscall"
@@ -36,13 +36,13 @@ var (
setConsoleTitleProc = kernel32DLL.NewProc("SetConsoleTitleW")
)
-func TerminalSupportsColor(fd uintptr) bool {
+func SupportsColor(fd uintptr) bool {
r, _, _ := setConsoleModeProc.Call(fd, uintptr(enableProcessedOuput|
enableWrapAtEolOutput|enableVirtualTerminalProcessing))
return r != 0
}
-func TerminalSetTitle(title string) bool {
+func SetTitle(title string) bool {
r, _, _ := setConsoleTitleProc.Call(
uintptr(unsafe.Pointer(syscall.StringToUTF16Ptr(title))))
return r != 0
diff --git a/webdata.go b/webdata.go
index 9b03150..4d07131 100644
--- a/webdata.go
+++ b/webdata.go
@@ -8,11 +8,11 @@ import (
//go:embed webdata/*
var webdataFSWithPrefix embed.FS
-var WebdataFS fs.FS
+var webdataFS fs.FS
func init() {
var err error
- WebdataFS, err = fs.Sub(webdataFSWithPrefix, "webdata")
+ webdataFS, err = fs.Sub(webdataFSWithPrefix, "webdata")
if err != nil {
log.Fatal(err)
}