Code Monkey home page Code Monkey logo

keycastr's Introduction

KeyCastr

KeyCastr, an open source keystroke visualizer.

header image

KeyCastr enables you to share your keystrokes when creating screencasts, presenting, or collaborating with others. You can choose to display all keystrokes or command keys only, and there is also an option to include mouse clicks.

It is also possible to develop your own visualizer on top of KeyCastr -- pull requests are welcome!

display preferences

Installation

Download the latest release from GitHub

Or, install using homebrew

brew install --cask keycastr

Granting Permissions

KeyCastr requires your permission to receive events from macOS in order to broadcast your keystrokes and mouse clicks.

On newer versions of macOS (10.15+) there is an Input Monitoring menu under Security & Privacy within the System Preferences app, and KeyCastr will appear there automatically the first time you run it. Simply unlock this menu and check the box next to KeyCastr to enable it.

input_monitoring

On older versions of macOS, or if for some reason the app doesn't appear under the Input Monitoring menu (or if you want to pre-enable it) then you may manually add it to the list of apps in the Accessibility menu.

accessibility

To add KeyCastr to the list click the + button and select KeyCastr from the file system, or drag it in using Finder.

If KeyCastr is already in the list you can remove it with the โˆ’ button and add it again in order to be certain that the right copy of the application is specified.

Troubleshooting permissions

There are two likely causes for the app seeming not to work:

  1. Not receiving keystroke events from macOS due to security settings
  2. The window being offscreen.

Sometimes switching from the Default to the Svelte visualizer can help you figure out which problem it is.

To troubleshoot, We recommend that you:

  • Quit the KeyCastr app
  • Remove KeyCastr from any of the Privacy areas in the Security & Privacy preferences panel (typically the Accessibility or Input Monitoring areas)
  • Start the KeyCastr app
  • When you see the "Keystroke Receiving" dialog from macOS, click "Open System Preferences" or open the Preferences app yourself
  • Under Input Monitoring, enable KeyCastr by unlocking your preferences and clicking the box next to KeyCastr which should have been automatically added to the list
  • When macOS prompts you, restart KeyCastr. Or you can do it manually.

Position on Screen

The default position is on the bottom left of your display. To modify the position of displayed keystrokes, click and drag the text like so:

reposition

Security Concerns

Any application in the Accessibility or Input Monitoring sections of the Security & Privacy pane in macOS's Preferences.app is capable of receiving all your input events. We encourage you to inspect these lists carefully, remove applications which you don't believe need to monitor your input, and ask tough questions of the companies which produce the software you use.

KeyCastr is completely free and open source, and does not employ any networking mechanisms other than that included with the ubiquitous Sparkle framework for managing application updates. KeyCastr will never receive or display your passwords, so long as the website or application you are using treats password entry as secure, e.g. <input type="password"> or equivalent.

History and Credits

  • sdeken wrote the original version.
  • akitchen occasional development and maintenance.
  • elia created keycastr organization and forked into it.
  • lqez added a new menu bar icon.
  • QuintB designed an updated application icon to match the icon style in modern versions of macOS.

License

BSD 3-Clause

KeyCastr has been freely available for the Mac since 2009.

keycastr's People

Contributors

afeld avatar akitchen avatar avh4 avatar byronbowerman avatar darenju avatar elia avatar gdzhu avatar joscha avatar joshdance avatar kant avatar lqez avatar mfekadu avatar quintb avatar rogeruiz avatar sdeken avatar simonalford42 avatar sole avatar tjarratt avatar vitorgalvao avatar xqin avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

keycastr's Issues

Mismapping Azerty/Qwerty

Hi,

I'm using an Azerty keyboard on latest OSX and latest keycastr to date. When I type "W" (major double w), it displays "Z". And vice-versa. Not the case for minor "z" or "w".

End of report ๐Ÿ‘

Case sensitivity or Shift modifier awareness

How possible would it be to display the capital versions of letters (and shifted symbols) when Shift+key is pressed?

It's possible that KeyCastr does display this as capital letters / shifted symbols and that I'm only missing out due to my Karabiner Shift key overrides. (Do other people see capital letters display when they enter them?)

Project homepage link is dead

The link to the project's home page does not appear to be accessible, so I'm not sure how to download and install the software. Also checked the app store, which didn't have it, and found a link from MacUpdate, which was also dead.

Doesn't show SHIFT, OPTION, or COMMAND

What the title says. When pressing those keys individually nothing appears.

I need to record a screen using those keys along with the mouse. For example Illustrator (and most graphics software) when using OPTION and dragging an object it duplicates it, or when using SHIFT it constraints the movement and rotation of an object. But those keystrokes do not appear.

I'm on 10.11.2

Svelte doesn't display individual char key presses

Title sums it up, svelte ignores all key presses, default view doesn't show only command key presses, this is slightly frustrating as none of the modes serves the full purpose when creating screencasts that need all the inputs to be shown, e.g. char binding hotkeys in Sketch/Photoshop.

Update: Please ignore/delete this as I noticed this is a duplicate of enhancement request #17

Verify the transfer

@elia & @lqez, could you verify that everything looks correct with the project now that it's transferred? We did lose the two issues that had been created, but they were administrative in nature.

Visualizer can get covered by full-screen windows

The key strokes only appear for me on the first space of my first display. All other spaces and displays don't show anything. This makes it had to capture a screen recording of a visual bug that would occur, for example, only in a app that's full screen (which is a new space).

It doesn't work well on OSX 10.10.3

when using the default visualizer, no commands display;
when using svelte,only command with function key output like bellow:
screen shot 2015-06-10 at 11 58 07 am
Is it a bug of the app?

Doesn't work on yosemite ?

Hello, I really appriciated about this project.
It will help me at creating my screencast for video tutorial.

I already installed keycastr via brew on my Mac OS X ( Yosemite ).
And I ran the application. I don't know if i missing something or what.
I'm using the svelte visualizer, because i'm confused about the default visualizer(nothing happens).
when i use svelte visualizer the blackbox appears, and shift,control,option and command button respond to it, but i don't see other button(e.g control C, it should appear ^ C ).

Can you help me about this issue / bug ?

Thanks

Stopped to work when connecting a second screen

Hi,
When i use this app on my machine it works flawlessly (osx 10.10.5). However the other day i connected a retroprojector, the screen mirroring was on and the resolution was changed, and it stopped to work. It may be related to #19 ; i don't know as i can't test it anymore now. I tried to quit and relaunch Keycastr, it din't solve, however i think it might have been better when i rebooted the computer.

Not working in all Desktops

KeyCastr is working only in only one Desktop.
assume! it was launched in Desktop1, then it is working only in Desktop1, Now if I want it to work in Desktop2 then I have to first open the preference window than move it to Desktop2,then it will work only in Desktop2.
please fix this.
Thanks in advance

Github page for landing

It would be pretty good for new users - yes, os x end-users - if we have a landing page with below items.

  • Description for keycastr
  • Document link (to wiki)
  • Download link (to release)
  • Issue link (to here)
  • License information
  • Contributors and history of keycastr

Display bare modifier key presses

I am using OS X 10.10.5 (14F27) with keycastr 0.9.2
whether If I select Displays Only Command Keys or not,CAPS LOCK will not show.

Does it work with Mavericks?

I installed the latest build (August 28, 2014 build) on Mavericks, and launched, it shows a message:
"Catastropic Error Encountered.
Could not create event tap. Make sure 'Enable Access for Assistive Devices' is checked in the Universal Access preferences.
KeyCastr will now terminate."

couldn't find "Enable Access for Assistive Devices". Googling it, the closest seems to be under Privacy/Accessibility, but keycastr does not show up in the app list.

Any help is appreciated.

Thanks,
Jason

Document better

edit: Ok, I got the normal display working and it solved my issues. Still a screenshot in README would be useful.

Cannot install via Homebrew

Just found this project, followed the install instructions on the landing, and ran into this issue.

~/Documents/Workspace $ brew install Caskroom/cask/keycastr
==> brew cask install Caskroom/cask/keycastr
Error: Cask 'keycastr' definition is invalid: Bad header line: parse failed

Any clue whats going on?

Default Visualizer does not work

I'm pleased to share that the app works on OS X 10.10 beta 3. The Accessibility privacy permission was a little confusing and a lot of manual work though.

However, the "Default" visualizer does not show up. The alternate one "Svelte" does show up.

Display only Commands keys should have an option to display navigation keys

When the 'Display only commands keys' it's checked the TAB, Arrow Keys doesn't display.

Let's say we are making a presentation of how to fill a form with only the keyboard.
There are inputs that we need to write data (text and textareas), or choose some option (dropdown, radio buttons and checkbox) and buttons.

I don't want to display what I'm entering in text fields. But, the TAB and Arrows keys and RETURN are some of the keys it's needed for giving the right feedback.

A different suggestion will be to, only display keys that aren't in a text component. I guess that could be harder to achieve.

Crashed when I asked to display icon in dock

See my comment in #1. When I selected Display keycastr icon in the dock before I had dragged the program into the dock from the finder keycastr crashed immediately and I had to track down and delete its Plist file before it would start again.

When it crashed and wouldn't start it gave me a message similar to the message it gave me before I enabled key caster in the accessibility security preferences.

Can't get it to work

It was working fine, but suddenly it stopped.

I've already tried to reinstall, check permissions on "Security & Privacy", but it will never display the keys. Can someone help me troubleshoot it?

Feature request: Let delete delete keys

When capturing all keystrokes, it might be helpful to have an option where rather than printing the X in a box backspace/delete symbol, Keycaster could instead delete the last character in the line displayed (if it's still on the screen).

Killer app. Thanks! M

Svelte visualizer should have an option for displaying unmodified keys

When screencasting for more complex tools (such as vim, emacs, etc.), you often want to record every key you're pressing โ€“ not just the modified ones. Can an option be added to the Svelte pane to toggle this? (I understand the desire to keep this view simple by default, but the option would be nice. ๐Ÿ˜€)

doesn't play nicely with spaces (10.6)

On 10.6, the visualization only appears on the space that that KeyCastr has been launched on, when I switch the space, the visualization doesn't show up anymore, unless I switch back to exactly that space.

[wish] Mouse tracking visualizer

I'd like to propose a new visualizer: the "Mouse tracking" visualizer.

The Araelium Screenflick app ( http://www.araelium.com/screenflick ) has an absolutely wonderful feature that allows me to display the keyboard modifiers (connected with mouse actions) next to the mouse cursor rather than in a fixed position. It's enormously effective and instantly makes sense โ€” see for yourselves:
https://youtu.be/u_rSk5Kb0BI

In fact, such mode would be absolutely perfect to visualize all keystrokes!

Basically, instead of designating a fixed location with some huge keystroke modifier display, I'd like to be able to define a small area (with a customizable x/y distance from the mouse pointer) that would display the keystroke visualization always near the mouse pointer. In reality, the viewers typically follow the mouse pointer with their eyes, so having a secondary fixed position where the keystroke callouts are shown will always be distracting.

In such a visualizer, the ideal keystroke display would work so that:

  1. If a keystroke is tapped short, then it is shown for a customizable time (say 1.5 seconds) and then fades away.
  2. If the keystroke is held for longer, then it is shown for the duration of the holding (without repetition, i.e. if I hold "a" for longer, then it should just show "a", not "aaaaaaa"), and then fades away immediately when I release the keystroke.
  3. Optionally, single-key alphabetic keystrokes should be displayed in uppercase (i.e. if I press the "A" key, it should display "A", not "a", since keys are labeled with uppercase letters).
  4. All modifiers, including Shift, should be visualized, both if they are pressed by itself (i.e. I hold Shift or Cmd), or in combination (i.e. I press Shift+A).
  5. There should be an ability to disable the fade in/out effects, so the show/hide is "hard". Such fade in/out effects eat up bandwidth enormously if I'm screen recording and my ultimate goal is to export short clips to animated GIFs.
  6. I can determine the size of the visualizer and possibly the color & transparency of the box (mostly transparency).

Fn key shortcuts disallowed

The toggle capturing shortcut bar wasn't allowing me to use one of the Fn keys (F3, if it matters) as the toggle sequence.

It said that it was already in use by the system as a keybinding. This persisted even after I had turned off the Fn sequence is system preferences

OS X 10.10.1
keycastr-0.8.2, installed via hombrew caskroom

Crash on OS X 10.7.5 (should at least tell user platform is not supported)

Process: launchd [58070]
Path: /Users/USER/Downloads/KeyCastr 2.app/Contents/MacOS/KeyCastr
Identifier: net.stephendeken.KeyCastr
Version: ??? (???)
Code Type: X86 (Native)
Parent Process: launchd [53029]

Date/Time: 2015-08-13 16:17:19.256 -0700
OS Version: Mac OS X 10.7.5 (11G63b)
Report Version: 9

Crashed Thread: Unknown

Exception Type: EXC_BAD_ACCESS (SIGSEGV)
Exception Codes: KERN_INVALID_ADDRESS at 0x000000008fe01030

Backtrace not available

Unknown thread crashed with X86 Thread State (32-bit):
eax: 0x00000000 ebx: 0x00000000 ecx: 0x00000000 edx: 0x00000000
edi: 0x00000000 esi: 0x00000000 ebp: 0x00000000 esp: 0x00000000
ss: 0x00000023 efl: 0x00010202 eip: 0x8fe01030 cs: 0x0000001b
ds: 0x00000023 es: 0x00000023 fs: 0x00000000 gs: 0x00000000
cr2: 0x8fe01030
Logical CPU: 0

Binary images description not available

External Modification Summary:
Calls made by other processes targeting this process:
task_for_pid: 1
thread_create: 0
thread_set_state: 0
Calls made by this process:
task_for_pid: 0
thread_create: 0
thread_set_state: 0
Calls made by all processes on this machine:
task_for_pid: 33166
thread_create: 0

thread_set_state: 0

results of trying to debug it:

mac:Contents: gdb /Users/danielpovey/Downloads/KeyCastr\ 2.app/Contents/MacOS/KeyCastr
GNU gdb 6.3.50-20050815 (Apple version gdb-1708) (Thu Nov 3 21:59:02 UTC 2011)
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "x86_64-apple-darwin"...unable to read unknown load command 0x80000028

warning: Unable to read symbols for /System/Library/Frameworks/CoreGraphics.framework/Versions/A/CoreGraphics (file not found).

warning: Unable to read symbols from "CoreGraphics" (not yet mapped into memory).
Reading symbols for shared libraries ........... done
unable to read unknown load command 0x80000028

(gdb) r
Starting program: /Users/danielpovey/Downloads/KeyCastr 2.app/Contents/MacOS/KeyCastr
warning: The target crashed on startup, maybe the shell is crashing.
"Try set start-with-shell 0" to workaround.
Abort trap: 6

Add tags for releases and attach binaries

Hey, this is a great app that does exactly what I was looking for today! ๐Ÿ˜„

This is a grunt-work issue. Would it be possible to add a tag for the latest release version at the right commit (which will show up in the releases section of the project) and then attach the build (currently linked to in the README to that release? This might make it more clear for people where to download the app, at least I usually look at the releases tab for source and binaries at a certain tag.

Thanks!

Limit the amount of capsules in the default visualizer

An option in preference to not stack the keys pressed would be a useful enhancement. Currently I have keys casted at bottom center of screen (typical location of subtitles in movies). I don't want the keystrokes to pile up and take screen space. Instead just the latest keystroke (with modifier) can be displayed.

Wrong hotkey displayed in menu

There are 2 different combinations in prefs and in menu.
The one in prefs is right. Need to sync menu somehow with it.

Check for Updates should check github

I could modify my fork to check github,
but then it would be checking my github,
and then I would have effectively p0wned your project.

Welcome to github, BTW.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.