-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathindex.html
More file actions
254 lines (232 loc) · 13.1 KB
/
Copy pathindex.html
File metadata and controls
254 lines (232 loc) · 13.1 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
<!DOCTYPE html>
<html lang="en">
<head>
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "SoftwareApplication",
"name": "Keyboard Blocker",
"description": "Keyboard Blocker is a free Windows utility to disable and lock keyboard input. Prevent accidental keystrokes during videos, presentations or child use.",
"operatingSystem": "Windows",
"applicationCategory": "UtilityApplication",
"applicationSubCategory": "System Utility",
"offers": {
"@type": "Offer",
"price": "0",
"priceCurrency": "USD",
"availability": "https://schema.org/InStock"
},
"downloadUrl": "https://github.com/ng256/KeyboardBlocker/releases/download/keyblock/Setup.exe",
"softwareVersion": "1.0",
"url": "https://ng256.github.io/KeyboardBlocker/",
"image": "https://ng256.github.io/KeyboardBlocker/icon.png",
"author": {
"@type": "Person",
"name": "Pavel Bashkardin"
}
}
</script>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, viewport-fit=cover">
<meta name="description" content="Keyboard Blocker is a free Windows utility to disable and lock keyboard input. Prevent accidental keystrokes during videos, presentations or child use. Download now.">
<meta name="robots" content="index, follow">
<meta name="theme-color" content="#1a2a3f" media="(prefers-color-scheme: light)">
<meta name="theme-color" content="#121826" media="(prefers-color-scheme: dark)">
<meta property="og:title" content="Keyboard Blocker — Disable Keyboard Input on Windows">
<meta property="og:description" content="Free utility to block and disable keyboard input in Windows">
<meta property="og:type" content="website">
<meta property="og:url" content="https://ng256.github.io/KeyboardBlocker/">
<meta property="og:image" content="https://ng256.github.io/KeyboardBlocker/icon.png">
<meta property="og:image:alt" content="Keyboard Blocker">
<meta property="og:site_name" content="Keyboard Blocker">
<title>Keyboard Blocker — Disable & Lock Keyboard on Windows | Free Download</title>
<link rel="canonical" href="https://ng256.github.io/KeyboardBlocker/">
<link rel="icon" type="image/x-icon" href="icon32.ico">
<link rel="shortcut icon" href="icon32.ico">
<link rel="stylesheet" href="styles.css">
</head>
<body>
<div class="document-container">
<div class="content">
<main>
<!--
Keyboard Blocker - Windows application to block keyboard input
Copyright (c) 2025 Pavel Bashkardin
This file is part of Keyboard Blocker project, released under MIT license.
Description: Readme HTML file
-->
<h1>Keyboard Blocker — Disable Keyboard Input on Windows</h1>
<img
src="https://github.com/ng256/KeyboardBlocker/blob/main/icon.png?raw=true"
alt="Keyboard Blocker Logo"
class="logo"
width="128"
height="128"
>
<div class="badges-container" style="display: flex; gap: 10px; justify-content: left; margin: 16px 0 8px;">
<div class="sf-root" data-id="4069603" data-badge="oss-rising-star-white" data-metadata="achievement=oss-rising-star" style="width:64px">
<a href="https://sourceforge.net/projects/keyboard-blocker/" target="_blank">Keyboard Blocker</a>
</div>
</div>
<p>Copyright © 2025 Pavel Bashkardin</p>
<div class="download-container">
<a href="https://github.com/ng256/KeyboardBlocker/releases/download/keyblock/Setup.exe" class="btn-download">
⬇️ Download Keyboard Blocker Setup
</a>
<span class="download-note">Windows executable (Setup.exe) — latest release</span>
</div>
<h2 id="description">Description</h2>
<p>
<strong>Keyboard Blocker</strong> is a lightweight free Windows utility designed to completely block keyboard input. It
runs silently in the background with a system tray icon (near the clock), making it ideal for preventing accidental
keystrokes (e.g., during video playback or when a child is using the computer).
</p>
<p>
The program uses a low‑level keyboard hook (<code>WH_KEYBOARD_LL</code>) to intercept and discard all keyboard
messages. It is intended for situations where you want to prevent a child (or anyone) from accidentally pressing
keys while watching a video.
</p>
<h3 id="key-features">Key Features</h3>
<ul>
<li><strong>System Tray Integration</strong>: Runs in the background with a tray icon.</li>
<li><strong>Keyword Unblocking</strong>: Type <code>unblock</code> to unblock the keyboard at any time.</li>
<li><strong>Manual Control</strong>: Right-click the tray icon to block/unblock or exit.</li>
<li><strong>Registry Persistence</strong>: Remembers the last blocking state.</li>
<li><strong>Self-Contained Installer</strong>: Easy installation and uninstallation via <code>Setup.exe</code>.</li>
<li><strong>No Admin Rights Required</strong>: Works without administrator privileges.</li>
</ul>
<h2 id="installation">Installation</h2>
<p>
<strong>Using the installer:</strong>
<a href="https://github.com/ng256/KeyboardBlocker/releases/download/keyblock/Setup.exe">Download Setup.exe</a>
and run it. The program will be installed to <code>%APPDATA%\Keyblock</code> and added to Windows startup.<br>
</p>
<h2 id="usage">Usage</h2>
<ul>
<img src="https://github.com/user-attachments/assets/c389bf4f-1008-4945-88fb-02260f01a79f" alt="Block/Unblock tray menu" width="257" height="72">
<li>
<strong>Block/Unblock</strong>:
<ul>
<li>Right-click the tray icon and select <strong>“Block”</strong> or <strong>“Unblock”</strong>.</li>
<li>Type <code>unblock</code> to unblock the keyboard at any time.</li>
</ul>
</li>
<li>
<strong>Exit</strong>:
<ul>
<li>Right-click the tray icon and select <strong>“Exit”</strong>.</li>
</ul>
<img src="https://github.com/user-attachments/assets/0dbcb85e-38f0-4d47-9045-b40f4f6da7cb" alt="Block/Unblock tray menu" width="134" height="79">
</li>
<li>
<strong>Notifications</strong>:
<ul>
<li>Left-click the tray icon to show the current blocking state.</li>
</ul>
<img src="https://github.com/user-attachments/assets/1107608e-2b9a-4a57-aefb-ced1c8312608" alt="Notification example" width="361" height="119">
</li>
</ul>
<p>The program is designed to be as unobtrusive as possible: no windows, only a tray icon and occasional balloons.</p>
<h2 id="uninstallation">Uninstallation</h2>
<ul>
<li>
<strong>Via Installer</strong>:
<ul>
<li>Open <strong>Apps & Features</strong> (or <strong>Programs and Features</strong>).</li>
<li>Find <strong>Keyboard Blocker</strong> and click <strong>Uninstall</strong>.</li>
</ul>
</li>
<li>
<strong>Manual Removal</strong>:
<ul>
<li>Delete the installation folder (<code>%APPDATA%\Keyblock</code>).</li>
<li>
Remove the <strong>“Keyboard Blocker”</strong> entry from Windows startup (via Task Manager or Registry
Editor).
</li>
</ul>
</li>
</ul>
<h2 id="building">Building from source code</h2>
<p>
You can download the source code from the
<a href="https://github.com/ng256/KeyboardBlocker" target="_blank" rel="noopener noreferrer">GitHub repository</a>,
make any changes you want, and build the project yourself to create your own binaries.
</p>
<h3 id="compilation-requirements">Compilation Requirements</h3>
<ul>
<li><p>Windows operating system.</p></li>
<li>
<p>
<strong>MinGW‑w64</strong> compiler (TDM‑GCC recommended) with <code>windres</code> (resource compiler) and
<code>objdump</code> (usually included). The provided build script assumes the compiler is installed at:
<code>C:\Program Files\TDM-GCC-64\bin</code>. If your compiler is located
elsewhere, edit the <code>set PATH=</code> line in <code>build.bat</code>.
</p>
<ul>
<li><a href="https://jmeubank.github.io/tdm-gcc/">TDM-GCC (MinGW-w64)</a></li>
<li><a href="https://www.mingw-w64.org/">Official MinGW-w64</a></li>
</ul>
</li>
<li>
<p><strong>Optional:</strong></p>
<ul>
<li>
<a href="https://upx.github.io/">UPX</a> or
<a href="https://upx.sourceforge.net/">UPX on SourceForge</a> (Ultimate Packer for eXecutables) for
further size reduction.
</li>
<li>
<a href="https://www.win-rar.com/">WinRAR</a> Default path:
<code>C:\Program Files\WinRAR\WinRAR.exe</code>. Change the <code>set PATH=</code> line in
<code>buildsfx.bat</code> if it necessary.
</li>
</ul>
</li>
</ul>
<h3 id="how-to-build">How to Build</h3>
<p>Simply double‑click <code>build.bat</code> or run it from the command prompt.</p>
<p>The script will:</p>
<ol type="1">
<li>Delete old object files and the previous executable.</li>
<li>Compile all the resources script.</li>
<li>Compiles the main application and uninstaller.</li>
<li>Link everything to executable file with optimizations for small size.</li>
<li>Display the list of imported DLLs (to verify no unexpected dependencies).</li>
<li>If UPX is found, compress the executable (optional).</li>
<li>
Create an SFX archive that includes all necessary files and an installation script. Ensure WinRAR is installed
and the path in <code>buildsfx.bat</code> is correctly set to the default or your custom location.
</li>
</ol>
<p>
After a successful build you will find <code>keyblock.exe</code>, <code>uninstall.exe</code> and
<code>setup.exe</code> in the same folder.
</p>
<h2 id="license">License</h2>
<p>
This project is licensed under the <strong>MIT License</strong>. See the <a href="LICENSE">LICENSE</a> file or the
source code headers for details. In short, you may use, copy, modify, merge, publish, distribute, sublicense, and/or
sell copies of the software, provided that the copyright notice and permission notice appear in all copies.
</p>
<h2 id="author">Author</h2>
<p><strong>Pavel Bashkardin</strong></p>
<p>For questions or suggestions, feel free to contact the author via GitHub.</p>
<img
src="https://github.com/ng256/KeyboardBlocker/blob/main/icon.png?raw=true"
alt="Keyboard Blocker Logo"
class="footer-logo"
width="32"
height="32"
>
<div class="github-footer">
<a href="https://github.com/ng256/KeyboardBlocker" target="_blank" rel="noopener noreferrer">
<span class="gh-icon">🐙</span> View source on GitHub · ng256/KeyboardBlocker
</a>
</div>
</main>
</div>
</div>
<script src="webscript.js"></script>
</body>
</html>