手寫筆
注意
此設計指南是針對 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 範例中,調色盤與可能使用的位置太遠。
請考慮使用者的目前位置是最接近的目標,讓取得目標變得簡單。 因此,操作功能表會充分利用 Fitts 的法律,如同 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來判斷使用者的手部。
寬恕
- 提供復原命令。 在理想情況下,您應該為所有命令提供復原,但您的程式可能會有一些無法復原其效果的命令。
- 提供良好的暫留意見反應。 清楚指出手寫筆何時超過可點選的目標。 這類意見反應是防止意外操作的絕佳方式。
- 只要可行,請對手寫筆提供良好的意見反應,但在移動或畫筆向上之前不要採取動作。 這麼做可讓使用者在進行錯誤之前更正錯誤。
- 只要可行,可讓使用者輕鬆地更正錯誤。 如果動作對手寫筆生效,可讓使用者在手寫筆仍然關閉時滑動來更正錯誤。
文件
參考手寫筆輸入時:
- 將手寫筆形狀的手寫筆輸入裝置稱為畫筆。 在第一次提及時,請使用平板電腦手寫筆。
- 請參閱畫筆側邊的按鈕做為畫筆按鈕,而不是筆筒按鈕。
- 以一般方式參照鍵盤、滑鼠、曲目球、手寫筆或手指作為輸入裝置。
- 使用點選 (並按兩下) ,而不是在記錄使用手寫筆的特定程式時按一下。 點選表示按下螢幕,然後在按住時間之前隨即隨即。 它可能無法用來產生按一下滑鼠。 對於不涉及手寫筆的互動,請繼續使用按一下。