You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Offer mouse drawing when the mouse reaches for the toolbar
1.2.0 left Mouse drawing discoverable only in Preferences, which is the one
place someone who does not know the feature exists will not look. The signal
that they might want it is already in the application: picking a tool from
the toolbar with the mouse. A pen user reaches for the palette with the pen,
so a mouse arriving there is someone whose next stroke is going to
disappoint them.
The offer is a question, not a confirmation, and the two answers are not
interchangeable - one changes what the left button means. So neither button
is IsDefault and Enter is swallowed before it can reach one: it acts only on
a button the person has deliberately moved focus to. Escape closes, because
dismissing is always safe, and nothing is focused when the dialog opens, so
the first Tab reaches the checkbox rather than a primed button. Enable mouse
mode sets MouseMode.On rather than WhenNoDigitizer, because the offer can
only have appeared where the automatic default already decided not to.
Asked once a session however many tools are picked afterwards. The checkbox
is unchecked by default: a single Cancel is an answer for this session, not
for every one after it, and Help > Preferences > Input is the way back once
it has been declined for good.
The dialog is dispatched at background priority rather than shown from the
click handler, so the click first does what it came to do. The tool is
selected, and the dialog then explains why it may not behave as expected.
Decision 24, and a second validation list in the README - every item on it
is about a key doing nothing, which is the part a later change is most
likely to undo. Version is 1.2.1.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Copy file name to clipboardExpand all lines: README.md
+17-1Lines changed: 17 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -11,7 +11,7 @@ How the project is developed and shipped is documented separately:
11
11
12
12
- Low-latency, pressure-aware WPF wet ink, including rear-eraser detection on any pen that reports it
13
13
- A normal cursor for physical mouse input, and a pen-hover indicator that shows what a tap would do: the laser with its halo and speed trail, a dashed square around what the eraser would clear, and a high-contrast dot for everything else. All of them disappear on contact
14
-
- Optional mouse drawing (default when Windows reports neither a pen tablet nor a touchscreen): the left button uses the current tool, Ctrl and the left button move and resize a container, and Eraser and Pan appear on the toolbar. A mouse reports no pressure, so ink is drawn at an even width and Calligraphy is the one tool that still varies, because its width comes from speed. Nothing about the pen changes when it is on
14
+
- Optional mouse drawing (default when Windows reports neither a pen tablet nor a touchscreen): the left button uses the current tool, Ctrl and the left button move and resize a container, and Eraser and Pan appear on the toolbar. A mouse reports no pressure, so ink is drawn at an even width and Calligraphy is the one tool that still varies, because its width comes from speed. Nothing about the pen changes when it is on. With it off, picking a tool from the toolbar with the mouse offers to turn it on, once a session
15
15
- Touch panning and two-finger pinch zoom
16
16
- Optional finger drawing (default when no pen is detected): one finger uses the current tool, two fingers still pan and pinch-zoom, and Eraser and Pan appear on the toolbar
17
17
- A notice at startup when Windows reports neither a pen tablet nor a touchscreen, saying which pointing device the session is drawing with and what a pen would add. Dismissable from the notice itself or from Preferences, since the tablet list Windows reports can miss a pen that has never been in range
@@ -296,3 +296,19 @@ touching any mouse handler:
296
296
8. Select the Eraser, pan with the right button, and confirm the Eraser is still selected.
297
297
9. On a pen machine with Mouse drawing **On**, draw with the pen and confirm nothing about
298
298
it changed. This is the regression that matters.
299
+
300
+
With Mouse drawing **Off**, the offer has its own list. Every one of these is about a key
301
+
doing nothing, which is the part a later change is most likely to undo:
302
+
303
+
1. Pick a tool from the toolbar with the mouse. The tool is selected, and the offer appears
304
+
after it rather than instead of it.
305
+
2. Pick another tool. The offer does not appear again this session.
306
+
3. Press Enter with nothing focused. Nothing happens and the dialog stays open.
307
+
4. Tab to the checkbox and press Enter. Still nothing.
308
+
5. Tab to a button and press Enter. That button, and only that button, acts.
309
+
6. Press Escape. The dialog closes and Mouse drawing stays off.
310
+
7. Choose **Enable mouse mode**. The left button draws immediately, and Eraser and Pan
311
+
appear on the toolbar.
312
+
8. Tick **Don't show me this again**, choose **Cancel**, restart, and confirm the offer is
313
+
gone and **Help → Preferences → Input** can bring it back.
314
+
9. Reach for the toolbar with the pen on a pen machine, and confirm no offer appears.
Copy file name to clipboardExpand all lines: site/guide.html
+1-1Lines changed: 1 addition & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -686,7 +686,7 @@ <h3>Navigation</h3>
686
686
<p>The window can sit in a narrow strip beside another app. <kbd>F11</kbd> fills the monitor and hides the title and tabs. <kbd>Ctrl</kbd><spanclass="plus">+</span><kbd>F11</kbd> hides the same chrome and keeps the window where it is. <kbd>Escape</kbd> leaves either unless a text container is being edited.</p>
687
687
688
688
<h3>Drawing with a mouse</h3>
689
-
<p><spanclass="ui">Preferences → Mouse drawing</span> turns the left button into the selected tool, and defaults to on where Windows reports neither a pen tablet nor a touchscreen. The tool then stays selected instead of being handed back, and <kbd>Ctrl</kbd> with the left button is how you move and resize a container. A mouse reports no pressure, so ink is drawn at an even width; Calligraphy still varies, because its width comes from speed. Nothing about the pen changes, so this can be left on beside one.</p>
689
+
<p><spanclass="ui">Preferences → Mouse drawing</span> turns the left button into the selected tool, and defaults to on where Windows reports neither a pen tablet nor a touchscreen. The tool then stays selected instead of being handed back, and <kbd>Ctrl</kbd> with the left button is how you move and resize a container. A mouse reports no pressure, so ink is drawn at an even width; Calligraphy still varies, because its width comes from speed. Nothing about the pen changes, so this can be left on beside one. With it off, picking a tool from the toolbar with the mouse offers to turn it on, once a session.</p>
690
690
691
691
<h3>Containers</h3>
692
692
<p>Images, LiveViews, and text blocks are containers. With a mouse, click to move, drag the circular handle to resize while keeping aspect ratio — hold <kbd>Ctrl</kbd> too with <spanclass="ui">Mouse drawing</span> on. Releasing the mouse returns to the drawing tool you had. Imported images accept PNG, JPEG, BMP, GIF, and SVG, including clipboard paste and Explorer drag-and-drop. An SVG is kept as its markup and redrawn at every size, so enlarging one costs it nothing.</p>
Text="SQLBI Whiteboard is designed for a pen and a touchscreen. If you would rather use a mouse, Mouse drawing can be turned on in Preferences." />
28
+
<TextBlockMargin="0,10,0,0"
29
+
FontFamily="Segoe UI"
30
+
FontSize="13"
31
+
Foreground="#FF374151"
32
+
TextWrapping="Wrap"
33
+
Text="The left button then uses the selected tool, and Ctrl with the left button moves and resizes a container. A mouse reports no pressure, so ink is drawn at an even width. Nothing about the pen changes." />
34
+
<CheckBoxx:Name="DoNotShowAgainBox"
35
+
Margin="0,20,0,0"
36
+
FontFamily="Segoe UI"
37
+
FontSize="13"
38
+
Foreground="#FF374151"
39
+
Content="Don't show me this again" />
40
+
<!-- Neither button is IsDefault or IsCancel. This is a question the
41
+
person is meant to answer, so Enter must not answer it for them by
42
+
landing on whichever button a dialog would normally favour. -->
0 commit comments