{"id":13451507,"url":"https://github.com/jhelvy/splitKbCompare","last_synced_at":"2025-03-23T18:32:43.404Z","repository":{"id":37018821,"uuid":"241105575","full_name":"jhelvy/splitKbCompare","owner":"jhelvy","description":"An interactive tool for comparing layouts of different split mechanical keyboards","archived":false,"fork":false,"pushed_at":"2024-09-12T13:55:12.000Z","size":68679,"stargazers_count":299,"open_issues_count":23,"forks_count":29,"subscribers_count":11,"default_branch":"master","last_synced_at":"2025-03-23T12:09:03.264Z","etag":null,"topics":["comparing-layouts","keyboard-layouts","keyboards","mechanical-keyboard","rstats","shiny","split-keyboards"],"latest_commit_sha":null,"homepage":"https://jhelvy.github.io/splitKbCompare/","language":"R","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jhelvy.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-02-17T12:45:17.000Z","updated_at":"2025-03-20T01:28:25.000Z","dependencies_parsed_at":"2024-01-16T03:48:18.592Z","dependency_job_id":"1ce0ca91-6ee2-4b99-9261-089039b63363","html_url":"https://github.com/jhelvy/splitKbCompare","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jhelvy%2FsplitKbCompare","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jhelvy%2FsplitKbCompare/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jhelvy%2FsplitKbCompare/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jhelvy%2FsplitKbCompare/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jhelvy","download_url":"https://codeload.github.com/jhelvy/splitKbCompare/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245149795,"owners_count":20568974,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["comparing-layouts","keyboard-layouts","keyboards","mechanical-keyboard","rstats","shiny","split-keyboards"],"created_at":"2024-07-31T07:00:54.948Z","updated_at":"2025-03-23T18:32:43.366Z","avatar_url":"https://github.com/jhelvy.png","language":"R","funding_links":[],"categories":["R"],"sub_categories":[],"readme":"[![License: MIT](https://img.shields.io/github/license/jhelvy/splitKbCompare)](https://github.com/jhelvy/splitKbCompare/blob/master/LICENSE.txt)\n\n\u003ca href=\"https://github.com/jhelvy/splitKbCompare\" target=\"_blank\"\u003e\n\u003ci class=\"fa fa-github fa-lg\"\u003e\u003c/i\u003e\u003c/a\u003e Copyright (c) 2020 John Helveston\n\n### Overview\n\nThis app is an interactive tool for comparing layouts of different split mechanical keyboards built for the community of [ergonomic keyboard](https://www.reddit.com/r/ErgoMechKeyboards/) 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.\n\nMore comprehensive lists of ergonomic keyboards are available here:\n\n- [mechdb.net](https://mechdb.net/keyboards)\n- [awesome-split-keyboards](https://github.com/diimdeep/awesome-split-keyboards)\n\n### Features\n\nClick one of the \"print\" buttons to download a printable PDF of the true-to-scale keyboard layouts (8.5\" x 11\" or A4 sizes).\n\nFilter the keyboard list:\n\n- Maximum number of keys.\n- Has a number row at the top.\n- Degree of stagger across the key columns.\n- Supports rotary encoders.\n- Wireless.\n- One-piece board or two halves.\n- Availability: DIY and/or pre-built.\n\n### Run locally\n\nThe app is hosted for [free online](https://jhelvy.shinyapps.io/splitkbcompare/), but you can also run the app locally on your computer by following these steps:\n\n1. Install [R](https://cloud.r-project.org/)\n2. Run this code in an R terminal (run 'R', e.g. '/usr/bin/R' or 'Rgui.exe') to install the necessary package dependencies:\n\n```\ninstall.packages(c(\n    \"shiny\", \"DT\", \"dplyr\", \"shinythemes\", \"shinyWidgets\", \"magick\", \"readr\",\n    \"RColorBrewer\", \"markdown\", \"rmarkdown\"\n))\n```\n\n3. Run this in R to launch the app:\n\n```\nshiny::runGitHub('jhelvy/splitKbCompare')\n```\n\n### Under the hood\n\nThis app was built using the [R shiny package](https://shiny.rstudio.com/). 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.\n\nThe app uses the [magick library](https://cran.r-project.org/web/packages/magick/vignettes/intro.html) 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](https://www.shinyapps.io/), and the [open source code is hosted on Github](https://github.com/jhelvy/splitKbCompare).\n\n### Contributing\n\nIf you would like to contribute to this package, feel free to fork this repo and send a PR. You can also [file an issue](https://github.com/jhelvy/splitKbCompare/issues) and I'll try and get to it when I have time.\n\n### Added new keyboards\n\nI 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.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjhelvy%2FsplitKbCompare","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjhelvy%2FsplitKbCompare","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjhelvy%2FsplitKbCompare/lists"}