New Keystroke GUI with Vim support

I’ve created an updated version of my Keystroke-gui keylogger,
which can be controlled by Vim Hooks.
Keystroke is keylogger and visualizer which can be used for screencasts.
This is especially useful when recording screencasts for Vim, because in Vim’s normal mode you cannot see what is typed, opposed to insert mode. But in normal made most of the “magic” happens 😉
The new version of Keystroke can be controlled over a TCP socket. Actually it
supports the following commands:

  • disable: disable the logger (actually just the visualization)
  • enable: enable the logger again
  • insertEnter: enter Vim’s insert mode
  • insertLeave: leave Vim’s insert mode

This TCP server is used by Vim to tell the Keystroke when vim is started, exited, and when it enters/leaves insertMode. Some helper BASH script which simply do a “echo ‘command’ | nc localhost 9999′ are use to form the client side of the communication. Vim’s autocmd feature is used to execute those scrips.

augroup logger
    autocmd VimEnter * :call system('$HOME/vim/enable_logger')
    autocmd VimLeave * :call system('$HOME/vim/disable_logger')
    autocmd InsertEnter * :call system('$HOME/vim/insert_enter')
    autocmd InsertLeave * :call system('$HOME/vim/insert_leave')
augroup end

When Keystroke is set to insertMode it only displays control keys like
<C-x><C-l> <tab>, or <enter>. Because the normal keys you see anyway in the buffer.

Of course keystroke is also useful for other types of screencasts, it is not
limited to Vim. But the Vim support is unique afaik.

If you want to give it a try you can clone the git repo

This new feature is currently available only on the branch
FEATURE_MORE_CONFIG. I’ll need more testing before I release it, but it works

What would be this post without a short demo? So here it comes (click on the GIF to show in full size):


What is still missing: More config options to adapt to different situations.
E.g. what keys get filtered and what keys are shown.

Have fun 😉

0 Responses to “New Keystroke GUI with Vim support”

  1. Leave a Comment

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

my tweets

Error: Twitter did not respond. Please wait a few minutes and refresh this page.

%d bloggers like this: