Echoes individual bytes generated by keystrokes.
brew tap davidledwards/keyb
brew install keyb
Releases can be downloaded directly from GitHub.
Alternatively, using the GitHub CLI, releases can also be downloaded from the command line. For example, to download version 0.1.0
, run the following command.
gh release download --repo https://github.com/davidledwards/keyb v0.1.0
keyb
is quite simple. Use --help
to print a description of all available options.
Install Rust if not done so already.
In the root directory of keyb
, run either of the folowing commands to build the project.
cargo build # debug build
cargo build -r # release build
Running the program can be done via cargo
or directly using the target executable.
cargo run [-r] -- [options to keyb go here]
target/debug/keyb [options]
target/release/keyb [options]
Releases containing binary artifacts are published on GitHub. The release.sh
script automates the release process, which makes the following assumptions.
- The GitHub CLI has been installed.
- The project has been built using
cargo build -r
.
The version of the release is derived from the package version in Cargo.toml
. A new release on GitHub generates a corresponding tag, so the assumption is that the version number has been appropriately incremented. Otherwise, the release creation process will fail.
If the release process is successful, a new tag of the format v<version>
is automatically created. For example, if the package version in Cargo.toml
is 0.1.0
, then the corresponding tag is v0.1.0
.
If the release process was problematic in any way, it can be deleted using the following command.
gh release delete --cleanup-tag --yes <tag>
Copyright 2023 David Edwards
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.