Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: nutti/Screencast-Keys
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v3.5
Choose a base ref
...
head repository: nutti/Screencast-Keys
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: v3.6
Choose a head ref
  • 16 commits
  • 33 files changed
  • 4 contributors

Commits on Mar 8, 2021

  1. Copy the full SHA
    3055aa6 View commit details

Commits on Mar 9, 2021

  1. Copy the full SHA
    ac2e56f View commit details
  2. Copy the full SHA
    07a8d81 View commit details
  3. Copy the full SHA
    9fa764d View commit details
  4. Update: UI on Sidebar (#51)

    nutti committed Mar 9, 2021
    Copy the full SHA
    9e2b644 View commit details

Commits on May 27, 2021

  1. Copy the full SHA
    6f81dfb View commit details

Commits on Jun 17, 2021

  1. Fix: Typo in README.md (#58)

    kant authored Jun 17, 2021
    Copy the full SHA
    7ffd150 View commit details
  2. Copy the full SHA
    20aa39b View commit details

Commits on Jun 20, 2021

  1. Copy the full SHA
    9bf75d1 View commit details

Commits on Jul 18, 2021

  1. Update: Add preference 'Enable On Startup' to enable Screencast Keys …

    …automatically when blender is starting up (#62)
    CheeryLee authored Jul 18, 2021
    Copy the full SHA
    f970c4d View commit details

Commits on Jul 23, 2021

  1. Update: Add options 'Margin' and 'Corner Radius' for a background to …

    …have an alternative visualization selection (#54)
    
    Co-authored-by: nutti <[email protected]>
    Kureii and nutti authored Jul 23, 2021
    Copy the full SHA
    73c347b View commit details

Commits on Aug 29, 2021

  1. Copy the full SHA
    e9e656a View commit details
  2. Update: Author of the add-on

    nutti committed Aug 29, 2021
    Copy the full SHA
    716e51d View commit details

Commits on Sep 5, 2021

  1. Copy the full SHA
    f69593a View commit details
  2. Update: Documents for v3.6

    nutti committed Sep 5, 2021
    Copy the full SHA
    88d971c View commit details
  3. Version 3.6 released

    nutti committed Sep 5, 2021
    Copy the full SHA
    b2348aa View commit details
Showing with 1,146 additions and 361 deletions.
  1. +28 −1 CHANGELOG.md
  2. +5 −2 README.md
  3. +25 −14 docs/faq.md
  4. BIN docs/images/tutorial/option_align.png
  5. BIN docs/images/tutorial/option_background.png
  6. BIN docs/images/tutorial/option_background_corner_radius.png
  7. BIN docs/images/tutorial/option_background_mode.png
  8. BIN docs/images/tutorial/option_color.png
  9. BIN docs/images/tutorial/option_font_size.png
  10. BIN docs/images/tutorial/option_last_operator.png
  11. BIN docs/images/tutorial/option_line_thickness.png
  12. BIN docs/images/tutorial/option_margin.png
  13. BIN docs/images/tutorial/option_max_event_history.png
  14. BIN docs/images/tutorial/option_mouse_event.png
  15. BIN docs/images/tutorial/option_mouse_size.png
  16. BIN docs/images/tutorial/option_repeat_count.png
  17. BIN docs/images/tutorial/option_shadow.png
  18. BIN docs/images/tutorial/option_show_last_operators.png
  19. BIN docs/images/tutorial/option_show_mouse_events.png
  20. BIN docs/images/tutorial/preference_text_aliases.png
  21. BIN docs/images/tutorial/preferences_enable_display_event_text_aliases.png
  22. BIN docs/images/tutorial/preferences_overlay.png
  23. BIN docs/images/tutorial/preferences_sidebar.png
  24. +3 −1 docs/installation.md
  25. +66 −25 docs/tutorial.md
  26. +56 −17 src/screencast_keys/__init__.py
  27. +64 −4 src/screencast_keys/common.py
  28. +37 −1 src/screencast_keys/compat/bglx.py
  29. +535 −259 src/screencast_keys/ops.py
  30. +60 −6 src/screencast_keys/preferences.py
  31. +51 −31 src/screencast_keys/ui.py
  32. +4 −0 src/screencast_keys/utils/c_structures/__init__.py
  33. +212 −0 src/screencast_keys/utils/c_structures/v293.py
29 changes: 28 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,34 @@
# Change Log


## [Unreleased](https://github.com/nutti/Screencast-Keys/compare/v3.5...master)
## [Unreleased](https://github.com/nutti/Screencast-Keys/compare/v3.6...master)


## [Version 3.6](https://github.com/nutti/Screencast-Keys/compare/v3.5...v3.6) - 2021.9.5

### Updated Features

* Blender 2.93 support about the option "Get Event Aggressively"
* Added options
* Specify the displayed line's thickness
* Add spaces around the texts
* Show the backround with the rounded corners
* Added preferences
* Enable Screencast Keys automatically when Blender is starting up
* UI on Sidebar


### Other Updates

* Show platform specific keys by default
* Fix bugs


### Contributors

* [**@kant**](https://github.com/kant)
* [**@CheeryLee**](https://github.com/CheeryLee)
* [**@Kureii**](https://github.com/Kureii)


## [Version 3.5](https://github.com/nutti/Screencast-Keys/compare/v3.4...v3.5) - 2021.3.5
7 changes: 5 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -7,7 +7,7 @@ This is a blender add-on **Screencast Keys** to display the Keyboard/Mouse and O

## Download / Installation

All released Screencast Keys add-on is availabled on [Release Page](https://github.com/nutti/Screencast-Keys/releases).
All released Screencast Keys add-on is available on [Release Page](https://github.com/nutti/Screencast-Keys/releases).
If you want to try newest (unstable) version, you can download it from [unstable version](https://github.com/nutti/Screencast-Keys/archive/master.zip).

Installation process is a bit confusing.
@@ -26,7 +26,7 @@ The features of this add-on are as follows.

## Tutorials

Introduction video is availabe on [YouTube](https://www.youtube.com/watch?v=mWkkPCp7RSI).
Introduction video is available on [YouTube](https://www.youtube.com/watch?v=mWkkPCp7RSI).

*Note: This introduction video is created for v3.0. UI and features introduced in this video will be changed in the later release.*

@@ -71,3 +71,6 @@ Support via [GitHub Sponsors](https://github.com/sponsors/nutti)
### Contributors

* [**@Hawkpath**](https://github.com/Hawkpath)
* [**@kant**](https://github.com/kant)
* [**@CheeryLee**](https://github.com/CheeryLee)
* [**@Kureii**](https://github.com/Kureii)
39 changes: 25 additions & 14 deletions docs/faq.md
Original file line number Diff line number Diff line change
@@ -1,28 +1,39 @@
# FAQ

### Failed to install this add-on

**Failed to get event while the modal operation is running. (e.g. G + X, S + Y, ...)**
Try to restart Blender or reinstall this add-on.
Related error is reported in some issues ([Issue #61](https://github.com/nutti/Screencast-Keys/issues/61), [Issue #64](https://github.com/nutti/Screencast-Keys/issues/64), [Issues #65](https://github.com/nutti/Screencast-Keys/issues/65)).

Try to enable the experimental option *Get Event Aggressively*.
---

### Failed to get event while the modal operation is running. (e.g. G + X, S + Y, ...)

Try to enable the experimental option *Get Event Aggressively*.
This option enables you to get events even if the modal operation is running.

This option hacks the internal structure of Blender, so it is now experimental option.
If you want to use this add-on safely, you should not enable this option.
This option hacks the internal structure of Blender, so it is now experimental option.
If you want to use this add-on safely, you should not enable this option.
But the bug reports are welcomed.

---

**Screencast Keys is disabled after opening a new .blend file or restarting Blender.**

Screencast Keys add-on uses the modal operator which continuously runs Blender's background.
The modal operator will be cancelled when a new file is opened or Blender is restarted.
For this reason, Screencast Keys will be disabled after opening a new .blend file or restarting Blender.
### Screencast Keys is disabled after opening a new .blend file or restarting Blender.

Instead, Screencast Keys provides the shortcut key *Shift + Alt + C* to enable Screencast Keys add-on easily.
See also [Tutorial](tutorial.md#shortcut-keys).
Use Screencast Keys whose version is above 3.6.
This issue is solved by [**@CheeryLee**](https://github.com/CheeryLee)'s [Pull Request #62](https://github.com/nutti/Screencast-Keys/pull/62) and his patch is available since v3.6.

---

**Auto saving feature is disabled when Screencast Keys add-on is enabled.**
### Auto saving feature is disabled when Screencast Keys add-on is enabled.

Screencast Keys add-on uses the modal operator which continuously runs Blender's background.
If the modal operator is running, Blender will disable the auto saving feature.
Screencast Keys add-on uses the modal operator which continuously runs Blender's background.
If the modal operator is running, Blender will disable the auto saving feature.
For this reason, the auto saving feature is disabled when Screencast Keys add-on is enabled.

---

### ERROR: `TypeError: an integer is required (got type _PropertyDefered)`.

Use Screencast Keys whose version is above 3.5.
This issue firstly reported in the [Issue #45](https://github.com/nutti/Screencast-Keys/issues/45), and you can find the discussion in it.
Binary file modified docs/images/tutorial/option_align.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file removed docs/images/tutorial/option_background.png
Binary file not shown.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/images/tutorial/option_background_mode.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/images/tutorial/option_color.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/images/tutorial/option_font_size.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file removed docs/images/tutorial/option_last_operator.png
Binary file not shown.
Binary file added docs/images/tutorial/option_line_thickness.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/images/tutorial/option_margin.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/images/tutorial/option_max_event_history.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file removed docs/images/tutorial/option_mouse_event.png
Binary file not shown.
Binary file modified docs/images/tutorial/option_mouse_size.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/images/tutorial/option_repeat_count.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/images/tutorial/option_shadow.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/images/tutorial/option_show_mouse_events.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file removed docs/images/tutorial/preference_text_aliases.png
Binary file not shown.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/images/tutorial/preferences_overlay.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/images/tutorial/preferences_sidebar.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 3 additions & 1 deletion docs/installation.md
Original file line number Diff line number Diff line change
@@ -16,6 +16,7 @@ There are two ways to install Screencast Keys add-on.

|Version|Download URL|
|---|---|
|3.6|[Download](https://github.com/nutti/Screencast-Keys/releases/tag/v3.6)|
|3.5|[Download](https://github.com/nutti/Screencast-Keys/releases/tag/v3.5)|
|3.4|[Download](https://github.com/nutti/Screencast-Keys/releases/tag/v3.4)|
|3.3|[Download](https://github.com/nutti/Screencast-Keys/releases/tag/v3.3)|
@@ -47,6 +48,7 @@ The name of add-on displayed in Blender is **Screencast Keys**.
|Version|Download URL|
|---|---|
|*unstable*|[Download](https://github.com/nutti/Screencast-Keys/archive/master.zip)|
|3.6|[Download](https://github.com/nutti/Screencast-Keys/releases/tag/v3.6)|
|3.5|[Download](https://github.com/nutti/Screencast-Keys/releases/tag/v3.5)|
|3.4|[Download](https://github.com/nutti/Screencast-Keys/releases/tag/v3.4)|
|3.3|[Download](https://github.com/nutti/Screencast-Keys/releases/tag/v3.3)|
@@ -65,7 +67,7 @@ Add-on sources are located on the different places depending on the add-on versi
|Version|Sources|
|---|---|
|unstable|src/screencast_keys|
|3.1 - 3.5|screencast_keys|
|3.1 - 3.6|screencast_keys|
|3.0|screencastkeys|


91 changes: 66 additions & 25 deletions docs/tutorial.md
Original file line number Diff line number Diff line change
@@ -38,15 +38,20 @@ You can also change shadow color.
### Backgroud

If **Background** option is enabled, colored planes will be displayed behind texts and figures.
Two background options are available.
You can also change backgroud color.
Background color is changeable.
**Background Mode** changes the display style for the background.

|||
|---|---|
|**Text**|Display colored plane behind texts and figures.|
|**Draw Area**|Display a color plane on the draw area rectangle.|

![Option (Background)](images/tutorial/option_background.png)
![Option (Background Mode)](images/tutorial/option_background_mode.png)

The background will have rounded corners with **Corner Radius** value.
If this value is 0, the rounded corners are disabled.

![Option (Corner Radius)](images/tutorial/option_background_corner_radius.png)


### Font Size
@@ -56,10 +61,24 @@ You can also change backgroud color.
![Option (Font Size)](images/tutorial/option_font_size.png)


### Margin

**Margin** option makes the spaces around the texts.

![Option (Margin)](images/tutorial/option_margin.png)


### Line Thickness

**Line Thickness** option specifies the thickness of lines.

![Option (Line Thickness)](images/tutorial/option_line_thickness.png)


### Mouse Size

**Mouse Size** option specifies the size of figure which displays hold mouse status.
This option is only availabe when **Mouse Events** option is **Hold Status** or **Event History + Hold Status** while **Show Mouse Events** is enabled.
This option is only availabe when **Show Mouse Events** option's mode is **Hold Status** or **Event History + Hold Status**.

![Option (Mouse Size)](images/tutorial/option_mouse_size.png)

@@ -107,18 +126,17 @@ If you change **Max Event History** option to 1, show only last key event.
![Option (Max Event History)](images/tutorial/option_max_event_history.png)


### Show Mouse Event
### Repeat Count

If **Show Mouse Event** option is enabled, events from mouse will be displayed.
You can also display mouse button hold status as figure.
See **Mouse Event** option if you want to change how to display the mouse status.
Repeated key will be displayed as the single string. (eg: Tab x5)

![Option (Mouse Event)](images/tutorial/option_mouse_event.png)
![Option (Repeat Count)](images/tutorial/option_repeat_count.png)


### Mouse Event
### Show Mouse Events

**Mouse Event** option specifies how to display the mouse status.
If **Show Mouse Events** option is enabled, events from mouse will be displayed.
You can change the display mode from **Mode** option.

|||
|---|---|
@@ -127,17 +145,13 @@ See **Mouse Event** option if you want to change how to display the mouse status
|**Event History + Hold Status**|Both **Event History** and **Hold Status**.|


### Show Last Operator

If **Show Last Operator** option is enabled, the last executed operator will be displayed.
See **Last Operator** option if you want to change how to display the last operator.
![Option (Show Mouse Events)](images/tutorial/option_show_mouse_events.png)

![Option (Last Operator)](images/tutorial/option_last_operator.png)

### Show Last Operators

### Last Operator

**Last Operator** option specifies how to display the last operator.
If **Show Last Operators** option is enabled, the last executed operator will be displayed.
You can change the display mode from **Mode** option.

|||
|---|---|
@@ -146,6 +160,9 @@ See **Last Operator** option if you want to change how to display the last opera
|**Label + ID Name**|Both **Label** and **ID Name**.|


![Option (Show Last Operators)](images/tutorial/option_show_last_operators.png)


### Get Event Aggressively

*NOTE: This is an experimental option. If this option is enabled, Blender may be crashed in the specific environment.*
@@ -157,33 +174,57 @@ If **Get Event Aggressively** option is enabled, the events raised in the modal

## Preferences

In addition to the above options, some options are located on Perferences.
In addition to the above options, some options are located on Preferences.
You can update this add-on from Preferences.


### Panel Location
### Enable On Startup

The location of the Panel can be changed.
If this option is enabled, Screencast Keys will be enabled automatically when blender will startup up.


### UI

#### Sidebar

If this option is enabled, the Screencast Key's menu will be added to the sidebar.
The location of the Panel can be changed by using **Space** option and **Category** option.

|||
|---|---|
|**Space**|Space which this panel is placed on.|
|**Category**|The category name of this panel.|

![Preferences (Sidebar)](images/tutorial/preferences_sidebar.png)


#### Overlay

If this option is enabled, the Screencast Key's menu will be added to the **Viewport Overlays**.

### Debug Mode
![Preferences (Overlay)](images/tutorial/preferences_overlay.png)

*NOTE: This option is for the development purpose. If this option is enabled, the performance issue may be raised.*

### Development

*NOTE: These options are for the development purpose. If these options are enabled, the performance issue may be raised.*

#### Output Debug Log

Output logs for the analysis of bugs and so on.


#### Display Draw Area

Display 'Draw Area' where Screencast Keys UI will be rendered.


### Enable Display Event Text Aliases

If this options is enabled, you can display own customized strings for events instead of default key name.
This can be useful when you want to display events from special input devices.

![Preference (Text Aliases)](images/tutorial/preference_text_aliases.png)
![Preference (Enable Display Event Text Aliases)](images/tutorial/preferences_enable_display_event_text_aliases.png)


## Shortcut Keys
Loading