Skip to content

FeernandoOFF/Vimdroid

Repository files navigation

Vimdroid - Android Keyboard Navigation

Vimdroid is a keyboard-first navigation for Android. Allowing you to interact with any of the apps on your device via your keyboard.

Status: Experimental

Motivation

I wanted to explore Android's capabilities as a desktop device, and since I use keyboard-first navigation on my desktop, I wanted to explore the same on Android.

Known limitations:

  • You need a keyboard mapper to allow it to listen to your keyboard. (If anybody knows a way to do this without a keyboard mapper, please let me know)
  • I don't have a way to access the keyboard input, so I used a auto-focusable text field to allow for typing.

Installation

  1. Install the app
  2. Search for Vimdroid in your phone's settings or go to Settings > Accessibility > Vimdroid and enable it.

This will start the service on the background listening for a broadcast; now we need a way to trigger that broadcast. You can trigger it manually by typing this in your terminal:

adb shell am broadcast -a com.feernandooff.vimdroid.ACTION_VIMDROID_COMMAND --es extra_command show_labels
Integration with a keyboard mapper

To allow listening for specific keyboard events, we need to install a keyboard mapper. For this I would recommend using the following apps:

Here's a small guide on how to integreat it with Key Mapper:

  1. Open Key Mapper & Floating Buttons
  2. Add a Mapping & Record a trigger (It will give you steps on how to integrate with Key Mapper GUI Keyboard)
  3. Add a broadcast action to that trigger Add action > Send Intent > Broadcast Receiver
  4. Add a new broadcast action ( com.feernandooff.vimdroid.ACTION_VIMDROID_COMMAND )
  5. Add a new extra Name:extra_command and Value show_labels

Usage

  • Press your shortcut to show the labels
  • An overlay with a lot of labels will appear on top of all the clickable elements on your screen
  • Type the letters of the label you want to click on
  • Press Escape or type "esc" to close the overlay

Roadmap

  • Allow for scrolling
  • Allow for selecting custom labels
  • Allow for ignoring certain apps

Inspiration

About

A keyboard-first navigation in Android

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages