Keymash, the K stands for Kernel
You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
anna 954b82e889
add install target
8 months ago
src bump to version 0.1.1 8 months ago
.gitignore initial commit uwu 2 years ago
LICENSE add LICENSE 2 years ago
Makefile add install target 8 months ago add clarification for "cryptographic security" 9 months ago
dkms.conf add DKMS support 2 years ago


Finally, it is here: The gay keymash device driver! It provides an endless supply of lowercase characters from the QWERTY home row in a cryptographically secure random order¹.

¹ Do not actually use this as a source for randomness, at least not for crypto purposes.


The license already disclaims any warranty, but i would like to make it crystal clear that i literally have no idea how to use a computer. Assume this module will completely brick your system.


You only need the linux headers for your current kernel in /lib/modules/$(uname -r)/build. If you install the linux-headers package (or something with similar name), you should be good. Just type

sudo insmod keymash.ko

to compile and load the module. If you have DKMS, you can also use that:

sudo dkms install .
sudo modprobe keymash

Loading the module will create the file /dev/keymash, which you can use for all sorts of stuff:

# print a keymash to the console
head -c20 /dev/keymash

# wipe your root partition and leave a message for the FBI
# (this won't ask for confirmation, don't do this)
sudo dd if=/dev/keymash of=$(mount | grep '/ ' | cut -d ' ' -f 1) bs=1M

# react to your girlfriend calling you cute
cat /dev/keymash | nc gay.wife 1337


Copyright (C) fef

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.