Skip to content

VS MapleBBS 3 Keyboard zh_tw

Wei-Cheng Yeh (IID) edited this page Jul 6, 2021 · 6 revisions

與 MapleBBS 3 的按鍵差異

本文說明 DreamBBS 與其它 MapleBBS 3 分支的按鍵的輸入系統與對應功能的差異。

目前本文以列舉 DreamBBS 的目前版本與 DreamBBS 2010 的差異為主。

預計未來將再加入更多與其它 MapleBBS 3 主要分支的比較。

v0.95 (3.10.95)

  • 文章列表:% 鍵可推文 (同 X) (125219571)
  • 主選單:按 s 可以搜尋看板 (同 Ctrl-S) (3742a2766)
  • 我的最愛:a 可以新增項目 (同 Ctrl-P) (da39b02d5)
  • xover 選單:
    • e 可以跳回上層 (同 ) (a868a17f2)
    • p/nk/j 可移至上/下一項 (同 /) (550deb4b3)
  • 文章列表:~ 鍵可叫出主題搜尋介面 (同 /) (e8e4e215e)

v1.0-alpha3 (3.11.0)

  • 輸入系統:
    • 恢復 PheonixBBS 式 (類 PttBBS) 的特殊按鍵的正數按鍵碼 (5f16be63b)
      • 解決特殊按鍵的負數按鍵碼與 xover callback 的 flag 衝突的問題,讓 xover callback 列表可以使用特殊按鍵作為 key
    • 支援 F1 ~ F12 (5f16be63b)
    • 支援 Shift-Tab (8b9343910)

v2.0-rc1 (3.12.0)

  • 輸入系統:
    • 重新啟用對 Meta(c) (Esc 加按鍵) 的處理;即使不定義 TRAP_ESC 也使用 Meta(c) (ebde965c4)
    • 參考 PttBBS,支援更多瀏覽程式的特殊按鍵的控制碼 (592dd971d)
    • 調整特殊按鍵的按鍵碼的取值,以配合與 Meta(c)Shift(c) (af186d205 新增)、Ctrl(c) 的組合 (9d4c6bf47)
    • 支援 Ctrl/Shift/Esc 與特殊按鍵的組合 (5398b5072)
  • 文章瀏覽:
    • L/l 可以執行 BBS-Lua (effe3c894)
    • Maple3 傳統文章瀏覽器:H 鍵與 F1 鍵也可叫出幫助畫面 (同 h/?) (a98db13cb)
    • pmore 文章瀏覽器:F1 鍵可叫出幫助畫面 (同 h/H/?) (17b5a87b5)
    • ! 可以執行 BBS-Ruby (400f19ce5)
  • vget
    • 可以按 Del 鍵刪除字元 (同 Ctrl-D) (f92103667)
    • NUMECHO 模式可以按基本編輯鍵 (與 PttBBS 比較的差別;DreamBBS 2010 沒有 NUMECHO) (41ceafb46)
  • BBS-Lua:支援 Ctrl/Shift/Esc 與特殊按鍵的組合 (bf960173e)
  • 編輯器:
    • 移植一些 PttBBS 快速鍵 (a24c6c401)
      • Esc-o 可切換 insert mode (同 Ins)
      • Esc-v 可上捲一頁 (同 PgUp)
      • Esc-. 可跳到文章結尾 (同 Ctrl-T)
      • Esc-, 可跳到文章開頭 (同 Ctrl-S)
      • Esc-AEsc-a 可切換 ANSI mode (同 Ctrl-V)
      • Esc-XF10 可叫出檔案選單 (同 Ctrl-X)
      • F1 鍵可叫出幫助畫面 (同 Ctrl-Z)
      • Esc-UF8 可叫出線上使用者名單 (原 Ctrl-U)
    • Ctrl-U 改成輸入 Esc 字元 (92d116ec3)
    • 可以按 Esc-1Esc-5 來直接貼上 1 到 5 號暫存檔的內容 (255c1276a)
  • 使用者名單:移除測試用 V 鍵 (9a34b6a24)

v2.1-rc1 (3.12.1)

  • 編輯器:可以在 ANSI 模式中直接使用 Backspace,不需離開 ANSI 模式 (d52ad44f2)
  • 傳統切換選單:按 f 鍵可正確進入夢大式我的最愛列表 (10598d476)
  • 分類看板列表:移除 Ctrl-PdM 等 WindTop 式我的最愛專用按鍵 (3760a95c1)

v3.0 (3.21.0)

  • 輸入系統:
    • 改進按鍵控制碼的可能結尾字元的下一字元的處理 (0d4885448)
      • 可依下一字元是否逾時判斷按鍵是否已送完
      • 現在遇到不支援或不合法的控制碼時,若沒有遇到系統特殊按鍵碼,會回傳 KEY_INVALID 而不是最後一個字元
    • 實作按鍵控制碼的延時判斷 (4e5f21070)
      • 現在按下 Esc 後 0.65 秒內沒按任何鍵會直接送出 Esc
        • 此時 Ctrl-L (重繪) 與 Ctrl-R (熱訊) 按鍵功能會暫時禁用,當作一般字元處理
      • 收到 Esc 的下一字元後要在 0.01 秒或更短的間隔內送出控制碼的其餘部分,否則視為送完按鍵
        • 可以使用 Esc-OEsc-[ 等控制碼與其它按鍵控制碼開頭衝突的按鍵
        • 防止以一個字元一個字元手動輸入控制碼的方式輸入特殊按鍵
    • 支援 \xff 字元的輸入 (telnet: IAC IAC) (60b6353b7)
    • 調整特殊按鍵的按鍵碼的取值 (c1a7930a6)
      • 騰出更多編碼空間,並預留未來可能增加支援的按鍵的空位
      • Shift-Tab 正名為 KEY_BTAB,原名 KEY_STAB 為了向舊版相容而保留
    • 可以按 Esc-Ctrl-L 手動送出調整畫面大小後的重繪指令 (I_RESIZETERM) (cc14385ce)
    • \r 的處理改為與按鍵控制碼的 0.01 秒延時判斷類似,收到下一字元或逾時後才回傳按鍵 (111524a46)
      • 這樣收到 \r\0\r\n 後能立即離開 vkey,而不會停在 igetch 等下一字元
    • 改進按鍵控制碼的可能結尾字元的下一字元為其它按鍵控制碼開頭或系統特殊按鍵碼的處理 (7b362c9ae)
      • 將這一字元記錄起來並在下次進入 igetch 時回傳
      • 一律定義 TRAP_ESC 以確保可能已結束的按鍵控制碼不被緊接著的 Esc 無效化,並移除不使用的程式碼
    • 調整按鍵處理順序 (1e9d59de7)
      • \r\x7f 與其它按鍵控制碼一起處理
      • 解析出按鍵後再處理重繪及熱訊等特殊按鍵功能
      • 現在按 Ctrl-L 重繪畫面後會再送出 Ctrl('L') 按鍵碼
    • 現在會過濾掉瀏覽程式送出的雙位元字的自動重複按鍵 (df69c19ed2)
  • vget 的自動完成列表 (2b48a99db):
    • SpaceTab 會自動完成
    • EnterSpaceTab 鍵會繼續列出,按其它鍵繼續輸入
  • 編輯器:
    • Esc 鍵後等 0.65 秒,或快速按兩下 Esc 鍵 (即 Esc-Esc) 可以輸入 Esc 字元 (97812e94d)
    • Esc-r 可開關雙位元字偵測 (3fbbf54e4)
  • 踩地雷遊戲:要用 Esc 鍵退出遊戲時,可快速按兩下以送出 Esc-Esc (97812e94d)
  • 現在許多選單可以用 EscEsc-Esc 跳回上層
  • xover 選單:按 Esc-/Esc-K/J 可以上/下捲動一項 (25a2f8b21)
  • 主選單:
    • 有多個豎排時,可以按 / 鍵橫向移動游標 (90ab320c0)
    • 現在選項第一字元也是快速鍵時不會自動觸發按鍵功能,只是不能按快速鍵跳過去 (e54219ab8)
    • S 鍵或 / 鍵可以搜尋看板 (同 S/Ctrl-s) (6c64679f5)
  • 針對 PttChrome 中不能按的按鍵組合,所另外追加的替代快速鍵 (998d34502)
    • Esc-R (同 Ctrl-R):
      • 回覆熱訊 (1e9d59de7 後才可正常使用)
      • 從熱訊介面進入詳細熱訊
    • Esc-W (同 Ctrl-W):
      • 編輯器:叫出檔案選單
      • 文章列表:將文章標記為垃圾訊息
      • 精華區:進入精華區回收筒
    • Esc-T (同 Ctrl-T):
      • 編輯器:跳到檔案結尾
      • xover 列表:標記同標題文章
      • 小雞對戰時叫出聊天紀錄
    • Esc-A (同 Ctrl-A) (3d99c78ab):
      • 私訊聊天:執行 BWboard 遊戲 (但已移除;相關程式碼已禁用)
      • xover 列表:標記同作者文章
    • Esc-N (同 Ctrl-N) (3d99c78ab):
      • 文章列表:直接從列表移除文章
Clone this wiki locally