M1ndo / Neptune

Neptune is a mechanical keysound app like Mechvibes except its faster and written in Go
GNU Affero General Public License v3.0
25 stars 0 forks source link
keyboard-emulation keysound mechanical-keyboard mechvibes

+title: Neptune

+AUTHOR: ybenel (m1ndo)

+HTML:

Neptune is versatile application that produces a sound when keys are pressed. It offers the advantage of providing a realistic typing experience without disturbing those around you. With its superior speed, minimal almost no CPU usage, and low memory footprint (6-17MB), Neptune is an efficient solution for whether you want to simulate a mechanical keyboard, turn it into a piano, or experiment with other sounds. Developed using Go, Neptune ensures optimal performance and responsiveness.

** Runtime dependencies (Linux Only). There's few runtime dependencies required in order to run/build Neptune (cli or gui). If you're running Ubuntu/Debian based, there's a high change you won't need to install any of the following dependencies.

+begin_src c

apt install libx11-6 libxtst6 libx11-xcb1 libxcb-xkb1 libxkbcommon0 libxkbcommon-x11-0 libasound2 libayatana-appindicator3-1 libxxf86vm1 libgl1

+end_src

ARCH use the AUR to install the dependencies and the package. ** Binaries (CLI / GUI). Both Windows And Linux built binaries are for x86_64 (amd64) architecture only more to come soon. Headover to the [[https://github.com/M1ndo/Neptune/releases/tag/v1.0.2][Releases]] and download the appropriate build for your machine. * Linux ** Arch Linux (AUR)

+begin_src c

yay -S realneptune # (BINARY) yay -S realneptune-cli # (BINARY)

OR BUILD (GIT VERSION)

yay -S realneptune-git yay -S realneptune-cli-git

+end_src

**** Ubuntu/Debian

+begin_src C

sudo dpkg -i Neptune-1.0.2-1.deb

CLI

sudo dpkg -i Neptune-Cli-1.0.2-1.deb

+end_src

** Other distros. *** GUI To install Neptune your Linux distribution (make sure you have download the latest release)

+begin_src bash

mkdir Neptune && tar -xf Neptune.tar.xz -C Neptune/ && cd Neptune; sudo make install

+end_src

***** CLI

+begin_src bash

sudo wget https://github.com/M1ndo/Neptune/releases/download/v1.0.2/Neptune-Cli -O /usr/bin/Neptune && chmod +x /usr/bin/Neptune

+end_src

Windows Important Notice Windows Defender will mistakenly flag the executable as malicious. But its not malicious because i don't own a signing certificate (This issue should disappear later) If you get a defender smart screen just click on Show and Run this file . MacOs Unavailable at the moment (Soon)

Use TAGS="nosystray" if you don't wanna build with a systray (Mandatory for MacOs "systray broken"). Use PKG=fyne to package/build with fyne.

To change architecture and compiler, use eg.

+begin_src c

GOARCH=arm CC=arm-linux-gnueabihf-gcc CXX=arm-linux-gnueabihf-g++ make linux # windows , darwin

+end_src

** Linux Make sure you have all runtime dependencies installed.

+begin_src c

make linux

OR

make linux-cli

+end_src

** Windows

+begin_src c

make windows

+end_src

** MacOs

+begin_src c

TAGS="nosystray" make darwin

OR CLI

TAGS="nosystray" make darwin-cli

+end_src

Setting/Creating a custom keys is very simple and doesn't require to write any configurations. Be in the following folder

To define a multi event keysound. just append the keyword -up to the soundfile.

Let's say you have a soundfile for key "shift", like =shift.wav= this will be played when the key is pressed. For when its released that soundfile should be =shift-up.wav=.

Edit config.json in soundkey directory you created and add this (name is optional).

+begin_src json

{ "name": "blabla", "support-events": true }

+end_src