scribe-cli 0.7.4__tar.gz → 0.7.6__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {scribe_cli-0.7.4/scribe_cli.egg-info → scribe_cli-0.7.6}/PKG-INFO +24 -13
- {scribe_cli-0.7.4 → scribe_cli-0.7.6}/README.md +18 -10
- {scribe_cli-0.7.4 → scribe_cli-0.7.6}/pyproject.toml +9 -3
- {scribe_cli-0.7.4 → scribe_cli-0.7.6}/scribe/_version.py +2 -2
- {scribe_cli-0.7.4 → scribe_cli-0.7.6/scribe_cli.egg-info}/PKG-INFO +24 -13
- {scribe_cli-0.7.4 → scribe_cli-0.7.6}/scribe_cli.egg-info/requires.txt +5 -1
- {scribe_cli-0.7.4 → scribe_cli-0.7.6}/.github/workflows/pypi.yml +0 -0
- {scribe_cli-0.7.4 → scribe_cli-0.7.6}/.gitignore +0 -0
- {scribe_cli-0.7.4 → scribe_cli-0.7.6}/LICENSE +0 -0
- {scribe_cli-0.7.4 → scribe_cli-0.7.6}/scribe/__init__.py +0 -0
- {scribe_cli-0.7.4 → scribe_cli-0.7.6}/scribe/app.py +0 -0
- {scribe_cli-0.7.4 → scribe_cli-0.7.6}/scribe/audio.py +0 -0
- {scribe_cli-0.7.4 → scribe_cli-0.7.6}/scribe/install_desktop.py +0 -0
- {scribe_cli-0.7.4 → scribe_cli-0.7.6}/scribe/keyboard.py +0 -0
- {scribe_cli-0.7.4 → scribe_cli-0.7.6}/scribe/models.py +0 -0
- {scribe_cli-0.7.4 → scribe_cli-0.7.6}/scribe/models.toml +0 -0
- {scribe_cli-0.7.4 → scribe_cli-0.7.6}/scribe/saverecording.py +0 -0
- {scribe_cli-0.7.4 → scribe_cli-0.7.6}/scribe/testpynput.py +0 -0
- {scribe_cli-0.7.4 → scribe_cli-0.7.6}/scribe/util.py +0 -0
- {scribe_cli-0.7.4 → scribe_cli-0.7.6}/scribe_cli.egg-info/SOURCES.txt +0 -0
- {scribe_cli-0.7.4 → scribe_cli-0.7.6}/scribe_cli.egg-info/dependency_links.txt +0 -0
- {scribe_cli-0.7.4 → scribe_cli-0.7.6}/scribe_cli.egg-info/entry_points.txt +0 -0
- {scribe_cli-0.7.4 → scribe_cli-0.7.6}/scribe_cli.egg-info/top_level.txt +0 -0
- {scribe_cli-0.7.4 → scribe_cli-0.7.6}/scribe_data/__init__.py +0 -0
- {scribe_cli-0.7.4 → scribe_cli-0.7.6}/scribe_data/share/icon.jpg +0 -0
- {scribe_cli-0.7.4 → scribe_cli-0.7.6}/scribe_data/templates/scribe.desktop +0 -0
- {scribe_cli-0.7.4 → scribe_cli-0.7.6}/setup.cfg +0 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
Metadata-Version: 2.2
|
|
2
2
|
Name: scribe-cli
|
|
3
|
-
Version: 0.7.
|
|
4
|
-
Summary: scribe is a local speech recognition tool that provides real-time transcription using vosk and whisper AI
|
|
3
|
+
Version: 0.7.6
|
|
4
|
+
Summary: scribe is a local speech recognition tool that provides real-time transcription using vosk and whisper AI, with the goal of serving as a virtual keyboard on a computer
|
|
5
5
|
Author-email: Mahé Perrette <mahe.perrette@gmail.com>
|
|
6
6
|
License: MIT License
|
|
7
7
|
|
|
@@ -44,31 +44,43 @@ Requires-Dist: sounddevice
|
|
|
44
44
|
Requires-Dist: tqdm
|
|
45
45
|
Requires-Dist: requests
|
|
46
46
|
Requires-Dist: pyperclip
|
|
47
|
-
Requires-Dist: pystray
|
|
48
47
|
Provides-Extra: keyboard
|
|
49
48
|
Requires-Dist: pynput; extra == "keyboard"
|
|
50
49
|
Provides-Extra: whisper
|
|
51
50
|
Requires-Dist: openai-whisper; extra == "whisper"
|
|
52
51
|
Provides-Extra: vosk
|
|
53
52
|
Requires-Dist: vosk; extra == "vosk"
|
|
53
|
+
Provides-Extra: app
|
|
54
|
+
Requires-Dist: pystray; extra == "app"
|
|
55
|
+
Requires-Dist: PyGObject; extra == "app"
|
|
54
56
|
Provides-Extra: all
|
|
55
57
|
Requires-Dist: pynput; extra == "all"
|
|
56
58
|
Requires-Dist: openai-whisper; extra == "all"
|
|
57
59
|
Requires-Dist: vosk; extra == "all"
|
|
60
|
+
Requires-Dist: pystray; extra == "all"
|
|
61
|
+
|
|
62
|
+
[]()
|
|
63
|
+
[](https://pypi.org/project/papers-cli)
|
|
58
64
|
|
|
59
65
|
# Scribe
|
|
60
66
|
|
|
61
|
-
`scribe` is a local speech recognition tool that provides real-time transcription using vosk and whisper AI, with the goal of serving as a virtual keyboard.
|
|
67
|
+
`scribe` is a local speech recognition tool that provides real-time transcription using vosk and whisper AI, with the goal of serving as a virtual keyboard on a computer.
|
|
68
|
+
|
|
69
|
+
## Compatibility
|
|
70
|
+
|
|
71
|
+
In principle `scribe` is compatible with any OS but I develop it under Ubuntu (Wayland) and develop it for my own purposes so glitches are likely on other configurations.
|
|
72
|
+
As of February 19, 2025 python 13 is not supported (I can't recall now which dependency is to blame).
|
|
73
|
+
A test on Mac OS (M1 Air with 8Gb RAM) worked with python 12, though with a much inferior performance compared to my own system (Lenovo T14 Gen 5 with i5 125U 32 Gb RAM).
|
|
62
74
|
|
|
63
75
|
## Installation
|
|
64
76
|
|
|
65
|
-
Install PortAudio library. E.g. on Ubuntu:
|
|
77
|
+
Install PortAudio library and xclip library. E.g. on Ubuntu:
|
|
66
78
|
|
|
67
79
|
```bash
|
|
68
|
-
sudo apt-get install portaudio19-dev
|
|
80
|
+
sudo apt-get install portaudio19-dev xclip
|
|
69
81
|
```
|
|
70
82
|
|
|
71
|
-
The python dependencies should be dealt with automatically:
|
|
83
|
+
See additional requirements for the [icon tray](#system-tray-icon-experimental) and [keyboard](#virtual-keyboard-experimental) options. The python dependencies should be dealt with automatically:
|
|
72
84
|
|
|
73
85
|
```bash
|
|
74
86
|
pip install scribe-cli[all]"
|
|
@@ -108,8 +120,7 @@ but it cannot do real-time, and depending on the model can have relatively long
|
|
|
108
120
|
With the `whisker` model you need to stop the registration manually before the transcription occurs (Ctrl + C), though
|
|
109
121
|
there is a maximum duration after which it will stop by itself, which is setup to 60s by default (unless `--duration` is set to something else).
|
|
110
122
|
|
|
111
|
-
The `vosk` backend is good at
|
|
112
|
-
doing real-time transcription for one language, but tended to make more mistakes in my tests and it does not do punctuation.
|
|
123
|
+
The `vosk` backend is much faster and very good at doing real-time transcription for one language, but tended to make more mistakes in my tests and it does not do punctuation.
|
|
113
124
|
Use mainly for longer typing session with the [keyboard](#virtual-keyboard-advanced) option, e.g. to make notes.
|
|
114
125
|
There are many [vosk models](https://alphacephei.com/vosk/models) available, and here a few are associated to [a handful of languages](scribe/models.toml) `en`, `fr`, `it`, `de` (so far).
|
|
115
126
|
|
|
@@ -132,8 +143,7 @@ scribe --keyboard
|
|
|
132
143
|
```
|
|
133
144
|
|
|
134
145
|
It relies on the optional `pynput` dependency (installed together with `scribe` if you used the `[all]` or `[keyboard]` option).
|
|
135
|
-
|
|
136
|
-
`pynput` may require [some configuration](https://pynput.readthedocs.io/en/latest/limitations.html). It has [limitations]((https://pynput.readthedocs.io/en/latest/limitations.html)).
|
|
146
|
+
Depending on your operating system, `pynput` may require additional configuration to work around its [limitations](https://pynput.readthedocs.io/en/latest/limitations.html).
|
|
137
147
|
|
|
138
148
|
#### Use the keyboard in Ubuntu
|
|
139
149
|
|
|
@@ -141,14 +151,15 @@ In my Ubuntu + Wayland system the keyboard simulation works out-of-the-box in ch
|
|
|
141
151
|
|
|
142
152
|
One workaround is to use the Xorg version of GNOME: in `etc/gdm3/custom.conf` uncomment `# WaylandEnable=false` and restart your computer.
|
|
143
153
|
|
|
144
|
-
Another workaround with Wayland is to use the low-level `uinput` backend but that requires that `scribe` is run as root (sudo), and likely other configurations like activating the `uinput` system module (`sudo modprobe uinput` for a one-time test, or adding `uinput` to `/etc/modules-load.d/modules.conf` to make that persistent).
|
|
154
|
+
Another workaround while staying with Wayland is to use the low-level `uinput` backend of `pynput`, but that requires that `scribe` is run as root (sudo), and likely other configurations like activating the `uinput` system module (`sudo modprobe uinput` for a one-time test, or adding `uinput` to `/etc/modules-load.d/modules.conf` to make that persistent).
|
|
155
|
+
Moreover, the keyboard must be set with an appropriate layout, for example to have the letter `é` you'd want a French or Italian layout otherwise the English will drop it or replace with something else. Another caveat I encountered is that the special characters (`é`) were inserted at the wrong place. Adding a small delay was enough to fix that with the additional parameter `--latency 0.01` Finally if you run as sudo you may need to reset some environment variable so that the list of audio devices (`XDG_RUNTIME_DIR`) and the download folder remain the same. To sum-up, that gives something like:
|
|
145
156
|
```bash
|
|
146
157
|
sudo modprobe uinput
|
|
147
158
|
sudo HOME=$HOME XDG_RUNTIME_DIR=$XDG_RUNTIME_DIR PYNPUT_BACKEND_KEYBOARD=uinput $(which scribe) --latency 0.01
|
|
148
159
|
```
|
|
149
160
|
You're on the right path :)
|
|
150
161
|
|
|
151
|
-
### System
|
|
162
|
+
### System tray icon (experimental)
|
|
152
163
|
|
|
153
164
|
To avoid switching back and forth with the terminal, it's possible to interact with the program via an icon tray.
|
|
154
165
|
To activate start with:
|
|
@@ -1,16 +1,25 @@
|
|
|
1
|
+
[]()
|
|
2
|
+
[](https://pypi.org/project/papers-cli)
|
|
3
|
+
|
|
1
4
|
# Scribe
|
|
2
5
|
|
|
3
|
-
`scribe` is a local speech recognition tool that provides real-time transcription using vosk and whisper AI, with the goal of serving as a virtual keyboard.
|
|
6
|
+
`scribe` is a local speech recognition tool that provides real-time transcription using vosk and whisper AI, with the goal of serving as a virtual keyboard on a computer.
|
|
7
|
+
|
|
8
|
+
## Compatibility
|
|
9
|
+
|
|
10
|
+
In principle `scribe` is compatible with any OS but I develop it under Ubuntu (Wayland) and develop it for my own purposes so glitches are likely on other configurations.
|
|
11
|
+
As of February 19, 2025 python 13 is not supported (I can't recall now which dependency is to blame).
|
|
12
|
+
A test on Mac OS (M1 Air with 8Gb RAM) worked with python 12, though with a much inferior performance compared to my own system (Lenovo T14 Gen 5 with i5 125U 32 Gb RAM).
|
|
4
13
|
|
|
5
14
|
## Installation
|
|
6
15
|
|
|
7
|
-
Install PortAudio library. E.g. on Ubuntu:
|
|
16
|
+
Install PortAudio library and xclip library. E.g. on Ubuntu:
|
|
8
17
|
|
|
9
18
|
```bash
|
|
10
|
-
sudo apt-get install portaudio19-dev
|
|
19
|
+
sudo apt-get install portaudio19-dev xclip
|
|
11
20
|
```
|
|
12
21
|
|
|
13
|
-
The python dependencies should be dealt with automatically:
|
|
22
|
+
See additional requirements for the [icon tray](#system-tray-icon-experimental) and [keyboard](#virtual-keyboard-experimental) options. The python dependencies should be dealt with automatically:
|
|
14
23
|
|
|
15
24
|
```bash
|
|
16
25
|
pip install scribe-cli[all]"
|
|
@@ -50,8 +59,7 @@ but it cannot do real-time, and depending on the model can have relatively long
|
|
|
50
59
|
With the `whisker` model you need to stop the registration manually before the transcription occurs (Ctrl + C), though
|
|
51
60
|
there is a maximum duration after which it will stop by itself, which is setup to 60s by default (unless `--duration` is set to something else).
|
|
52
61
|
|
|
53
|
-
The `vosk` backend is good at
|
|
54
|
-
doing real-time transcription for one language, but tended to make more mistakes in my tests and it does not do punctuation.
|
|
62
|
+
The `vosk` backend is much faster and very good at doing real-time transcription for one language, but tended to make more mistakes in my tests and it does not do punctuation.
|
|
55
63
|
Use mainly for longer typing session with the [keyboard](#virtual-keyboard-advanced) option, e.g. to make notes.
|
|
56
64
|
There are many [vosk models](https://alphacephei.com/vosk/models) available, and here a few are associated to [a handful of languages](scribe/models.toml) `en`, `fr`, `it`, `de` (so far).
|
|
57
65
|
|
|
@@ -74,8 +82,7 @@ scribe --keyboard
|
|
|
74
82
|
```
|
|
75
83
|
|
|
76
84
|
It relies on the optional `pynput` dependency (installed together with `scribe` if you used the `[all]` or `[keyboard]` option).
|
|
77
|
-
|
|
78
|
-
`pynput` may require [some configuration](https://pynput.readthedocs.io/en/latest/limitations.html). It has [limitations]((https://pynput.readthedocs.io/en/latest/limitations.html)).
|
|
85
|
+
Depending on your operating system, `pynput` may require additional configuration to work around its [limitations](https://pynput.readthedocs.io/en/latest/limitations.html).
|
|
79
86
|
|
|
80
87
|
#### Use the keyboard in Ubuntu
|
|
81
88
|
|
|
@@ -83,14 +90,15 @@ In my Ubuntu + Wayland system the keyboard simulation works out-of-the-box in ch
|
|
|
83
90
|
|
|
84
91
|
One workaround is to use the Xorg version of GNOME: in `etc/gdm3/custom.conf` uncomment `# WaylandEnable=false` and restart your computer.
|
|
85
92
|
|
|
86
|
-
Another workaround with Wayland is to use the low-level `uinput` backend but that requires that `scribe` is run as root (sudo), and likely other configurations like activating the `uinput` system module (`sudo modprobe uinput` for a one-time test, or adding `uinput` to `/etc/modules-load.d/modules.conf` to make that persistent).
|
|
93
|
+
Another workaround while staying with Wayland is to use the low-level `uinput` backend of `pynput`, but that requires that `scribe` is run as root (sudo), and likely other configurations like activating the `uinput` system module (`sudo modprobe uinput` for a one-time test, or adding `uinput` to `/etc/modules-load.d/modules.conf` to make that persistent).
|
|
94
|
+
Moreover, the keyboard must be set with an appropriate layout, for example to have the letter `é` you'd want a French or Italian layout otherwise the English will drop it or replace with something else. Another caveat I encountered is that the special characters (`é`) were inserted at the wrong place. Adding a small delay was enough to fix that with the additional parameter `--latency 0.01` Finally if you run as sudo you may need to reset some environment variable so that the list of audio devices (`XDG_RUNTIME_DIR`) and the download folder remain the same. To sum-up, that gives something like:
|
|
87
95
|
```bash
|
|
88
96
|
sudo modprobe uinput
|
|
89
97
|
sudo HOME=$HOME XDG_RUNTIME_DIR=$XDG_RUNTIME_DIR PYNPUT_BACKEND_KEYBOARD=uinput $(which scribe) --latency 0.01
|
|
90
98
|
```
|
|
91
99
|
You're on the right path :)
|
|
92
100
|
|
|
93
|
-
### System
|
|
101
|
+
### System tray icon (experimental)
|
|
94
102
|
|
|
95
103
|
To avoid switching back and forth with the terminal, it's possible to interact with the program via an icon tray.
|
|
96
104
|
To activate start with:
|
|
@@ -5,7 +5,7 @@ build-backend = "setuptools.build_meta"
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "scribe-cli"
|
|
7
7
|
dynamic = ["version"]
|
|
8
|
-
description = "scribe is a local speech recognition tool that provides real-time transcription using vosk and whisper AI
|
|
8
|
+
description = "scribe is a local speech recognition tool that provides real-time transcription using vosk and whisper AI, with the goal of serving as a virtual keyboard on a computer"
|
|
9
9
|
authors = [
|
|
10
10
|
{ name="Mahé Perrette", email="mahe.perrette@gmail.com" }
|
|
11
11
|
]
|
|
@@ -18,9 +18,7 @@ dependencies = [
|
|
|
18
18
|
"tqdm",
|
|
19
19
|
"requests",
|
|
20
20
|
"pyperclip",
|
|
21
|
-
"pystray",
|
|
22
21
|
]
|
|
23
|
-
optional-dependencies = { keyboard = ["pynput"], whisper = ["openai-whisper"], vosk = ["vosk"], all = ["pynput", "openai-whisper", "vosk"] }
|
|
24
22
|
|
|
25
23
|
classifiers = [
|
|
26
24
|
"Programming Language :: Python :: 3",
|
|
@@ -39,6 +37,14 @@ keywords = [
|
|
|
39
37
|
"clipboard",
|
|
40
38
|
]
|
|
41
39
|
|
|
40
|
+
[project.optional-dependencies]
|
|
41
|
+
keyboard = ["pynput"]
|
|
42
|
+
whisper = ["openai-whisper"]
|
|
43
|
+
vosk = ["vosk"]
|
|
44
|
+
app = ["pystray", "PyGObject"]
|
|
45
|
+
all = ["pynput", "openai-whisper", "vosk", "pystray"]
|
|
46
|
+
|
|
47
|
+
|
|
42
48
|
[tool.setuptools]
|
|
43
49
|
packages = [ "scribe", "scribe_data" ]
|
|
44
50
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
Metadata-Version: 2.2
|
|
2
2
|
Name: scribe-cli
|
|
3
|
-
Version: 0.7.
|
|
4
|
-
Summary: scribe is a local speech recognition tool that provides real-time transcription using vosk and whisper AI
|
|
3
|
+
Version: 0.7.6
|
|
4
|
+
Summary: scribe is a local speech recognition tool that provides real-time transcription using vosk and whisper AI, with the goal of serving as a virtual keyboard on a computer
|
|
5
5
|
Author-email: Mahé Perrette <mahe.perrette@gmail.com>
|
|
6
6
|
License: MIT License
|
|
7
7
|
|
|
@@ -44,31 +44,43 @@ Requires-Dist: sounddevice
|
|
|
44
44
|
Requires-Dist: tqdm
|
|
45
45
|
Requires-Dist: requests
|
|
46
46
|
Requires-Dist: pyperclip
|
|
47
|
-
Requires-Dist: pystray
|
|
48
47
|
Provides-Extra: keyboard
|
|
49
48
|
Requires-Dist: pynput; extra == "keyboard"
|
|
50
49
|
Provides-Extra: whisper
|
|
51
50
|
Requires-Dist: openai-whisper; extra == "whisper"
|
|
52
51
|
Provides-Extra: vosk
|
|
53
52
|
Requires-Dist: vosk; extra == "vosk"
|
|
53
|
+
Provides-Extra: app
|
|
54
|
+
Requires-Dist: pystray; extra == "app"
|
|
55
|
+
Requires-Dist: PyGObject; extra == "app"
|
|
54
56
|
Provides-Extra: all
|
|
55
57
|
Requires-Dist: pynput; extra == "all"
|
|
56
58
|
Requires-Dist: openai-whisper; extra == "all"
|
|
57
59
|
Requires-Dist: vosk; extra == "all"
|
|
60
|
+
Requires-Dist: pystray; extra == "all"
|
|
61
|
+
|
|
62
|
+
[]()
|
|
63
|
+
[](https://pypi.org/project/papers-cli)
|
|
58
64
|
|
|
59
65
|
# Scribe
|
|
60
66
|
|
|
61
|
-
`scribe` is a local speech recognition tool that provides real-time transcription using vosk and whisper AI, with the goal of serving as a virtual keyboard.
|
|
67
|
+
`scribe` is a local speech recognition tool that provides real-time transcription using vosk and whisper AI, with the goal of serving as a virtual keyboard on a computer.
|
|
68
|
+
|
|
69
|
+
## Compatibility
|
|
70
|
+
|
|
71
|
+
In principle `scribe` is compatible with any OS but I develop it under Ubuntu (Wayland) and develop it for my own purposes so glitches are likely on other configurations.
|
|
72
|
+
As of February 19, 2025 python 13 is not supported (I can't recall now which dependency is to blame).
|
|
73
|
+
A test on Mac OS (M1 Air with 8Gb RAM) worked with python 12, though with a much inferior performance compared to my own system (Lenovo T14 Gen 5 with i5 125U 32 Gb RAM).
|
|
62
74
|
|
|
63
75
|
## Installation
|
|
64
76
|
|
|
65
|
-
Install PortAudio library. E.g. on Ubuntu:
|
|
77
|
+
Install PortAudio library and xclip library. E.g. on Ubuntu:
|
|
66
78
|
|
|
67
79
|
```bash
|
|
68
|
-
sudo apt-get install portaudio19-dev
|
|
80
|
+
sudo apt-get install portaudio19-dev xclip
|
|
69
81
|
```
|
|
70
82
|
|
|
71
|
-
The python dependencies should be dealt with automatically:
|
|
83
|
+
See additional requirements for the [icon tray](#system-tray-icon-experimental) and [keyboard](#virtual-keyboard-experimental) options. The python dependencies should be dealt with automatically:
|
|
72
84
|
|
|
73
85
|
```bash
|
|
74
86
|
pip install scribe-cli[all]"
|
|
@@ -108,8 +120,7 @@ but it cannot do real-time, and depending on the model can have relatively long
|
|
|
108
120
|
With the `whisker` model you need to stop the registration manually before the transcription occurs (Ctrl + C), though
|
|
109
121
|
there is a maximum duration after which it will stop by itself, which is setup to 60s by default (unless `--duration` is set to something else).
|
|
110
122
|
|
|
111
|
-
The `vosk` backend is good at
|
|
112
|
-
doing real-time transcription for one language, but tended to make more mistakes in my tests and it does not do punctuation.
|
|
123
|
+
The `vosk` backend is much faster and very good at doing real-time transcription for one language, but tended to make more mistakes in my tests and it does not do punctuation.
|
|
113
124
|
Use mainly for longer typing session with the [keyboard](#virtual-keyboard-advanced) option, e.g. to make notes.
|
|
114
125
|
There are many [vosk models](https://alphacephei.com/vosk/models) available, and here a few are associated to [a handful of languages](scribe/models.toml) `en`, `fr`, `it`, `de` (so far).
|
|
115
126
|
|
|
@@ -132,8 +143,7 @@ scribe --keyboard
|
|
|
132
143
|
```
|
|
133
144
|
|
|
134
145
|
It relies on the optional `pynput` dependency (installed together with `scribe` if you used the `[all]` or `[keyboard]` option).
|
|
135
|
-
|
|
136
|
-
`pynput` may require [some configuration](https://pynput.readthedocs.io/en/latest/limitations.html). It has [limitations]((https://pynput.readthedocs.io/en/latest/limitations.html)).
|
|
146
|
+
Depending on your operating system, `pynput` may require additional configuration to work around its [limitations](https://pynput.readthedocs.io/en/latest/limitations.html).
|
|
137
147
|
|
|
138
148
|
#### Use the keyboard in Ubuntu
|
|
139
149
|
|
|
@@ -141,14 +151,15 @@ In my Ubuntu + Wayland system the keyboard simulation works out-of-the-box in ch
|
|
|
141
151
|
|
|
142
152
|
One workaround is to use the Xorg version of GNOME: in `etc/gdm3/custom.conf` uncomment `# WaylandEnable=false` and restart your computer.
|
|
143
153
|
|
|
144
|
-
Another workaround with Wayland is to use the low-level `uinput` backend but that requires that `scribe` is run as root (sudo), and likely other configurations like activating the `uinput` system module (`sudo modprobe uinput` for a one-time test, or adding `uinput` to `/etc/modules-load.d/modules.conf` to make that persistent).
|
|
154
|
+
Another workaround while staying with Wayland is to use the low-level `uinput` backend of `pynput`, but that requires that `scribe` is run as root (sudo), and likely other configurations like activating the `uinput` system module (`sudo modprobe uinput` for a one-time test, or adding `uinput` to `/etc/modules-load.d/modules.conf` to make that persistent).
|
|
155
|
+
Moreover, the keyboard must be set with an appropriate layout, for example to have the letter `é` you'd want a French or Italian layout otherwise the English will drop it or replace with something else. Another caveat I encountered is that the special characters (`é`) were inserted at the wrong place. Adding a small delay was enough to fix that with the additional parameter `--latency 0.01` Finally if you run as sudo you may need to reset some environment variable so that the list of audio devices (`XDG_RUNTIME_DIR`) and the download folder remain the same. To sum-up, that gives something like:
|
|
145
156
|
```bash
|
|
146
157
|
sudo modprobe uinput
|
|
147
158
|
sudo HOME=$HOME XDG_RUNTIME_DIR=$XDG_RUNTIME_DIR PYNPUT_BACKEND_KEYBOARD=uinput $(which scribe) --latency 0.01
|
|
148
159
|
```
|
|
149
160
|
You're on the right path :)
|
|
150
161
|
|
|
151
|
-
### System
|
|
162
|
+
### System tray icon (experimental)
|
|
152
163
|
|
|
153
164
|
To avoid switching back and forth with the terminal, it's possible to interact with the program via an icon tray.
|
|
154
165
|
To activate start with:
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|