Code Monkey home page Code Monkey logo

nuga-app's Introduction

Nuga Quality assurance

Application for controlling NuPhy® keyboards.

Features

  • Lights control.
  • Key mapping control (Halo75 and Halo65 for now).
  • Macros control.

Supported devices: Halo75, Halo65, Halo96.

Installation

macOS

  1. Download the zip archive labeled mac from the latest release.
  2. Unzip the archive, copy Nuga.app to Applications.
  3. Launch Nuga.app.
  4. The application requests permission to Input Monitoring. This is required to work with the USB HID device. Grant permission.
  5. Restart the app

Development

For local development, you need to set up environments. For this purpose you will need:

Libraries

macOS

brew install hidapi

Starting

To run a local application, the target dev is used:

make dev

If you want to run another OS interface on macOS, you should run the dev-universal target:

make dev-universal

Build

Cross-compiling the application is not possible at this time. Therefore, full build is only possible on macOS. A native build for macOS can be built on macs with Intel® and Apple Silicon™ processors , Linux version is built on either macOS (via Docker) or the amd64 version of Linux.

For native builds, there are targets in the Makefile:

  • build/darwin – To build macOS app (arm64, amd64)
  • build/linux – To build Linux app binary (arm64, amd64)

The build command is a common alias for these commands and performs a build on the OS that is currently in use.

make build

The result of the build will be archives with the application in the dist or app/build/bin folder.

Release

To publish a new release, set version in Makefile and run:

make publish

Automatic build, signing and notarization will be started. Once the build is complete, the files will be attached to the created GitHub Release.

The release description is compiled automatically from the CHANGELOG.md file.

Linux cross-compilation

The Linux version can be built on macOS using Docker. To build an image with the toolkit, run the command:

make linux-builder/setup

To build a Linux AppImage using the resulting image, run the command:

make linux-builder/release

Hooks

It is highly recommended to install git hooks in the project repository. They make it easier to follow code Style. To install them, run the command:

make setup-qa
make hook

Trademarks

NuPhy® is a registered trademark of NuPhy Studio. Nuga is an unofficial product and is not affiliated with NuPhy Studio.

nuga-app's People

Contributors

makridi avatar mishamyrt avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Forkers

makridi

nuga-app's Issues

Develop the Application view

Remove dev settings from the Device view and add them to the new Application view.

image

Develop a mechanism for saving application settings in the file system.

AppImage build

For full Linux support (Ubuntu 22.04 for starters), we need to add build support for the AppImage format.

The first step is to be able to build a release locally on macOS arm64 platform.

Move the release build to GitHub Actions

Need to move release build to GitHub Actions as local build takes about 15 minutes on Apple M1 Pro.

CI should build signed application images for the following platforms:

  • mac
    • arm64
    • amd64
  • linux
    • arm64
    • amd64

Halo96 keys support

In order to add full support for key configuration (and reset to default state) a keyboard state dump is required.

The dump MUST be taken from the default state. Therefore, be sure to reset the keyboard settings before dumping.

To do this, press Fn + X + B for a few seconds. When the reset is done, the backlight will switch to another mode and the sidelight indicator will blink.

Halo65 keys support

In order to add full support for key configuration (and reset to default state) a keyboard state dump is required.

The dump MUST be taken from the default state. Therefore, be sure to reset the keyboard settings before dumping.

To do this, press Fn + X + B for a few seconds. When the reset is done, the backlight will switch to another mode and the sidelight indicator will blink.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.