Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/mogenson/ctrl2esc

Like caps2esc, but for Chrome OS
https://github.com/mogenson/ctrl2esc

chrome chrome-extension chrome-os extension keyboard

Last synced: 3 months ago
JSON representation

Like caps2esc, but for Chrome OS

Awesome Lists containing this project

README

        

# ctrl2esc

Like [caps2esc](https://github.com/oblitum/caps2esc), but for Chrome OS.

## Description

It is my factual opinion that the best keyboard mapping is to have the
Search key (Caps on a normal keyboard) send an
Esc key event when pressed by itself and a Ctrl key event
when used a modifier with another key. Try this out when using Vim or Tmux and
thank me later.

The `caps2esc` utility for Linux does this perfectly. `ctrl2esc` is my attempt
to mimic this behavior on Chrome OS. It creates an Esc key event
when the Ctrl key is pressed by itself and otherwise leaves things
alone. This works best when mapping the 🔍 key and Caps
to Ctrl in the Chrome OS keyboard settings.

## Usage

1. Set _Caps Lock_ and _Search_ to _Control_ in Settings->Device->Keyboard
2. Enable the _Developer mode_ switch in the top right of `chrome://extensions`
3. Press the _Load unpacked_ button and select the `ctrl2esc` folder
4. Press _Input method_ -> _Manage input methods_ and select `ctrl2esc` in `chrome://settings/languages`
5. Enable _Show input options in the shelf_
6. Select `EN ctrl2esc` in the Chrome OS shelf, near the notifications

## Caveats

The Chrome [input method
editor](https://developer.chrome.com/extensions/input_ime) system only provides
a valid context for text field entries. `ctrl2esc` will work for apps that are
text fields like the [Secure
Shell](https://chrome.google.com/webstore/detail/secure-shell-app/pnhechapfaindjhompbnflcldabbghjo?hl=en)
app and the [hterm](https://hterm.org/) based Crostini Terminal app.

Thanks to [gbishop](https://github.com/gbishop/ctrl2esc) for the improved implementation!