Repository files navigation

rmkit

rm1rm2Kobo Aura OneKobo Clara HDKobo Libra H20Kobo Elipsa 2EKobo Libra ColourKobo Clara Colour

opkgopkgopkgopkgopkgopkgopkgopkg

This repo contains applications for the remarkable tablet and kobo ereaders. See the README in each application's directory to learn more about it. The general purpose of rmkit is to make it easy to write and deploy new apps to eink devices.

NOTE: for remarkable2 support, rm2fb is required

Apps & Libaries

A low latency drawing app with procedural brushes

A minesweeper game for spending time between meetings and classes

A package manager for opkg built in bash + simple app script.

An app switcher for switching between apps on the remarkable that is compatible with draft-remarkable configuration files. Hold the middle button or swipe up the side of the display to bring it up.

NOTE: if you have trouble with swiping, tap the screen with your finger once and then swipe, this should help a bit.

A batteries included library for building remarkable apps. Read the documentation

A simple markup language for building apps that follow the philosophy of unix pipes.

genie is a config based gesture launcher. specify gestures and actions and get gesturing!

lamp is a config based stroke injector, useful for injecting finger or stylus events.

bufshot saves the framebuffer into a png file, works for rm1 or rm2 (using rm2fb)

iago is an overlay for drawing shapes like lines, squares and circles.

rpncalc is calculator app that uses reverse polish notation and a stack for evaluation.

Wordlet is a clone of the popular wordle game

Dumbskull is a port of the games donsol and scoundrel. It's a dungeon crawl themed solitaire that uses a standard playing card deck.

Demos

An example of generating multiple animations using idle timers

A simple black/white drawing demo

An app with a keyboard input and range slider

Installation

rM via Toltec

The recommended way of installing the software in this repository is to use toltec - a free software repository for remarkable. Once opkg and the toltec repository are setup, use opkg install remux to get remux, for example.

Kobo

NOTE: Only Kobo Clara HD, Libra H2O and Kobo Elipsa 2E are supported

To install on Kobo devices, download KoboRoot.tgz and place it in KOBOReader/.kobo/ after mounting your Kobo reader. This will install remux and a few demo applications. To disable remux, remove KOBOReader/.adds/rmkit/enable_remux

Build Server

Binaries are generated on every push to this git repository and are hosted at https://build.rmkit.dev

Building from source

see BUILDING.md

Have ideas or want to code your own apps?

There's a list of app ideas just waiting to be built!. If you have ideas for new apps or features, please open an issue or get in touch :-D

Acknowledgements

  • libremarkable for reverse engineering remarkable IO
  • stb for image resizing and font rendering libraries

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Repository files navigation

rmkit

rm1rm2Kobo Aura OneKobo Clara HDKobo Libra H20Kobo Elipsa 2EKobo Libra ColourKobo Clara Colour

opkgopkgopkgopkgopkgopkgopkgopkg

This repo contains applications for the remarkable tablet and kobo ereaders. See the README in each application's directory to learn more about it. The general purpose of rmkit is to make it easy to write and deploy new apps to eink devices.

NOTE: for remarkable2 support, rm2fb is required

Apps & Libaries

A low latency drawing app with procedural brushes

A minesweeper game for spending time between meetings and classes

A package manager for opkg built in bash + simple app script.

An app switcher for switching between apps on the remarkable that is compatible with draft-remarkable configuration files. Hold the middle button or swipe up the side of the display to bring it up.

NOTE: if you have trouble with swiping, tap the screen with your finger once and then swipe, this should help a bit.

A batteries included library for building remarkable apps. Read the documentation

A simple markup language for building apps that follow the philosophy of unix pipes.

genie is a config based gesture launcher. specify gestures and actions and get gesturing!

lamp is a config based stroke injector, useful for injecting finger or stylus events.

bufshot saves the framebuffer into a png file, works for rm1 or rm2 (using rm2fb)

iago is an overlay for drawing shapes like lines, squares and circles.

rpncalc is calculator app that uses reverse polish notation and a stack for evaluation.

Wordlet is a clone of the popular wordle game

Dumbskull is a port of the games donsol and scoundrel. It's a dungeon crawl themed solitaire that uses a standard playing card deck.

Demos

An example of generating multiple animations using idle timers

A simple black/white drawing demo

An app with a keyboard input and range slider

Installation

rM via Toltec

The recommended way of installing the software in this repository is to use toltec - a free software repository for remarkable. Once opkg and the toltec repository are setup, use opkg install remux to get remux, for example.

Kobo

NOTE: Only Kobo Clara HD, Libra H2O and Kobo Elipsa 2E are supported

To install on Kobo devices, download KoboRoot.tgz and place it in KOBOReader/.kobo/ after mounting your Kobo reader. This will install remux and a few demo applications. To disable remux, remove KOBOReader/.adds/rmkit/enable_remux

Build Server

Binaries are generated on every push to this git repository and are hosted at https://build.rmkit.dev

Building from source

see BUILDING.md

Have ideas or want to code your own apps?

There's a list of app ideas just waiting to be built!. If you have ideas for new apps or features, please open an issue or get in touch :-D

Acknowledgements

  • libremarkable for reverse engineering remarkable IO
  • stb for image resizing and font rendering libraries

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

rmkit

rm1rm2Kobo Aura OneKobo Clara HDKobo Libra H20Kobo Elipsa 2EKobo Libra ColourKobo Clara Colour

opkgopkgopkgopkgopkgopkgopkgopkg

This repo contains applications for the remarkable tablet and kobo ereaders. See the README in each application's directory to learn more about it. The general purpose of rmkit is to make it easy to write and deploy new apps to eink devices.

NOTE: for remarkable2 support, rm2fb is required

Apps & Libaries

A low latency drawing app with procedural brushes

A minesweeper game for spending time between meetings and classes

A package manager for opkg built in bash + simple app script.

An app switcher for switching between apps on the remarkable that is compatible with draft-remarkable configuration files. Hold the middle button or swipe up the side of the display to bring it up.

NOTE: if you have trouble with swiping, tap the screen with your finger once and then swipe, this should help a bit.

A batteries included library for building remarkable apps. Read the documentation

A simple markup language for building apps that follow the philosophy of unix pipes.

genie is a config based gesture launcher. specify gestures and actions and get gesturing!

lamp is a config based stroke injector, useful for injecting finger or stylus events.

bufshot saves the framebuffer into a png file, works for rm1 or rm2 (using rm2fb)

iago is an overlay for drawing shapes like lines, squares and circles.

rpncalc is calculator app that uses reverse polish notation and a stack for evaluation.

Wordlet is a clone of the popular wordle game

Dumbskull is a port of the games donsol and scoundrel. It's a dungeon crawl themed solitaire that uses a standard playing card deck.

Demos

An example of generating multiple animations using idle timers

A simple black/white drawing demo

An app with a keyboard input and range slider

Installation

rM via Toltec

The recommended way of installing the software in this repository is to use toltec - a free software repository for remarkable. Once opkg and the toltec repository are setup, use opkg install remux to get remux, for example.

Kobo

NOTE: Only Kobo Clara HD, Libra H2O and Kobo Elipsa 2E are supported

To install on Kobo devices, download KoboRoot.tgz and place it in KOBOReader/.kobo/ after mounting your Kobo reader. This will install remux and a few demo applications. To disable remux, remove KOBOReader/.adds/rmkit/enable_remux

Build Server

Binaries are generated on every push to this git repository and are hosted at https://build.rmkit.dev

Building from source

see BUILDING.md

Have ideas or want to code your own apps?

There's a list of app ideas just waiting to be built!. If you have ideas for new apps or features, please open an issue or get in touch :-D

Acknowledgements

  • libremarkable for reverse engineering remarkable IO
  • stb for image resizing and font rendering libraries

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

rmkit

rm1rm2Kobo Aura OneKobo Clara HDKobo Libra H20Kobo Elipsa 2EKobo Libra ColourKobo Clara Colour

opkgopkgopkgopkgopkgopkgopkgopkg

This repo contains applications for the remarkable tablet and kobo ereaders. See the README in each application's directory to learn more about it. The general purpose of rmkit is to make it easy to write and deploy new apps to eink devices.

NOTE: for remarkable2 support, rm2fb is required

Apps & Libaries

A low latency drawing app with procedural brushes

A minesweeper game for spending time between meetings and classes

A package manager for opkg built in bash + simple app script.

An app switcher for switching between apps on the remarkable that is compatible with draft-remarkable configuration files. Hold the middle button or swipe up the side of the display to bring it up.

NOTE: if you have trouble with swiping, tap the screen with your finger once and then swipe, this should help a bit.

A batteries included library for building remarkable apps. Read the documentation

A simple markup language for building apps that follow the philosophy of unix pipes.

genie is a config based gesture launcher. specify gestures and actions and get gesturing!

lamp is a config based stroke injector, useful for injecting finger or stylus events.

bufshot saves the framebuffer into a png file, works for rm1 or rm2 (using rm2fb)

iago is an overlay for drawing shapes like lines, squares and circles.

rpncalc is calculator app that uses reverse polish notation and a stack for evaluation.

Wordlet is a clone of the popular wordle game

Dumbskull is a port of the games donsol and scoundrel. It's a dungeon crawl themed solitaire that uses a standard playing card deck.

Demos

An example of generating multiple animations using idle timers

A simple black/white drawing demo

An app with a keyboard input and range slider

Installation

rM via Toltec

The recommended way of installing the software in this repository is to use toltec - a free software repository for remarkable. Once opkg and the toltec repository are setup, use opkg install remux to get remux, for example.

Kobo

NOTE: Only Kobo Clara HD, Libra H2O and Kobo Elipsa 2E are supported

To install on Kobo devices, download KoboRoot.tgz and place it in KOBOReader/.kobo/ after mounting your Kobo reader. This will install remux and a few demo applications. To disable remux, remove KOBOReader/.adds/rmkit/enable_remux

Build Server

Binaries are generated on every push to this git repository and are hosted at https://build.rmkit.dev

Building from source

see BUILDING.md

Have ideas or want to code your own apps?

There's a list of app ideas just waiting to be built!. If you have ideas for new apps or features, please open an issue or get in touch :-D

Acknowledgements

  • libremarkable for reverse engineering remarkable IO
  • stb for image resizing and font rendering libraries

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Repository files navigation

rmkit

rm1rm2Kobo Aura OneKobo Clara HDKobo Libra H20Kobo Elipsa 2EKobo Libra ColourKobo Clara Colour

opkgopkgopkgopkgopkgopkgopkgopkg

This repo contains applications for the remarkable tablet and kobo ereaders. See the README in each application's directory to learn more about it. The general purpose of rmkit is to make it easy to write and deploy new apps to eink devices.

NOTE: for remarkable2 support, rm2fb is required

Apps & Libaries

A low latency drawing app with procedural brushes

A minesweeper game for spending time between meetings and classes

A package manager for opkg built in bash + simple app script.

An app switcher for switching between apps on the remarkable that is compatible with draft-remarkable configuration files. Hold the middle button or swipe up the side of the display to bring it up.

NOTE: if you have trouble with swiping, tap the screen with your finger once and then swipe, this should help a bit.

A batteries included library for building remarkable apps. Read the documentation

A simple markup language for building apps that follow the philosophy of unix pipes.

genie is a config based gesture launcher. specify gestures and actions and get gesturing!

lamp is a config based stroke injector, useful for injecting finger or stylus events.

bufshot saves the framebuffer into a png file, works for rm1 or rm2 (using rm2fb)

iago is an overlay for drawing shapes like lines, squares and circles.

rpncalc is calculator app that uses reverse polish notation and a stack for evaluation.

Wordlet is a clone of the popular wordle game

Dumbskull is a port of the games donsol and scoundrel. It's a dungeon crawl themed solitaire that uses a standard playing card deck.

Demos

An example of generating multiple animations using idle timers

A simple black/white drawing demo

An app with a keyboard input and range slider

Installation

rM via Toltec

The recommended way of installing the software in this repository is to use toltec - a free software repository for remarkable. Once opkg and the toltec repository are setup, use opkg install remux to get remux, for example.

Kobo

NOTE: Only Kobo Clara HD, Libra H2O and Kobo Elipsa 2E are supported

To install on Kobo devices, download KoboRoot.tgz and place it in KOBOReader/.kobo/ after mounting your Kobo reader. This will install remux and a few demo applications. To disable remux, remove KOBOReader/.adds/rmkit/enable_remux

Build Server

Binaries are generated on every push to this git repository and are hosted at https://build.rmkit.dev

Building from source

see BUILDING.md

Have ideas or want to code your own apps?

There's a list of app ideas just waiting to be built!. If you have ideas for new apps or features, please open an issue or get in touch :-D

Acknowledgements

  • libremarkable for reverse engineering remarkable IO
  • stb for image resizing and font rendering libraries

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

rmkit

rm1rm2Kobo Aura OneKobo Clara HDKobo Libra H20Kobo Elipsa 2EKobo Libra ColourKobo Clara Colour

opkgopkgopkgopkgopkgopkgopkgopkg

This repo contains applications for the remarkable tablet and kobo ereaders. See the README in each application's directory to learn more about it. The general purpose of rmkit is to make it easy to write and deploy new apps to eink devices.

NOTE: for remarkable2 support, rm2fb is required

Apps & Libaries

A low latency drawing app with procedural brushes

A minesweeper game for spending time between meetings and classes

A package manager for opkg built in bash + simple app script.

An app switcher for switching between apps on the remarkable that is compatible with draft-remarkable configuration files. Hold the middle button or swipe up the side of the display to bring it up.

NOTE: if you have trouble with swiping, tap the screen with your finger once and then swipe, this should help a bit.

A batteries included library for building remarkable apps. Read the documentation

A simple markup language for building apps that follow the philosophy of unix pipes.

genie is a config based gesture launcher. specify gestures and actions and get gesturing!

lamp is a config based stroke injector, useful for injecting finger or stylus events.

bufshot saves the framebuffer into a png file, works for rm1 or rm2 (using rm2fb)

iago is an overlay for drawing shapes like lines, squares and circles.

rpncalc is calculator app that uses reverse polish notation and a stack for evaluation.

Wordlet is a clone of the popular wordle game

Dumbskull is a port of the games donsol and scoundrel. It's a dungeon crawl themed solitaire that uses a standard playing card deck.

Demos

An example of generating multiple animations using idle timers

A simple black/white drawing demo

An app with a keyboard input and range slider

Installation

rM via Toltec

The recommended way of installing the software in this repository is to use toltec - a free software repository for remarkable. Once opkg and the toltec repository are setup, use opkg install remux to get remux, for example.

Kobo

NOTE: Only Kobo Clara HD, Libra H2O and Kobo Elipsa 2E are supported

To install on Kobo devices, download KoboRoot.tgz and place it in KOBOReader/.kobo/ after mounting your Kobo reader. This will install remux and a few demo applications. To disable remux, remove KOBOReader/.adds/rmkit/enable_remux

Build Server

Binaries are generated on every push to this git repository and are hosted at https://build.rmkit.dev

Building from source

see BUILDING.md

Have ideas or want to code your own apps?

There's a list of app ideas just waiting to be built!. If you have ideas for new apps or features, please open an issue or get in touch :-D

Acknowledgements

  • libremarkable for reverse engineering remarkable IO
  • stb for image resizing and font rendering libraries

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

rmkit

rm1rm2Kobo Aura OneKobo Clara HDKobo Libra H20Kobo Elipsa 2EKobo Libra ColourKobo Clara Colour

opkgopkgopkgopkgopkgopkgopkgopkg

This repo contains applications for the remarkable tablet and kobo ereaders. See the README in each application's directory to learn more about it. The general purpose of rmkit is to make it easy to write and deploy new apps to eink devices.

NOTE: for remarkable2 support, rm2fb is required

Apps & Libaries

A low latency drawing app with procedural brushes

A minesweeper game for spending time between meetings and classes

A package manager for opkg built in bash + simple app script.

An app switcher for switching between apps on the remarkable that is compatible with draft-remarkable configuration files. Hold the middle button or swipe up the side of the display to bring it up.

NOTE: if you have trouble with swiping, tap the screen with your finger once and then swipe, this should help a bit.

A batteries included library for building remarkable apps. Read the documentation

A simple markup language for building apps that follow the philosophy of unix pipes.

genie is a config based gesture launcher. specify gestures and actions and get gesturing!

lamp is a config based stroke injector, useful for injecting finger or stylus events.

bufshot saves the framebuffer into a png file, works for rm1 or rm2 (using rm2fb)

iago is an overlay for drawing shapes like lines, squares and circles.

rpncalc is calculator app that uses reverse polish notation and a stack for evaluation.

Wordlet is a clone of the popular wordle game

Dumbskull is a port of the games donsol and scoundrel. It's a dungeon crawl themed solitaire that uses a standard playing card deck.

Demos

An example of generating multiple animations using idle timers

A simple black/white drawing demo

An app with a keyboard input and range slider

Installation

rM via Toltec

The recommended way of installing the software in this repository is to use toltec - a free software repository for remarkable. Once opkg and the toltec repository are setup, use opkg install remux to get remux, for example.

Kobo

NOTE: Only Kobo Clara HD, Libra H2O and Kobo Elipsa 2E are supported

To install on Kobo devices, download KoboRoot.tgz and place it in KOBOReader/.kobo/ after mounting your Kobo reader. This will install remux and a few demo applications. To disable remux, remove KOBOReader/.adds/rmkit/enable_remux

Build Server

Binaries are generated on every push to this git repository and are hosted at https://build.rmkit.dev

Building from source

see BUILDING.md

Have ideas or want to code your own apps?

There's a list of app ideas just waiting to be built!. If you have ideas for new apps or features, please open an issue or get in touch :-D

Acknowledgements

  • libremarkable for reverse engineering remarkable IO
  • stb for image resizing and font rendering libraries

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Repository files navigation

rmkit

rm1rm2Kobo Aura OneKobo Clara HDKobo Libra H20Kobo Elipsa 2EKobo Libra ColourKobo Clara Colour

opkgopkgopkgopkgopkgopkgopkgopkg

This repo contains applications for the remarkable tablet and kobo ereaders. See the README in each application's directory to learn more about it. The general purpose of rmkit is to make it easy to write and deploy new apps to eink devices.

NOTE: for remarkable2 support, rm2fb is required

Apps & Libaries

A low latency drawing app with procedural brushes

A minesweeper game for spending time between meetings and classes

A package manager for opkg built in bash + simple app script.

An app switcher for switching between apps on the remarkable that is compatible with draft-remarkable configuration files. Hold the middle button or swipe up the side of the display to bring it up.

NOTE: if you have trouble with swiping, tap the screen with your finger once and then swipe, this should help a bit.

A batteries included library for building remarkable apps. Read the documentation

A simple markup language for building apps that follow the philosophy of unix pipes.

genie is a config based gesture launcher. specify gestures and actions and get gesturing!

lamp is a config based stroke injector, useful for injecting finger or stylus events.

bufshot saves the framebuffer into a png file, works for rm1 or rm2 (using rm2fb)

iago is an overlay for drawing shapes like lines, squares and circles.

rpncalc is calculator app that uses reverse polish notation and a stack for evaluation.

Wordlet is a clone of the popular wordle game

Dumbskull is a port of the games donsol and scoundrel. It's a dungeon crawl themed solitaire that uses a standard playing card deck.

Demos

An example of generating multiple animations using idle timers

A simple black/white drawing demo

An app with a keyboard input and range slider

Installation

rM via Toltec

The recommended way of installing the software in this repository is to use toltec - a free software repository for remarkable. Once opkg and the toltec repository are setup, use opkg install remux to get remux, for example.

Kobo

NOTE: Only Kobo Clara HD, Libra H2O and Kobo Elipsa 2E are supported

To install on Kobo devices, download KoboRoot.tgz and place it in KOBOReader/.kobo/ after mounting your Kobo reader. This will install remux and a few demo applications. To disable remux, remove KOBOReader/.adds/rmkit/enable_remux

Build Server

Binaries are generated on every push to this git repository and are hosted at https://build.rmkit.dev

Building from source

see BUILDING.md

Have ideas or want to code your own apps?

There's a list of app ideas just waiting to be built!. If you have ideas for new apps or features, please open an issue or get in touch :-D

Acknowledgements

  • libremarkable for reverse engineering remarkable IO
  • stb for image resizing and font rendering libraries

Used by

Contributors

Languages