Skip to content

Instantly share code, notes, and snippets.

@alphashuro
Last active March 30, 2024 17:16
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save alphashuro/3aa5b67309e974542b9ee59f19079755 to your computer and use it in GitHub Desktop.
Save alphashuro/3aa5b67309e974542b9ee59f19079755 to your computer and use it in GitHub Desktop.
Using a custom keyboard layout with Remarkable 2 and type-folio

This was mostly sourced from @mkborregaard’s instructions in this conversation.

TL;DR: You need to compile a custom driver that interprets the keyboard’s keys according according to your desired layout. Once you’ve copied the driver to your remarkable via SSh and restarted it, it should just work™️.

  1. first, clone the remarkable linux kernel

    git clone https://github.com/reMarkable/linux remarkable-linux-kernel
    cd remarkable-linux-kernel
  2. make the layout changes you need to in drivers/misc/rm-pogo/pogo_kpad.c

  3. then compile it using a docker image that includes the necessary toolchain

    docker pull eeems/remarkable-toolchain:latest
    docker run -v $(pwd):/remarkable-linux-kernel -ti eeems/remarkable-toolchain:latest
    1. the following commands should be run in the container shell that opens after the previous command

      source `find /opt/codex -name environment-setup-cortexa7hf-neon-remarkable-linux-gnueabi`
      touch .scmversion
      cp arch/arm/configs/zero-sugar_defconfig .config
      make olddefconfig
      make drivers/misc/rm-pogo/pogo.ko
      make modules_prepare
      exit # the driver should be compiled by this point, and you can safely exit the container's shell
  4. finally, copy the driver onto your remarkable via ssh[1]

    # assuming you've set up your ssh config with a `remarkable` alias
    scp drivers/misc/rm-pogo/pogo.ko remarkable:`ssh remarkable "find /lib/modules -name pogo.ko"`
  5. disconnect and restart remarkable.


1. Instructions for connecting to remarkable via SSH: https://remarkable.guide/guide/access/ssh.html
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment