Flash your ZSA Keyboard the EZ way.
Wally comes in two flavors, a GUI and a CLI app. Download the application for your favorite platform from the release page.
Note for Linux users, follow the instructions from our wiki page before running the application.
Note for Mac OS users, the CLI requires libusb to be installed: brew install libusb
The following instructions apply only to those who wish to actively develop Wally and contribute new features or bugfixes to this open-source project. If you simply want to flash your board with some fresh firmware, see above.
Found a bug? Open an issue here.
Wally is built using Go at its core and Preact for the UI. The binding between core and UI happens using a fork of the webview package. This guide assumes you have a proper Go and NodeJS development environment running.
Wally is compatible with Windows, Linux, and macOS. Developing using each platform requires some extra setup:
- Install TDM GCC
- Setup pkg-config - see http://www.mingw.org/wiki/FAQ "How do I get pkg-config installed?"
- Grab and install the latest version of libusb from here
Follow the instructions from our wiki page
Install libusb using brew
:
brew install libusb
From the ui
folder run npm run serve
or yarn dev
to run a webpack dev server locally on port 8080
.
Run the following:
go build -tags dev -o wally
This build will bind its UI with the local webpack server.
Run the following:
go build cli/main.go -o wally-cli
- Install dep and run the command
dep ensure
to grab all the go dependencies. - Install go-bindata by running the command
go get -u github.com/jteeuwen/go-bindata/...
. - Install
cross-env
andwebpack
by running the commandyarn global add cross-env webpack
ornpm i -g cross-env webpack
.
Run build.win.bat
Run build.linux.sh
- Install libusb using
brew
:brew install libusb
. - Install
upx
usingbrew
:brew install upx
. - Run
build.osx.sh
The wally gui and cli apps should be in ./dist/osx
.
Note: the GUI app won't include libusb so it needs to be installed on the computer running it. To embed libusb into the binary, install dylibbundler and run:
dylibbundler -of -b -x ./dist/osx/Wally.app/Contents/MacOS/Wally -d ./dist/osx/Wally.app/Contents/libs/