Open-source project
nutti/Screencast-Keys avatar
nutti/Screencast-Keys

Screencast-Keys for Blender: Keyboard, Mouse, and Operation Status

Blender Add-on: Screencast Keys

1,437 stars124 forksPythonGPL-3.0

At a glance

What is it?
Screencast-Keys is a GPL-3.0 Blender add-on for displaying keyboard, mouse, and the most recently executed operation. It supports English and lets users choose the Blender area, region, and window where status information appears.
Who is it for?
Adopt Screencast-Keys if you need a visible Blender status overlay while working with English UI text and can accept an add-on focused on input and operation feedback. Do not adopt it for multilingual key labels, recording, remote control, or input automation, since the README does not document those functions.
Can I use it commercially?
Yes, with conditions. GPL-3.0 is a copyleft licence: if you distribute software that includes it, you must release that software's source code under the same licence. Running it internally without distributing it does not trigger that obligation.
Is it still maintained?
Yes. The repository last received commits 7 days ago.
What is it written in?
Mainly Python, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on October 23, 2026, and from our analysis. They are not legal advice.

Editorial analysis

What Screencast-Keys Adds to Blender

Screencast-Keys addresses a narrow presentation problem inside Blender: making input and recent operation state visible during editing. The README describes it as a Blender add-on that displays Keyboard/Mouse status and the operation executed last time. That makes the project relevant to Blender users who need feedback while operating the application, especially when a visible indication is more useful than inferring what happened from the current interface state. The repository identifies the primary language as Python and distributes the project as a Blender add-on rather than as a standalone desktop application.

The project is intended for Blender users, not for general input-monitoring systems, game automation tools, or application-wide keystroke recorders. Its documented feature set is limited to display functions. It does not claim to capture video, transmit input, replay keyboard actions, modify files, or coordinate other applications. The repository name and description both identify it as a Blender extension, while the documented feature list concentrates on presenting status inside Blender.

Screencast-Keys is also explicitly English-only. That is a meaningful constraint for users whose workflow depends on localized keyboard labels or translated operation text. The README does not describe language settings, alternate dictionaries, or community-maintained translations. The add-on is therefore better suited to an English Blender setup than to a workflow that requires localized status text.

The project has a GPL-3.0 license. That identifier describes the repository's stated licensing model, but it is not a substitute for reviewing the actual LICENSE file and any dependency notices when redistribution or integration matters. The requirements file lists development and quality-control packages, not runtime dependencies for Blender users.

Status Display and Placement Controls

The documented behavior centers on two visible categories of status. The first is Keyboard/Mouse status, which gives the user feedback about input activity. The second is the operation executed last time, which provides context about the most recent Blender operation. The README does not specify the exact input events, event source, polling method, or Blender handlers used to produce these displays, so the implementation details cannot be inferred from the feature summary alone.

The add-on also supports changing the area, region, or window where status is displayed. This is more than a visual preference because Blender workspaces contain different UI regions, and a status display that is useful in one area may not be suitable in another. The documented options give the user control over placement, but the README does not describe a command-line interface, a preference file, or a complete set of location values. The tutorial document is the relevant source for the exact controls.

Customizing UIs is another documented feature. The repository does not publish the available widgets, styling keys, or interaction details in the README excerpt, so a potential user should not assume that arbitrary HTML, color themes, fonts, or keycap designs are supported. The stated capability establishes that the interface can be customized, but it does not define the customization surface.

The project appears to be organized as a Blender add-on package under src/, with documentation under docs/, tests under tests/, and repository tooling under tools/. That layout indicates separate implementation, documentation, test, and maintenance areas. It does not, by itself, prove which Blender API, event loop, or rendering path the add-on uses.

Installing a Release and Checking Blender Compatibility

The README directs users to compare the add-on version with their Blender version using docs/installation.md before installing. It does not provide a package-manager command, Python module name, Blender extension identifier, or verified CLI installation procedure. Consequently, this article does not invent an install command or claim that a particular Blender Preferences workflow is guaranteed by the repository text.

Released versions are distributed through the project's GitHub Release Page. The README also provides an archive download for the newest unstable version from the master branch. That distinction matters because an archive from master is not the same artifact as a release. A user who values a documented version choice should start with the release page, while a user seeking the newest code accepts the instability explicitly identified by the README.

The README says installation can be confusing and refers readers to docs/installation.md if they encounter trouble. That document, rather than the repository root, is the source for the complete procedure. Before downloading, the first practical check is Blender compatibility, because the repository presents version support as a prerequisite rather than implying that every recent Blender version is covered.

A cautious first-use sequence follows the documented distribution path. First, identify the intended Blender version. Second, consult docs/installation.md to determine whether the selected Screencast-Keys release supports it. Third, obtain the corresponding artifact from the release page. Fourth, follow the installation document and enable the add-on through the procedure it specifies. Finally, read docs/tutorial.md for the actual status-display controls.

First Use Through the Documentation

The README does not include enough interface instructions to reproduce a complete first-use walkthrough. It points to docs/tutorial.md for details, so the reliable first-use path is to install a version accepted by docs/installation.md and follow that tutorial rather than guessing menu names or preference fields.

The expected result after setup is stated at a functional level. Screencast-Keys should be able to display Keyboard/Mouse status, display the operation executed last time, and place that status in a selected area, region, or window. Users can then use the documented UI customization options. The README does not state whether a restart is required, whether a status indicator is shown immediately, or which specific Blender operations are recorded.

This distinction is important for evaluation. The project is not described as a background service with a documented API, and there are no published command-line examples in the README. Its first use is tied to Blender's own interface and the add-on's tutorial document. Anyone expecting a scriptable status feed should verify the tutorial before adopting it.

The repository includes tests/ and tools/ directories, but the README does not describe test cases, supported Blender versions, or automated release checks. The presence of these directories indicates development support files, not proof that every Blender release or operating system is covered.

Limits of the Supported Feature Set

The clearest limitation is scope. Screencast-Keys displays input and recent-operation status, but the README does not document screen recording, remote control, keyboard remapping, macro playback, accessibility auditing, or synchronization with external applications. It should not be treated as a recording tool or an automation framework.

English-only support is the second documented boundary. Users working with non-English Blender interfaces may need translated labels elsewhere in Blender, while Screencast-Keys will continue to present English status according to the project description. The repository does not document translation files or a configurable language key.

A third limitation concerns implementation guarantees. The README does not explain how the add-on receives keyboard and mouse events, how it identifies an operation, or how it handles Blender version changes. Without those details, compatibility beyond the version-check instruction cannot be inferred from repository structure. Users should also avoid assuming that every area or region can host the display, because the documentation lists placement choices but does not provide their constraints.

These limits make the project easier to assess. It is a focused status-display add-on with several placement and UI controls, not a general-purpose observation or control layer for Blender.

Maintenance, Releases, and GPL-3.0

The repository is not marked as archived, and its last push was on 2026-10-16. The release history includes v4.2.2 dated 2026-03-22, v4.2.1 dated 2025-10-11, and v4.2.0 dated 2025-05-06. These dates provide concrete release history, while the last-push date is the available basis for assessing whether development activity is recent. The README also points to CHANGELOG.md for version-specific changes, so an upgrade decision should compare the selected release with that file.

Version numbers alone do not establish compatibility with a particular Blender installation. The README explicitly asks users to check docs/installation.md for supported versions before installation. Upgrade cost is therefore tied to release-specific compatibility and any changes described in CHANGELOG.md, rather than to an assumption that the newest archive is safe for every installation.

The stated GPL-3.0 license has implications for redistribution and modification that depend on the relevant license obligations and distribution context. Users who plan to embed, repackage, or distribute the add-on should inspect LICENSE and related contribution documentation. The README does not provide a separate dependency or commercial-use policy for the add-on itself.

The requirements.txt file pins pycodestyle 2.13.0, pylint 2.15.0, and yamllint 1.27.1. These entries are associated with development or quality-control tooling, but the README does not explain the exact commands or environments in which they are used.

Choosing Screencast-Keys or a Different Workflow

Screencast-Keys is appropriate when the goal is a visible status indicator inside Blender and the user is willing to rely on the add-on's Blender-specific interface. Its documented placement controls make it more relevant than a system-wide overlay for users who want the status tied to a particular Blender area, region, or window. The English-only requirement also narrows the audience.

A different approach is appropriate when the requirement is to record a session, replay input, monitor activity outside Blender, or translate keyboard labels. Those are different problems from displaying the current status inside Blender. The README does not describe Screencast-Keys as a recorder, remote-control client, automation script, or multilingual input display, so those use cases would require another project or a separate implementation.

The comparison should be based on the intended output, not on the word status. If the needed information must remain visible beside a specific Blender workspace, Screencast-Keys has a direct documented fit. If the information must be stored, exported, transmitted, or used to generate input, the README leaves those capabilities unspecified, making adoption harder to justify without a separate tool.

Editorial conclusion

Adopt Screencast-Keys if you need a visible Blender status overlay while working with English UI text and can accept an add-on focused on input and operation feedback. Do not adopt it for multilingual key labels, recording, remote control, or input automation, since the README does not document those functions. Verify compatibility with the intended Blender version through docs/installation.md first, then confirm the status location and customization options in docs/tutorial.md.

Frequently asked questions

What does the Screencast-Keys Blender add-on do?

It displays Keyboard/Mouse status and the operation executed last time inside Blender. The README also lists controls for changing the area, region, or window used for status display and for customizing the UI.

How do I install Screencast-Keys in Blender?

The README says to check Blender compatibility in docs/installation.md first, then download released versions from the GitHub Release Page. It refers to docs/installation.md for the actual installation process, while master is identified as the newest unstable download.

Does Screencast-Keys support languages other than English?

No. The README explicitly states that Screencast-Keys supports English only, and it does not document alternate language files or a language configuration option.

Official sources

  1. Issues
  2. License: GPL-3.0
  3. nutti/Screencast-Keys on GitHub
  4. README
  5. Releases
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/nutti-screencast-keys.svg)](https://hysenlabs.com/projects/nutti-screencast-keys)

Was this useful?