3D-printable hand-strapped keyboard

Related tags

Deep LearningViosuo
Overview

Note: This repo has not been cleaned up and prepared for general consumption at all. This is just a dump of the project files. If there is any interest I will be happy to clean it up, put up some instructions on how to customize, print and build this keyboard. I'm not sure how useful that would be though. The keyboard has been adjusted to my hand and probably wouldn't serve well anyone else. So at this point it's basically a proof of concept.

Wearing both sides

One side hanging

One side removed

Demo

Video demo of typing: https://youtu.be/d8-P9P5Dz6U

What's this?

3D-printable parts of a pretty weird but fully functional keyboard. My design goals:

  • It has to be fully usable while walking, since I like to pace back-and-forth while thinking
  • Even though it's strapped to the arms, it should not hinder basic manual tasks that a programmer might need to perform during his work, most importantly: preparing and drinking coffee.
  • It should be impossible or extremely rare to 'get lost' on the keyboard, i.e., to become uncertain where specific keys are located in relation to the user's fingers
  • It has to offer all the keys, including modifiers, for normal writing, programming and using software such as vim, tmux, etc.
  • The typing speed should not suffer too much. It might be impossible to reach the same speed as on a standard QWERTY keyboards though - some sacrifice is acceptable
  • (Non-critical) It should look nerdy

Name and pronunciation

Viosuo is pronounced like the Polish word for oar. I chose this name because an early prototype looked a lot like an oar and was as uncomfortable as it sounds.

What's in this repo

  • The stl/ subdirectory contains STL files of the most recent design. All of them can be easily printed on Ender 3.
  • The viosuo.FCStd is a FreeCAD file with the entire design. It's done really, really badly mostly due to my inexperience, but also because I was working around the Topological Naming problem.
  • macros/hole_puncher.py is a simple FreeCAD macro that for a selectedy Body finds all surfaces that look like they might be inteded for a key and cuts out a 14x14mm square through the middle, intended for an MX switch
  • macros/fc_plumbing.py is my quickly-abandoned attempt at writing a framework that would make python scripting in FreeCAD much easier. I still think somethink like this would be an amazing tool and should be reasonably easy to create but I'm too lazy to do it myself. I'm including this here since hole_puncher depends on it.
  • zmk/ is my fork of the ZMK framework with a keymap and all the necessary boilerplate for Viosuo added.

License

Um... I don't know. I will pick one if there is any interest. It will be something open and permissive.

Owner
Wojciech Baranowski
Wojciech Baranowski
A framework for multi-step probabilistic time-series/demand forecasting models

JointDemandForecasting.py A framework for multi-step probabilistic time-series/demand forecasting models File stucture JointDemandForecasting contains

Stanford Intelligent Systems Laboratory 3 Sep 28, 2022
Learning Neural Painters Fast! using PyTorch and Fast.ai

The Joy of Neural Painting Learning Neural Painters Fast! using PyTorch and Fast.ai Blogpost with more details: The Joy of Neural Painting The impleme

Libre AI 72 Nov 10, 2022
Official implementation for "Image Quality Assessment using Contrastive Learning"

Image Quality Assessment using Contrastive Learning Pavan C. Madhusudana, Neil Birkbeck, Yilin Wang, Balu Adsumilli and Alan C. Bovik This is the offi

Pavan Chennagiri 67 Dec 30, 2022
Pytorch Implementation of Residual Vision Transformers(ResViT)

ResViT Official Pytorch Implementation of Residual Vision Transformers(ResViT) which is described in the following paper: Onat Dalmaz and Mahmut Yurt

ICON Lab 41 Dec 08, 2022
A very lightweight monitoring system for Raspberry Pi clusters running Kubernetes.

OMNI A very lightweight monitoring system for Raspberry Pi clusters running Kubernetes. Why? When I finished my Kubernetes cluster using a few Raspber

Matias Godoy 148 Dec 29, 2022
Jittor implementation of Recursive-NeRF: An Efficient and Dynamically Growing NeRF

Recursive-NeRF: An Efficient and Dynamically Growing NeRF This is a Jittor implementation of Recursive-NeRF: An Efficient and Dynamically Growing NeRF

33 Nov 30, 2022
Exploiting Robust Unsupervised Video Person Re-identification

Exploiting Robust Unsupervised Video Person Re-identification Implementation of the proposed uPMnet. For the preprint, please refer to [Arxiv]. Gettin

1 Apr 09, 2022
Character Controllers using Motion VAEs

Character Controllers using Motion VAEs This repo is the codebase for the SIGGRAPH 2020 paper with the title above. Please find the paper and demo at

Electronic Arts 165 Jan 03, 2023
Notes, programming assignments and quizzes from all courses within the Coursera Deep Learning specialization offered by deeplearning.ai

Coursera-deep-learning-specialization - Notes, programming assignments and quizzes from all courses within the Coursera Deep Learning specialization offered by deeplearning.ai: (i) Neural Networks an

Aman Chadha 1.7k Jan 08, 2023
Framework for evaluating ANNS algorithms on billion scale datasets.

Billion-Scale ANN http://big-ann-benchmarks.com/ Install The only prerequisite is Python (tested with 3.6) and Docker. Works with newer versions of Py

Harsha Vardhan Simhadri 132 Dec 24, 2022
BitPack is a practical tool to efficiently save ultra-low precision/mixed-precision quantized models.

BitPack is a practical tool that can efficiently save quantized neural network models with mixed bitwidth.

Zhen Dong 36 Dec 02, 2022
Repository of continual learning papers

Continual learning paper repository This repository contains an incomplete (but dynamically updated) list of papers exploring continual learning in ma

29 Jan 05, 2023
Speech recognition tool to convert audio to text transcripts, for Linux and Raspberry Pi.

Spchcat Speech recognition tool to convert audio to text transcripts, for Linux and Raspberry Pi. Description spchcat is a command-line tool that read

Pete Warden 279 Jan 03, 2023
PAWS 🐾 Predicting View-Assignments with Support Samples

This repo provides a PyTorch implementation of PAWS (predicting view assignments with support samples), as described in the paper Semi-Supervised Learning of Visual Features by Non-Parametrically Pre

Facebook Research 437 Dec 23, 2022
Animatable Neural Radiance Fields for Modeling Dynamic Human Bodies

To make the comparison with Animatable NeRF easier on the Human3.6M dataset, we save the quantitative results at here, which also contains the results of other methods, including Neural Body, D-NeRF,

ZJU3DV 359 Jan 08, 2023
Deep motion transfer

animation-with-keypoint-mask Paper The right most square is the final result. Softmax mask (circles): \ Heatmap mask: \ conda env create -f environmen

9 Nov 01, 2022
A PyTorch implementation of "From Two to One: A New Scene Text Recognizer with Visual Language Modeling Network" (ICCV2021)

From Two to One: A New Scene Text Recognizer with Visual Language Modeling Network The official code of VisionLAN (ICCV2021). VisionLAN successfully a

81 Dec 12, 2022
TensorFlow2 Classification Model Zoo playing with TensorFlow2 on the CIFAR-10 dataset.

Training CIFAR-10 with TensorFlow2(TF2) TensorFlow2 Classification Model Zoo. I'm playing with TensorFlow2 on the CIFAR-10 dataset. Architectures LeNe

Chia-Hung Yuan 16 Sep 27, 2022
Official code for paper "Demystifying Local Vision Transformer: Sparse Connectivity, Weight Sharing, and Dynamic Weight"

Demysitifing Local Vision Transformer, arxiv This is the official PyTorch implementation of our paper. We simply replace local self attention by (dyna

138 Dec 28, 2022