手寫筆
注意
此設計指南是針對 Windows 7 所建立,尚未針對較新版本的 Windows更新。 大部分的指導方針仍以原則方式套用,但簡報和範例不會反映 我們目前的設計指導方針。
所有 Microsoft Windows應用程式都應該啟用手寫筆。 這麼做比您想像的簡單。
手寫筆輸入是指Windows可讓您使用手寫筆直接與電腦互動的方式。 手寫筆可用於指向,也可以用於手勢、簡單的文字輸入,以及在數位筆跡中擷取自由格式的想法。
用於輸入的手寫筆有一個精細的平滑提示,可支援以筆跡精確指向、寫入或繪製。 手寫筆也可能有選擇性的手寫筆按鈕, (用來執行滑鼠右鍵) ,以及用來清除筆跡) 的橡皮擦 (。 大部分的手寫筆都支援暫留。

典型的手寫筆。
使用手寫筆進行手寫時,使用者筆劃可以使用手寫辨識轉換成文字。 筆劃可以像撰寫一樣保留,並在背景中執行辨識,以支援搜尋和複製為文字。 這類未轉換的筆劃稱為數位筆跡。

筆跡輸入的範例。
大部分Windows程式都已經很適合手寫筆,因此可以使用手寫筆,而不是滑鼠,手寫筆可順暢地處理最重要的工作和互動,而程式會回應手勢。 當程式協助手寫文字輸入時,程式會變成手寫易記。 當程式可以直接處理筆跡時,程式會變成筆跡啟用,而不需要將手寫筆筆劃轉譯為文字或對等的滑鼠移動。 這可讓使用者在自由流動、高品質的數位筆跡中撰寫、繪製和新增批註。 收集筆跡與收集滑鼠事件不同,因為筆跡需要較高的解析度和較高的取樣率,也可以增加壓力和傾斜的細微差異。 如需建立手寫易記和已啟用筆跡程式的資訊,請參閱使用手寫筆整合筆跡和文字輸入。
放置手寫筆時,因為小費代表本身,所以不需要游標。 不過,為了取得目標協助,Windows提供指出目前畫筆位置的小型畫筆游標。 不同于所取代的滑鼠指標,除非畫筆接近顯示器,否則不需要畫筆游標,因此會在幾秒鐘閒置後消失,以允許未受干擾的資訊檢視。
大部分的手寫筆易記程式都支援手勢。 手勢是電腦上手寫筆的快速移動,電腦會解譯為命令,而不是滑鼠移動、寫入或繪圖。 要執行的其中一個最快且最簡單手勢是閃爍。 閃爍是一個簡單的手勢,會導致流覽或編輯命令。 流覽筆動包括向上拖曳、向下拖曳、往後移動,以及向前移動,而編輯筆動包括複製、貼上、復原和刪除。
除了忙碌指標以外的所有指標,都有單一圖元作用點,可定義指標的確切螢幕位置。 作用點會判斷哪些物件受到互動的影響。 物件會定義作用區,也就是將作用點視為位於 物件上方的區域。 一般而言,熱區域會與物件的框線一致,但互動可能較大。
因為手寫筆可以比手指更精確地指向,如果您的使用者介面適用于觸控,它也適用于手寫筆。 因此,本文主要著重于將手寫筆支援新增至已經針對觸控而設計的程式。
注意: 與 滑鼠、 協助工具及 觸控 相關的指導方針會在個別的文章中呈現。
設計概念
使用手寫筆進行輸入具有下列特性:
- 自然且直覺。 每個人都知道如何點選手寫筆。 物件互動的設計目的是要與使用者如何以一致的方式與真實世界中的物件互動。
- 表達。 手寫筆的筆劃很容易控制、製作書寫、繪圖、草圖、繪製和標注,比使用滑鼠更輕鬆。
- 更個人化。 就像手寫筆記或簽章比具類型的記事更個人,使用數位手寫筆記或簽章也比較個人。
- 較不具干擾性。 使用畫筆是無訊息的,因此比鍵入或按一下更不分心,特別是在會議之類的社交情況下。
- 可擕式。 具有手寫筆功能的電腦可能更精簡,因為大部分的工作都可以在沒有鍵盤、滑鼠或觸控板的情況下完成。 它可能會更有彈性,因為它不需要工作介面。 它可讓您使用電腦的新地點和案例。
- 直接且吸引人。 使用手寫筆可讓您覺得您直接與螢幕上的物件互動,而使用滑鼠或觸控板一律會要求您以個別的螢幕指標移動來協調手部移動,以比較方式間接操作。
所有Windows程式都應該有良好的畫筆體驗。 使用者應該能夠有效率地使用手寫筆執行程式最重要的工作。 某些工作,例如輸入或詳細的圖元操作,不適用於手寫筆,但至少應該可行。
幸運的是,如果您的程式已妥善設計,且易於觸控,則提供良好的手寫筆支援很容易。 為了達到此目的,設計完善的程式:
- 具有良好的滑鼠支援。 互動式控制項具有清楚、可見的能供性,以及指標回饋的暫留狀態。 物件具有標準滑鼠互動的標準行為, (單一和按兩下、按一下滑鼠右鍵、拖曳和暫留) 。 指標圖形會視需要變更,以指出直接操作的類型。
- 具有良好的鍵盤支援。 此程式可讓使用者有效率地提供標準快速鍵指派,特別是針對也可以透過手勢產生的導覽和編輯命令。
- 具有足以觸控的控制項。 控制項的大小下限為 23x23 圖元, (13x13 對話方塊單位 [DLL]) ,而最常用的控制項至少為 40x40 圖元, (23x22 DLL) 。 為了避免沒有回應的行為,UI 元素之間應該不會有較小的間距,讓連續的目標觸碰或至少有 5 個圖元 (3 個 DLL,) 兩者之間的空間。
- 可存取。 使用 Microsoft Active Accessibility (MSAA) ,為輔助技術提供 UI 的程式設計存取。 此程式會適當地回應主題和系統計量變更。
- 在每英吋的 120 DPI (點) 正常運作, 這是啟用手寫筆的電腦建議的預設顯示解析度。
- 使用一般控制項。 最常見的控制項是設計來支援良好的畫筆體驗。 如有必要,程式會使用妥善實作的自訂控制項,其設計目的是為了支援輕鬆的目標和互動式操作。
- 使用受限制的控制項。 設計為輕鬆設定目標時,清單和滑杆等限制控制項可能比文字方塊等不受限制的控制項更好,因為它們會減少文字輸入的需求。
- 提供適當的預設值。 程式會選取最安全 (,以防止資料或系統存取) 和預設最安全的選項遺失。 如果安全性和安全性不是因素,程式會選取最可能或方便的選項,藉此消除不必要的互動。
- 提供文字自動完成。 提供最可能或最近輸入值的清單,讓文字輸入更容易。
可惜的是,如果您的程式設計不正確,其缺點對於使用手寫筆的使用者而言特別明顯。
手寫筆互動的模型
如果您不熟悉手寫筆,最佳簡介是透過執行來學習。 取得已啟用手寫筆的電腦、將滑鼠和鍵盤放在一旁,並執行您通常只使用手寫筆執行的工作。 請務必嘗試啟用筆跡的程式,例如Windows日誌,以及未啟用筆跡的程式。 如果您有平板電腦,請嘗試將它放在不同的位置,例如在膝上、平平地放在資料表上,或是在您位於您的雙手上。 請嘗試以直向和橫向使用,並按住手寫筆進行書寫,並只用于指向左側和右側。
當您嘗試使用手寫筆時,您將發現:
- 小型控制項難以使用。 控制項的大小大幅影響您有效互動的能力。 10x10 圖元的控制項對於手寫筆而言相當合理,但較大的控制項更熟悉使用。 例如, 微調控制項 (15x11 圖元) 太小,無法輕易地搭配手寫筆使用。
- 手部是因素。 您的手有時涵蓋您可能想要查看或與之互動的專案。 例如,對於右手使用者操作功能表,如果它們出現在按一下點的右邊,則很難使用,因此,如果它們出現在左側則比較好。 Windows可讓使用者在平板電腦設定控制台專案中指出其手部。
- 工作位置有助於。 雖然您可以使用滑鼠移動,將指標移到 14 英吋的螢幕,但使用畫筆需要您將手部移到完整的 14 英吋。 在遠遠的目標之間重複移動可能會很繁瑣,因此最好盡可能讓工作互動保持在靜止手部的範圍內。 操作功能表很方便,因為它們不需要手部移動。
- 文字輸入和選取很困難。 冗長的文字輸入特別難以使用手寫筆,因此自動完成和可接受的預設文字值可以真正簡化工作。 文字選取也相當困難,因此工作在不需要精確的游標放置時會比較容易。
- 靠近顯示器邊緣的小型目標很難點選。 有些顯示器邊框凸起,而某些觸控螢幕技術在邊緣較不敏感,使得靠近邊緣的控制項更難以使用。 例如,當視窗最大化時,標題列上的 [最小化]、[最大化/還原] 和 [關閉] 按鈕可能會比較困難。
控制位置
工作位置可減少重複的跨螢幕移動。 若要將手部移動降到最低,請找出最接近可能使用的控制項。
不正確:

在此範例中,Windows XP,色彩調色盤與可能使用的位置太遠。
請考慮使用者的目前位置是最接近的目標,讓取得目標變得簡單。 因此,操作功能表會充分利用配適法法,如同Microsoft Office所使用的迷你工具列一樣。

目前指標位置一律是最容易取得的位置。
在顯示邊緣附近的小型目標可能難以設定目標,因此請避免將小型控制項放在視窗邊緣附近。 若要確保控制項在視窗最大化時很容易設為目標,請至少將 23x23 圖元設為 23x23 圖元 (13x13 DLL) ,或將它們放在視窗邊緣之外。
手寫筆互動
系統手勢
系統手勢是由Windows所定義和處理。 因此,所有Windows程式都可以存取它們。 這些手勢具有對等的滑鼠、鍵盤和應用程式命令訊息:
| 系統手勢 | 合成的對等訊息 |
|---|---|
| 支援) 時將滑鼠暫留 ( |
滑鼠暫留 |
| 點選 (向下和向上) |
按一下滑鼠左鍵 |
| 按兩下 (向下和向上點兩次) |
滑鼠按兩下滑鼠左鍵 |
| 按住 (、暫停、向上) |
滑鼠右鍵 |
| 向下拖曳 (、移動、上移) |
滑鼠左拖曳 |
| 按住、按住和拖曳 (、暫停、移動、上移) |
滑鼠右拖曳 |
| 選取 (向下移動、向上移動可選取的物件) |
滑鼠選取 |
開發 人員: 如需詳細資訊,請參閱 SystemGesture 列舉。
筆觸
筆跡是大致相當於鍵盤快速鍵的簡單手勢。 流覽閃爍包括向上拖曳、向下拖曳、往後移動,以及向前移動。 編輯筆觸包含複製、貼上、復原與刪除。 若要使用筆觸,您的程式只需要回應相關的擊鍵命令。

Windows 7 中的八個筆動手勢及其預設指派。 流覽筆觸已變更為對應至移動流覽 (物件移動手勢) ,而不是捲動 (物件在手勢) 相反方向移動的 (。

Windows Vista 中的八個筆動手勢及其預設指派。
導覽筆動具有自然的對應,因此很容易學習和記住。 編輯筆觸是需要更精確度的對角線,而且其對應不如自然 (會閃爍至回收站以刪除,在復原) 的 [上一步] 箭號方向閃爍,因此預設不會啟用這些動作。 您可以使用畫筆和輸入裝置控制台專案來自訂所有筆動動作。
| 電影 | 合成的對等訊息 |
|---|---|
| 向左閃爍 |
Windows Vista) 的轉寄命令 (Back 命令 |
| 向右閃爍 |
Windows Vista) 的 Back 命令 (轉送命令 |
| 閃爍 |
鍵盤向下捲動 |
| 向下閃爍 |
鍵盤向上捲動 |
| 向上閃爍對角線 |
鍵盤刪除 |
| 向下閃爍向左對角線 |
鍵盤復原 |
| 對角線向上閃爍 |
鍵盤複製 |
| 向下閃爍右對角線 |
鍵盤貼上 |
應用程式手勢
應用程式也可以定義及處理其他手勢。 Microsoft 手勢辨識器可以辨識 超過 40 個手勢。 若要使用應用程式手勢,您的程式必須定義可辨識的手勢,然後處理產生的事件。
回應性和一致性
回應性對於建立感覺直接且吸引人的手寫筆體驗至關重要。 若要直接操作,手勢必須立即生效,而且物件的接觸點必須在整個手勢中順暢地停留在手寫筆之下。 任何延隔、中斷回應、連絡人遺失或不正確的結果,都終結了直接操作以及品質的認知。
建立感覺自然且直覺的畫筆體驗時,一致性是不可或缺的。 一旦使用者瞭解標準手勢,他們預期該手勢在所有適用的程式中都有相同的效果。 若要避免混淆和挫折,請勿將非標準意義指派給標準手勢。 請改用自訂手勢來進行程式特有的互動。
編輯筆跡和文字
使用手寫筆時,編輯筆跡和文字是最具挑戰性的互動。 使用限制控制項、適當的預設值和自動完成,可消除或減少輸入文字的需求。 但是,如果您的程式牽涉到編輯文字或筆跡, 您可以在使用手寫筆時,自動縮放輸入 UI,讓使用者更具生產力。
例如,電子郵件程式可以正常顯示 UI,但將輸入 UI 縮放為 150%,以撰寫郵件。

在此範例中,輸入 UI 會縮放為 150%。
如果您只執行四件事...
-
- 讓您的Windows程式有良好的畫筆體驗! 使用者應該能夠有效地使用手寫筆來執行程式最重要的工作, (至少不會涉及大量輸入或詳細圖元操作的工作) 。
-
- 請考慮在最相關的案例中使用筆跡直接新增撰寫、繪製和新增批註的支援。
-
- 若要建立直接且吸引人的體驗,讓手勢立即生效、讓連絡人點在使用者的手寫筆下順暢地在整個手勢下,並讓手勢直接對應至使用者的動作。
-
- 若要建立自然且直覺的體驗,請支援適當的標準手勢,並指派其標準意義。 使用自訂手勢來與程式唯一的互動。
指導方針
控制使用方式
- 偏好使用一般控制項。 最常見的控制項是設計來支援良好的畫筆體驗。
- 偏好限制控制項。 盡可能使用清單和滑杆等限制控制項,而不是文字方塊等不受限制的控制項,以減少文字輸入的需求。
- 提供適當的預設值。 選取最安全 (,以防止資料或系統存取) 和預設最安全的選項遺失。 如果安全性和安全性不是因素,請選取最可能或方便的選項,藉此消除不必要的互動。
- 提供文字自動完成。 提供最可能或最近輸入值的清單,讓文字輸入更容易。
- 對於使用多個選取範圍的重要工作,如果一般使用標準多重選取清單,請改為提供使用核取方塊清單的選項。
- 遵守系統計量。 針對所有大小使用系統計量不會硬式線大小。 如有必要,使用者可以變更系統計量或 DPI 以符合其需求。 不過,將此視為最後一個方法,因為使用者通常不需要調整系統設定,才能讓 UI 可供使用。

在此範例中,功能表高度的系統計量已變更。
控制調整大小、版面配置和間距
- 針對一般控制項,請使用建議的控制項大小。 這些大小足以獲得良好的手寫筆體驗,但微調控制項 (無法搭配手寫筆使用,但備援) 。
- 選擇將控制項放在最可能使用位置的版面配置。 盡可能在小型區域內保留工作互動。 避免長距離手部移動,特別是針對一般工作和拖曳。
- 使用建議的間距。 建議的間距是畫筆易記的。
- 互動式控制項應該觸碰或最好有至少 5 個圖元, (3 個 DLL) 兩者之間的空間。 如此一來,當使用者點選預定目標外部時,就會避免混淆。
- 請考慮在控制項群組中新增超過建議的垂直間距, 例如命令連結、核取方塊和選項按鈕,以及群組之間的間距。 這麼做可讓它們更容易區分。
互動
- 針對設計為接受手寫的程式,請啟用預設筆跡。 預設筆跡可讓使用者只要開始寫入即可輸入筆跡,而不需要點選、提供命令,或執行任何特殊動作。 這麼做可讓您使用手寫筆進行最自然的體驗。 對於未設計為接受手寫的程式,請將文字方塊中的手寫筆輸入當做選取專案來處理。
- 如果您的程式有需要編輯文字的工作,允許使用者縮放內容 UI。 使用畫筆時,請考慮自動縮放至 150%。
- 由於手勢已記住,因此請指派它們,這表示跨程式保持一致。 請勿為具有固定語意的手勢提供不同的意義。 請改用適當的程式特定手勢。
手部
如果視窗是內容相關的,請一律在啟始物件附近顯示它。 將它放開,讓視窗未涵蓋來源物件。
如果使用滑鼠顯示,則盡可能將內容視窗位移向下和向右放置。

顯示其從中啟始物件附近的內容視窗。
如果使用手寫筆顯示,則盡可能放置內容型視窗,以免被使用者手部遮蔽。 若為右手使用者,請向左顯示;否則會顯示在右側。

使用手寫筆時,也會顯示內容相關的視窗,讓使用者手部不會涵蓋這些視窗。
開發 人員: 您可以使用 GetMessageExtraInfo API 來區分滑鼠事件和手寫筆事件。 您可以使用SystemParametersInfo API 搭配SPI_GETMENUDROPALIGNMENT來判斷使用者的手部。
寬恕
- 提供復原命令。 在理想情況下,您應該為所有命令提供復原,但您的程式可能會有一些無法復原其效果的命令。
- 提供良好的暫留意見反應。 清楚指出手寫筆何時超過可點選的目標。 這類意見反應是防止意外操作的絕佳方式。
- 只要可行,請對手寫筆提供良好的意見反應,但在移動或畫筆上之前,請勿採取動作。 這麼做可讓使用者在進行錯誤之前更正錯誤。
- 只要可行,使用者就能輕鬆地更正錯誤。 如果動作對手寫筆生效,允許使用者在手寫筆仍關閉時滑動來更正錯誤。
文件
參考手寫筆輸入時:
- 請參閱手寫筆形狀的手寫筆輸入裝置作為手寫筆。 在第一次提及時,請使用平板電腦手寫筆。
- 請參閱手寫筆側邊的按鈕做為手寫筆按鈕,而不是手寫筆按鈕。
- 一般參考鍵盤、滑鼠、追蹤球、手寫筆或手指作為輸入裝置。
- 使用點選 (並按兩下) ,而不是在記錄使用手寫筆的特定程式時按一下。 點選表示按螢幕,然後在按住時間之前隨即隨即啟動。 它可能無法用來產生滑鼠按一下。 對於未涉及手寫筆的互動,請繼續使用 click。