Well, if such a thing has gone (
Topic 1 ,
Topic 2 )
In the end, IT resource shny, can we write the program by joint efforts?For neither AML, nor Punto do not like many, and other handicrafts do not even reach these programs.
I will speak further under win, because I know her most api. If someone can do the same for MAC / * NIX - you are welcome here in the comments.
')
What comes out of the general discussion:
- change the layout of the selected text
- change the layout of the typed text
- the current layout icon should be displayed at the position of the mouse cursor
- the current layout icon should be displayed in the caret position
- The current layout icon should be displayed in a floating window with TOPMOST style so that it can be fixed somewhere
- When changing the layout, you can light certain lights / throw data into the port / or something else
I propose to do it in pure C / C ++ and WinAPI - because it will be quick and easy - well, in my opinion.
I propose to implement the variants with switching reaction to implement plug-ins - greater freedom for creativity and convenience for the end user. Under win in the form of dll with the stipulated functions.
Now thinking:
n1 how to do - more or less clear. problems - you will most likely have to be injected into the process - xs as under 7 and will behave.
n2 is a poor idea of ​​the algorithm because somehow you need to understand the beginning of the end + dialing, it is desirable to auto-switch to implement as in punto => you need to know the auto-switch algorithm yet.
P3 option is this - try to get the data of the current system mouse cursor for the text, put an icon on it and set it. It seems to be a ride.
P4, but with a carriage - I don’t know - can anyone have experience? for it is not difficult to change it, but firstly it is again an injection, secondly it is cleverly processed there when WM_PAINT - you need to manage to put out the carriage and then show it again ... Again, could anyone have experience?
There is another option - not to change the carriages in accordance with the language, but to determine its screen coordinates, and to draw the indicator side by side - it seems to me even more convenient.
P5-P6 how to make - quite clear. Alternatively, another plug-in can offer OSD, as in TVs.
Those. in general, as I understand it, it will be necessary to solve all this through hooks anyway. It is not clear just how to be with injections - and without them, in my opinion, is not enough.
What do you think, gentlemen IT-shiki? Who had experience of communication at a low level with GUI under Windows and other wasps?PS In the comments suggested:
- AutoCorrect is often used - which I also used - I just forgot it, so it's also a useful function
- shutdown in fullscreen applications
- for autoswitching to make rules in which applications do not work