How to capture what user is typing
-
Thanks,
I already got notified. but the
notifyCode->ch
is always equals to0
Can you please help to explain how can I check what user is typed?
-
You should read the documentation on those notifications.
SCN_MODIFIED
does not use thech
field, it uses thetext
field because the user could paste multiple characters (or delete a range of text).If indeed you do want individual characters only (and skip any paste/deletes) then you can catch
SCN_CHARADDED
notifications which does usech
. -
I want to be notified when user typed “backspace”, but maybe VK_BACK is the not correct value. or maybe it was not captured in SCN_MODIFIED/CHARADDED. any recommendation?
-
SCN_MODIFIED
does tell you when a character (or range of characters) is deleted, but not necessarily due to the backspace key. ThemodificationType
will have theSC_MOD_DELETETEXT
flag set.If you are needing to capture actual keyboard input and not just changes to the text document then you’ll have to go the subclassing/superclassing route.
-
Yes,
theBACKSPACE
will trigger the notification withSC_MOD_DELETETEXT
bit in the modificationType. Thanks.I got another question.
Currently I bind the hotkey with the function using the menu. But is it possible to hide the menu or is there any another to link the hotkey and func? -
No it is only possible using the
FuncItem
structwhich requires a hotkey.Edit: Actually it doesn’t require a hotkey, however the struct is the only way to register functions with Notepad++…which automatically show up in the menu.
-
How to response the VK_ESCAPE? currently I am binding the ESC on the menu command, it works. but I was wondering whether I can filter the VK_ESCAPE somewhere or I can dynamically bind it as a hotkey for a function.
-
As far as I know you can’t dynamically bind shortcuts.
-
Hi Dali,
I was trying to intercept the user typing by receiving the notification when editor is read-only, so far, it works good. but read-only editor is not an ultimate solution, I wondering is there any way to ignore the key press on the editor and interact with the key pressing?
Regards, -
I’m not sure. I’m not saying it is impossible though, just don’t know how.