<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[How to capture what user is typing]]></title><description><![CDATA[<p dir="auto">Hi,<br />
I am trying to write a plugin which need to capture all what user is typing on the notepad++, even when it is set as “read-only”, so I was considering by filtering the “WM_KEYDOWN” message. but I did not receive these message in messageProc function.<br />
Can someone give some advice? Thanks.<br />
Regards,<br />
Bill</p>
]]></description><link>https://community.notepad-plus-plus.org/topic/12314/how-to-capture-what-user-is-typing</link><generator>RSS for Node</generator><lastBuildDate>Sat, 11 Apr 2026 08:49:08 GMT</lastBuildDate><atom:link href="https://community.notepad-plus-plus.org/topic/12314.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 02 Sep 2016 11:59:05 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to How to capture what user is typing on Wed, 07 Sep 2016 15:09:47 GMT]]></title><description><![CDATA[<p dir="auto">I’m not sure. I’m not saying it is impossible though, just don’t know how.</p>
]]></description><link>https://community.notepad-plus-plus.org/post/17730</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/17730</guid><dc:creator><![CDATA[dail]]></dc:creator><pubDate>Wed, 07 Sep 2016 15:09:47 GMT</pubDate></item><item><title><![CDATA[Reply to How to capture what user is typing on Wed, 07 Sep 2016 14:44:48 GMT]]></title><description><![CDATA[<p dir="auto">Hi Dali,<br />
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?<br />
Regards,</p>
]]></description><link>https://community.notepad-plus-plus.org/post/17729</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/17729</guid><dc:creator><![CDATA[bycn82 bbbb]]></dc:creator><pubDate>Wed, 07 Sep 2016 14:44:48 GMT</pubDate></item><item><title><![CDATA[Reply to How to capture what user is typing on Tue, 06 Sep 2016 15:19:08 GMT]]></title><description><![CDATA[<p dir="auto">As far as I know you can’t dynamically bind shortcuts.</p>
]]></description><link>https://community.notepad-plus-plus.org/post/17717</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/17717</guid><dc:creator><![CDATA[dail]]></dc:creator><pubDate>Tue, 06 Sep 2016 15:19:08 GMT</pubDate></item><item><title><![CDATA[Reply to How to capture what user is typing on Tue, 06 Sep 2016 15:15:48 GMT]]></title><description><![CDATA[<p dir="auto">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.</p>
]]></description><link>https://community.notepad-plus-plus.org/post/17716</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/17716</guid><dc:creator><![CDATA[bycn82 bbbb]]></dc:creator><pubDate>Tue, 06 Sep 2016 15:15:48 GMT</pubDate></item><item><title><![CDATA[Reply to How to capture what user is typing on Tue, 06 Sep 2016 13:59:24 GMT]]></title><description><![CDATA[<p dir="auto">No it is only possible using the <code>FuncItem</code> struct <s>which requires a hotkey.</s></p>
<p dir="auto">Edit: Actually it doesn’t <em>require</em> a hotkey, however the struct is the only way to register functions with Notepad++…which automatically show up in the menu.</p>
]]></description><link>https://community.notepad-plus-plus.org/post/17715</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/17715</guid><dc:creator><![CDATA[dail]]></dc:creator><pubDate>Tue, 06 Sep 2016 13:59:24 GMT</pubDate></item><item><title><![CDATA[Reply to How to capture what user is typing on Tue, 06 Sep 2016 04:11:31 GMT]]></title><description><![CDATA[<p dir="auto">Yes,<br />
the <code>BACKSPACE</code> will trigger the notification with <code>SC_MOD_DELETETEXT</code> bit in the modificationType.  Thanks.</p>
<p dir="auto">I got another question.<br />
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?</p>
]]></description><link>https://community.notepad-plus-plus.org/post/17712</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/17712</guid><dc:creator><![CDATA[bycn82 bbbb]]></dc:creator><pubDate>Tue, 06 Sep 2016 04:11:31 GMT</pubDate></item><item><title><![CDATA[Reply to How to capture what user is typing on Tue, 06 Sep 2016 01:54:33 GMT]]></title><description><![CDATA[<p dir="auto"><code>SCN_MODIFIED</code> does tell you when a character (or range of characters) is deleted, but not necessarily due to the backspace key. The <code>modificationType</code> will have the <code>SC_MOD_DELETETEXT</code> flag set.</p>
<p dir="auto">If you are needing to capture <em>actual</em> keyboard input and not just changes to the text document then you’ll have to go the subclassing/superclassing route.</p>
]]></description><link>https://community.notepad-plus-plus.org/post/17710</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/17710</guid><dc:creator><![CDATA[dail]]></dc:creator><pubDate>Tue, 06 Sep 2016 01:54:33 GMT</pubDate></item><item><title><![CDATA[Reply to How to capture what user is typing on Tue, 06 Sep 2016 00:52:43 GMT]]></title><description><![CDATA[<p dir="auto">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?</p>
]]></description><link>https://community.notepad-plus-plus.org/post/17709</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/17709</guid><dc:creator><![CDATA[bycn82 bbbb]]></dc:creator><pubDate>Tue, 06 Sep 2016 00:52:43 GMT</pubDate></item><item><title><![CDATA[Reply to How to capture what user is typing on Sat, 03 Sep 2016 15:17:02 GMT]]></title><description><![CDATA[<p dir="auto">You should read the documentation on those notifications. <code>SCN_MODIFIED</code> does not use the <code>ch</code> field, it uses the <code>text</code> field because the user could paste multiple characters (or delete a range of text).</p>
<p dir="auto">If indeed you do want individual characters <em>only</em> (and skip any paste/deletes) then you can catch <code>SCN_CHARADDED</code> notifications which <em>does</em> use <code>ch</code>.</p>
]]></description><link>https://community.notepad-plus-plus.org/post/17674</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/17674</guid><dc:creator><![CDATA[dail]]></dc:creator><pubDate>Sat, 03 Sep 2016 15:17:02 GMT</pubDate></item><item><title><![CDATA[Reply to How to capture what user is typing on Sat, 03 Sep 2016 11:41:43 GMT]]></title><description><![CDATA[<p dir="auto">Thanks,</p>
<p dir="auto">I already got notified. but the <code>notifyCode-&gt;ch</code> is always equals to <code>0</code></p>
<p dir="auto">Can you please help to explain how can I check what user is typed?</p>
]]></description><link>https://community.notepad-plus-plus.org/post/17669</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/17669</guid><dc:creator><![CDATA[bycn82 bbbb]]></dc:creator><pubDate>Sat, 03 Sep 2016 11:41:43 GMT</pubDate></item><item><title><![CDATA[Reply to How to capture what user is typing on Fri, 02 Sep 2016 12:36:50 GMT]]></title><description><![CDATA[<p dir="auto">Since you are wanting to receive <em>notifications</em> that something has happened you’d want to use the <code>beNotified()</code> function instead of <code>messageProc()</code>.</p>
<p dir="auto">That being said you won’t receive <code>WM_KEYDOWN</code> notifications. Those are handled by Notepad++/Scintilla. What you normally do is catch notifications from Scintilla that tells you the user has added (or removed) text by catching the <a href="http://www.scintilla.org/ScintillaDoc.html#SCN_MODIFIED" rel="nofollow ugc">SCN_MODIFIED</a> notification which has the info you need (e.g. position, text). You can also catch <a href="http://www.scintilla.org/ScintillaDoc.html#SCN_MODIFYATTEMPTRO" rel="nofollow ugc">SCN_MODIFYATTEMPTRO</a> which tells you a read-only document was attempted to be modified…but I don’t believe this notification tells you <em>what</em> was actually attempted.</p>
<p dir="auto">If indeed you are actually needing the raw <code>WM_KEYDOWN</code> notifications there are ways of subclassing (superclassing?) the Notepad++ window and catching them before Notepad++ does…but that is beyond by Win32 API knowledge, but I do know some plugins do that.</p>
]]></description><link>https://community.notepad-plus-plus.org/post/17663</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/17663</guid><dc:creator><![CDATA[dail]]></dc:creator><pubDate>Fri, 02 Sep 2016 12:36:50 GMT</pubDate></item></channel></rss>