This post is only for those interested in hard-core deep-level computer programming.
It was driving me crazy that my dear Bohemicus would not 100% work with some online CAT tools… well, it sort of works, it is still very well usable, but not to 100%. And what’s the problem? The problem is that the Ctrl+Insert keyboard combo that is often used to insert text from source to target segment. This is a crutial functionality for Bohemicus, and without it, Bohemicus is somehow limited. It works well if you physically press it on your keyboard, but would stop working when you try to send it as a sendkey from Bohemicus.
This intrigued me a lot…. I even attempted sending physical scancodes to other applications, but to no avail….. and I felt: why in bloody hell would this not work?
After endless hours of researching, I found 2 reasons:
1. It seems that Firefox/Chrome/Edge simply block the Insert key. They just decided too many users were annoyed by this INS/OVR feature and so they simply turned the INSERT key off. And it cannot be turned back on. But still, using a PHYSICAL keyboard, it was possible to press the Ctrl+Insert combo to insert text from the source.
2. As it turns out, Windows applications have some means to distinguish between physical and virtual keyboard presses, it’s the LLKHF_INJECTED flag that is raised by Windows everytime an application tries to send a virtual keystroke to some other application…. so this is how applications can identify spoofed keystrokes.
And what it all means for me, the creator of Bohemicus? Basically, I can only see one solution to this problem: write my own keyboard driver that would work in conjunction with Bohemicus so that Windows really thinks this is a real physical keyboard. Hmmm, I have never written any driver…. looks like some studying lies ahead….
Edit (May 12, 2021): Ok, turns out I was wrong. The solution is much more simple. The primary cause of all these problems is the Insert key... There are actually 2 Insert keys on a PC keyboard: 1 is grey in the Insert/Del/Home/End/PgUp/PgDn group, the other one is the Numpad0, in the numeric block. And they have different keyboard scancodes. The grey one must be escaped by the 0xE0 value when sending scancodes. More info can be found in this great article that made me finally realize where the problem was: https://www.michaelwda.com/post/scancodes
This is the piece of code that explains it all:
What it means: In order to send the correct grey Insert key scancode, 2 scan codes must be actually sent: the escaping 0xe0, followed by the actual Insert key scancode (0x52). Also, dwFlags and VirtualKeyCode must be set to 0 when sending the escaping code (0xe0). Took me 3 days to figure this out….
Thank you very much Michael!
You can now translate MS Word/Excel files directly using ChatGPT-4o, DeepL, ModernMT,... Read More
Users on Windows 7 might have experienced issues when activating Bohemicus. This was due to my... Read More
Voicetyping requirements These were my requirements when creating the voicetyping feature... Read More
People usually try to export their files from Across to e.g. Trados, because Across is a pain... Read More
This is how you REMOVE your machine-translation markers from your memoQ files:... Read More
I have added support for the latest iteration of ChatGPT, the gpt-4o version. Simply select it... Read More
I have improved the DeepL glossaries functionality - Bohemicus will now go through your glossary... Read More
Create and use your own DeepL glossaries... You can create a glossary for DeepL manually... Read More
You can rephrase any text in many languages using ChatGPT You can rephrase any text in many... Read More
Use artificial intelligence to automatically create your glossaries You can now use... Read More
Dear Translator, in the video below, I am going to show you how you can easily use machine... Read More
Me pretending some work… I have been a professional technical translator since 2007, ... Read More
Learn how to use Bohemicus with Crowdin I am going to show you how you can very effectively use... Read More
What's new: improved machine-translation-marks remover, now removes also the AMT marks... Read More
If you are a translator, I am sure, you want to make more money. Just like everyone. But well,... Read More
You can use Bohemicus to keep track of your business records, and to issue invoices. Before you... Read More
This feature can be very helpful when you need to preview the content of a Trados package. For... Read More
You can very easily remove those light-blue AT or NMT marks in machine-translated... Read More
This has happened a couple of times to me: I just forgot to do a job! This usually happens to me... Read More
This post can especially be useful to users of older SDL Studio versions. If you are using newer... Read More
What's new Support for online CAT tools (SmartCat, Crowdin, XTM, Coach...) has been... Read More
The PDF format is truly ingenious - documents in the PDF format will appear exactly as... Read More
Before I explain the basic idea behind all CAT tools, let me consider the naive approach to... Read More
This post is only for those interested in hard-core deep-level computer programming. It was... Read More
Translating a webpage is a very easy task... if you know how to do it. Definition of a... Read More
Yes, this is indeed possible. I remember those times 13 years back when translating 5000... Read More
This is a short video on how you can configure the Across CAT tool (made by Across GmbH, Germany) ... Read More
These are a few tips I would give to every aspiring translator trying to start his/her career... Read More
(from the translator's perspective) This article is based on my 13 years of experience... Read More
The raison d'etre The Ctrl+Alt+Space shortcut was originally conceived to deal with the... Read More
The new version of Bohemicus is out! What's new: 1) added support for Memsource 2)... Read More
These are the 10 features of Bohemicus I use every day. You can watch this video to see... Read More
Unit conversion is something you will definitely encounter when working as a... Read More
What are they? As soon as you try to machine translate just about anything in any major... Read More
Definition of a clipboard manager For those who don't know what a clipboard manager is.... Read More
So, this is the core idea of Bohemicus: Let's create an interface between you and your CAT... Read More
This is the story of how I became a professional translator. The beginnings I certainly... Read More
So, I suppose, the original idea of a CAT tool was something like this: Let's create a... Read More
And why do some people seem to utterly hate it ...without even trying it out? Am I getting... Read More
I have never really understood this concept. So, an agency requires you to do a translation... Read More
Why is file extension rename useful? You can very easily rename a file extension. This... Read More
You can very easily and conveniently send large files up to 100 MB through the Bohemicus... Read More
What are hotkeys? Hotkeys are the heart of Bohemicus. They are simply combinations of... Read More
If you want to use the speech-to-text feature, you can connect your Android phone/tablet also... Read More
What is it good for? You can very quickly and easily open your pre-defined folders just by... Read More
Setting it up Machine translation is very easy in Bohemicus. First, you need to set it up -... Read More
You can very easily and conveniently launch the Windows Snipping Tool to make screenshots by... Read More
What are hints in hintboxes Every time you press the Ctrl key, a couple of semi-transparent... Read More
Activating Bohemicus is easy. You will need your activation code that you received upon your... Read More
Prerequisities 1. In order to receive a Google API translation key, you will need a Google... Read More
You should set up Bohemicus before you run it for the first time. Set up the machine... Read More
If you want to work with online CAT tools, such as SmartCat, XTM, Crowdin, Coach, etc..., just... Read More
Converting metric/imperial units is very easy with Bohemicus. You can set up 3 hotkeys to... Read More
Now, let's see how to connect your Android phone to your Windows and then to Bohemicus. If... Read More
Why you should use Bluetooth Bluetooth is the preferred way of connecting Bohemicus both in... Read More
In Bohemicus, you can very easily transfer files and folders between 2 or more local computers... Read More
Why do translators and writers take notes Note taking is an important task for all... Read More
How to work with translation memories in Bohemicus Use your own translation memories...... Read More
What is it good for? You can use this function to e. g. distinguish various folders from... Read More
What are they good for? Non-breakable spaces are an important text element in case you want... Read More
We have all been there: you need to google someting, so normally you would just select your... Read More
Quotation marks can be a hassle Different languages use different quotation marks. The... Read More
Make more money as a translator If you are a translator, I am sure, you want to make more... Read More
Bohemicus offers a bunch of text editing features that can be really handy. It is... Read More
Speech recognition, or speech-to-text functionality, or just voice dictation, is... Read More
You can use Bohemicus to interactively search in online dictionaries. How it... Read More
While working with Bohemicus, you can plug-in 2 local offline dictionaries. This can be very... Read More
Voice dictation (speech-to-text functionality) is an extremely important feature of Bohemicus. Why... Read More
ChatGPT 3.5/4 is now supported in Bohemicus to translate using your own glossaries!... Read More
Machine translation can greatly increase your translation speed, there's no doubt about it.... Read More
User using the Windows clipboard What is a clipboard manager? As you probably know there is this... Read More
Here is a video presentation of the Bohemicus Imperial/metric unit conversin... Read More