Inkeys: a Windows screen overlay you draw on directly
将你的创意随心所欲地书写在屏幕的任意角落。智绘教Inkeys 拥有丝滑流畅的高性能画笔、丰富强大的功能,以及众多贴心小设计,全面提升你的效率与使用体验。 | Unleash your creativity by writing anywhere on your screen with ease. Inkeys brings you ultra-smooth, high-performance brushes, a powerful array of features, and numerous thoughtful design touches to elevate your efficiency and user experience.
At a glance
- What is it?
- Inkeys, formerly Intelligent-Drawing-Teaching, is a C++20 Windows program for annotating the screen with a brush. It ships as signed binaries, builds from a Visual Studio solution, and is licensed GPL-3.0 with a separate terms of use.
- Who is it for?
- Inkeys fits Windows users who want to mark up the screen without leaving the application underneath, and it fits contributors who want to read a C++20 codebase that ships a real signing and third-party licence process. It does not fit macOS or Linux users, since the requirement is Windows 7 RTM or newer on 32-bit, 64-bit or Arm64, and it does not fit teams that need a permissive licence, because the repository is GPL-3.0 with a separate terms of use at inkeys.top.
- 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 received new commits within the last day.
- What is it written in?
- Mainly C++, 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
A drawing surface that floats over your desktop
Inkeys is a Windows program whose purpose is narrow and clear: write anywhere on the screen, on top of whatever is already open. The project description puts it as writing your ideas on any corner of the screen, with brushes the author describes as high performance and a set of small conveniences aimed at efficiency. It is written in C++20 and was built for Windows specifically.
The name changed. The project was originally Intelligent-Drawing-Teaching, abbreviated IDT, and the old IDT repository still hosts the older readme. Version intro videos for 24H1 and 24H2 live on Bilibili. The current name is 智绘教Inkeys, and the source tree keeps a Chinese name for the main project directory alongside 智绘教.sln, the Visual Studio solution at the repository root.
Who this is for is easy to infer from the form factor. Teachers annotating slides, reviewers marking up a screen, anyone sketching an idea over a browser without switching to a paint program. It is not a general drawing application with a document model, and it is not a plugin for any host editor. It is a desktop overlay, which means its value depends entirely on how well it stays out of the way and how responsive the brush feels under a stylus or a finger.
Three branches, three very different promises
The branch layout is the clearest signal about maintenance risk in this repository, and it is unusual enough to read carefully before you clone anything.
The main branch holds the source for the last released, stable, buildable version. The insider branch holds the previous preview release, and the project warns it may be unstable and carry a fair number of code bugs. The dev branch is updated daily from an automatic source save and may not build.
That last clause matters more than it first appears. A daily mirror is convenient for reading what is coming, but if you build from dev you accept a tree that the project itself declines to promise compiles. For a drawing tool whose core promise is responsiveness, shipping from an unbuildable branch is a bad trade. The sensible sequence is dev for reading, insider for testing new behaviour, main for anything you hand to other people.
The release tags follow a date-stamped pattern, with 20260713a from 2026-07-17, 20260502a from 2026-05-03 and 20260206a from 2026-02-06. The last push was on 2026-10-19, so work continues after the newest tag, and the gap between a tag and the branch state is where you will find the changes that are not yet in a numbered build.
Building from source means the Visual Studio solution
There is no package manager entry and no build script in the repository listing. The compiler route is a Visual Studio solution named 智绘教.sln, sitting at the repository root next to the project directory 智绘教/, with auxiliary folders for GitHub Actions resources in ActionsRes/, documentation assets in GithubRes/, third-party licence texts in ThirdpartyLicenses/ and the terms of use under TOS/.
The step by step procedure is not in the README. It lives in a separate document, GithubRes/CompilationProcess_zh-CN.md, and that file is the only instruction the project gives for turning the tree into a binary. Anyone expecting a cmake line, a vcpkg manifest or a container image will not find one here, so budget for reading the Chinese-language build guide and for having a C++20 toolchain with the Windows SDK.
The target platform floor is low and explicit: the minimum is Windows 7 RTM, service pack 0, and 32-bit, 64-bit and Arm64 systems are all supported. That is a wider architecture range than most modern Windows tooling still bothers to test, and it shapes the binary distribution story described below.
Dear ImGui, OpenSSL and a licence table you actually have to read
Inkeys leans on a large set of third-party components, and the project keeps their licences visible rather than hiding them in a build folder. The NOTICE file holds the main component declarations, and ThirdpartyLicenses/ collects the licence texts themselves.
The list spans more than one category. Rendering and UI work comes from Dear ImGui, stb, sammycage/lunasvg and sammycage/plutovg, plus HiEasyX and EasyX. Infrastructure comes from abseil, spdlog, concurrentqueue, libcuckoo, unordered_dense, hashlibpp and cpp-httplib. Two entries stand out for a different reason: google/ink-stroke-modeler, the ink stroke model, and OpenSSL, which points to network or update functionality. Alan-CRL/DesktopDrawpadBlocker is also listed as a component.
The licences are mixed: Apache 2.0 for abseil and ink-stroke-modeler, MIT for Dear ImGui, spdlog, stb, jsoncpp, lunasvg, plutovg, cpp-httplib, WinToast and unordered_dense, and GPL-3.0 for DesktopDrawpadBlocker. The project also names Zip Utils and EasyX as components under terms set by their own sites, and it states plainly that in case of conflict with the third-party licences, the third-party terms govern the use, copying, modification and distribution of those components. EasyX in particular is not covered by the repository's GPL grant, so a redistributor has to read EasyX's terms separately.
Signed binaries, and three places to get them
Shipping a Windows executable that touches the whole screen raises an obvious objection about unsigned binaries, and Inkeys answers it with a signing process rather than a promise. The project documents free code signing on Windows provided by SignPath.io with a certificate from the SignPath Foundation. Submitters and reviewers are the team members, and Alan-CRL is the approver.
The binaries are reachable three ways: the official download page at inkeys.top/download, a login-free cloud drive mirror, and the GitHub release attachments. The download page and the release attachments are the channels to trust for a fresh build, since the signed pipeline is tied to the release process, while the cloud drive exists for people who cannot reach the site. Version intros for 25H2 and older builds are on Bilibili rather than in the repository, so the repository itself is thin on visual documentation of what the interface looks like.
The homepage is www.inkeys.top. The terms of use are at inkeys.top/tos/zh-cn with a mirrored copy at TOS/zh-CN.md, and using the software means agreeing to them. That is a second obligation on top of the GPL, and it is the piece most likely to matter if you intend to redistribute a build inside an organisation.
Where Inkeys is the wrong choice
Three limits are concrete enough to decide against the project.
It is Windows only. There is no macOS or Linux build, and the project says it was built for the Windows platform. If your annotation habit is tied to a Mac or a Linux desktop, this is a hard stop rather than a rough edge, since the code is C++20 with a Windows solution file and a Windows 7 floor.
The licence and the terms of use are two separate instruments. The repository is licensed under the GNU General Public License v3.0, which carries real obligations if you distribute a modified or linked build, and the software additionally requires agreement to the Inkeys terms of use. Teams that need permissive licensing for embedding in a product will find neither of these acceptable, and the components add their own layer on top.
Third-party terms reach further than the GPL does, since EasyX and Zip Utils are governed by their own sites and the project explicitly defers to those terms on conflict. Finally, the documentation is thin for contributors. There is no API or plugin guide in the repository listing, no developer documentation beyond the build walkthrough, and no performance figures of any kind, so claims about brush latency or frame rate have to be established by a user on their own hardware.
Editorial conclusion
Inkeys fits Windows users who want to mark up the screen without leaving the application underneath, and it fits contributors who want to read a C++20 codebase that ships a real signing and third-party licence process. It does not fit macOS or Linux users, since the requirement is Windows 7 RTM or newer on 32-bit, 64-bit or Arm64, and it does not fit teams that need a permissive licence, because the repository is GPL-3.0 with a separate terms of use at inkeys.top. Before adopting, read TOS/zh-CN.md next to the GPL text, check the NOTICE and ThirdpartyLicenses directories for the licence of every bundled component, and pick a branch deliberately: main for the last stable build, insider for the preview, dev for the daily source dump that may not compile at all.
Frequently asked questions
What is Inkeys and what was it called before?
Inkeys, written 智绘教Inkeys, is a C++20 Windows program for writing anywhere on the screen with high performance brushes. It was originally named Intelligent-Drawing-Teaching, abbreviated IDT, and the older readme is still reachable from the IDT repository.
How do I download or build Inkeys?
Prebuilt binaries are on the official download page at inkeys.top/download, with a login-free cloud drive mirror and GitHub release attachments as alternatives. To build from source, open 智绘教.sln in Visual Studio and follow the procedure in GithubRes/CompilationProcess_zh-CN.md.
What are the Inkeys branches and which one should I use?
The main branch holds the source of the last released stable build, insider holds the previous preview and may contain bugs, and dev is updated daily from an automatic source save and may not build. Use main for anything you distribute.
What are the system requirements for Inkeys?
The minimum supported system is Windows 7 RTM with service pack 0. Support covers 32-bit, 64-bit and Arm64 systems.
What license does Inkeys use and are the binaries signed?
The project is licensed under the GNU General Public License v3.0, and using the software also requires agreeing to the Inkeys terms of use, mirrored in the repository under TOS/. Windows builds are code signed through SignPath.io with a certificate from the SignPath Foundation.
Official sources
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.
[](https://hysenlabs.com/projects/alan-crl-inkeys)Was this useful?