l4u / splitKbCompare

An interactive tool for comparing layouts of different split mechanical keyboards

Home Page:https://jhelvy.github.io/splitKbCompare/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

License: MIT

Copyright (c) 2020 John Helveston

Overview

This app is an interactive tool for comparing layouts of different split mechanical keyboards built for the community of ergonomic keyboard users. Split keyboards offer an ergonomic solution to many issues that make regular keyboards painful or uncomfortable to use, but finding which keyboard is right for you can be costly and difficult. Most split keyboards come as DIY kits, making it difficult (if not impossible) to compare different keyboard layouts prior to building them. This app offers one solution to this problem.

View this repo for a more comprehensive list of split keyboards.

Features

Click one of the "print" buttons to download a printable PDF of the true-to-scale keyboard layouts (8.5" x 11" or A4 sizes).

Filter the keyboard list:

  • Maximum number of keys.
  • Has a number row at the top.
  • Degree of stagger across the key columns.
  • Supports rotary encoders.
  • Wireless.
  • One-piece board or two halves.
  • Availability: DIY and/or pre-built.

Run locally

The app is hosted for free online, but you can also run the app locally on your computer by following these steps:

  1. Install R
  2. Run this code in an R terminal (run 'R', e.g. '/usr/bin/R' or 'Rgui.exe') to install the necessary package dependencies:
install.packages(c(
    "shiny", "DT", "dplyr", "shinythemes", "shinyWidgets", "magick", "readr",
    "RColorBrewer", "markdown", "rmarkdown"
))
  1. Run this in R to launch the app:
shiny::runGitHub('jhelvy/splitKbCompare')

Under the hood

This app was built using the R shiny package. Shiny apps are typically used to display data and create interactive dashboards. This app has a different purpose: to help the community of ergonomic keyboard users and hobbyists compare different keyboards.

The app uses the magick library to overlay images of different keyboard layouts of the user's choosing. The app dynamically changes the colors of each keyboard image in real time to help identify the contours of each different keyboard. To print the image to scale, the overlay image is inserted into a RMarkdown document and converted into a true-to-scale PDF. The app is hosted for free on shinyapps.io, and the open source code is hosted on Github.

Contributing

If you would like to contribute to this package, feel free to fork this repo and send a PR. You can also file an issue and I'll try and get to it when I have time.

Added new keyboards

I am no longer going to keep adding new keyboards to this app. It is a manual process and time-consuming, and I just don't have the time to maintain it. Apologies to the keyboard developers out there. If you want to add a keyboard yourself, the process I have used is to hand-edit the images/overlays.ai file to add the switch plate svg and label, and then re-export all the layers as png files (one for each keyboard). If you have access to Adobe Illustrator and want to do that process, send me a PR and I'll add it.

About

An interactive tool for comparing layouts of different split mechanical keyboards

https://jhelvy.github.io/splitKbCompare/

License:MIT License


Languages

Language:R 93.3%Language:CSS 3.4%Language:HTML 3.3%