如何綁定包含選項卡的快捷鍵

如何綁定包含選項卡的快捷鍵

我想將 XFCE 終端中的下一個/上一個選項卡快捷方式從Ctrl+ PgDn/重新綁定PgUpCtrl+ Tab/ Ctrl+ Shift+ Tabaccels.scm將滑鼠懸停在選單上並按所需的組合鍵以互動方式編輯或更改快捷方式似乎不起作用。

其他鍵對此也可以正常工作,只是涉及到的快捷鍵Tab是一個問題。我認為這些對於 GTK 來說是特殊的,甚至沒有到達應用程式。有沒有辦法覆蓋這個?

答案1

您不能使用 Tab 鍵作為快捷方式,至少在 Xfce 終端機中是如此。

直接回答

[...] 只是涉及 Tab 的快捷方式是個問題。我認為這些對於 GTK 來說是特殊的,甚至沒有到達應用程式。

你的假設是正確的。該限制實際上適用於 GTK+ 應用程序,Xfce Terminal 就是其中之一。而且不僅僅是涉及 Tab 鍵的快捷鍵,還有一些其他鍵,即 PageUp、PageDown、F10 不能單獨使用(沒有修飾鍵)。

有沒有辦法覆蓋這個?

可能不會,儘管可能存在解決方法。更好的方法是尋找 Tab 鍵的替代品,或使用其他允許使用它的應用程式。另請參閱以下解釋。

由貢獻者解釋

首先,有日期錯誤 3524報告“下一個/上一個選項卡鍵盤快速鍵不執行任何操作”。下面引用了最相關的評論。

[評論9:Nick Schermer 2009-10-10 13:49:08 CEST]

如果處理加速器,Xfwm 和終端使用不同的方式(xfwm 直接來自 x,終端依賴 gtk)。在 gtk 中被視為無效加速器,因此要「修復」此終端將在設定之前檢查加速器是否有效。因此,從現在開始,按下將不會在快捷方式編輯器中執行任何操作。

其次,有日期發佈在堆疊溢位上詢問「PyGTK:允許在 AccelGroup 中使用 Tab」。下面引用了問題的相關部分。

使用 gtk.AccelGroup 時,任何與 Tab 字元的組合均無效。現在我確實明白 UI 導航是使用這個鍵完成的 [...]

透過文件解釋

關於“UI 導航是使用此鍵完成的”,GNOME 開發人員文件已在主題中指出了該問題鍵盤輸入如下所引。

鍵盤導航

[...]Tab是在 GTK+ 和 GNOME 介面中移動的標準鍵。

此外,使用 Tab 鍵的捷徑具有專用功能。

標準導航鍵

TabShift+Tab 將鍵盤焦點移至下一個/上一個控件

Ctrl+TabShift+ Ctrl+Tab 將鍵盤焦點從封閉的小部件移動到下一個/上一個控件,在 Tab 單獨具有另一個功能的情況下

Ctrl+TabShift+ Ctrl+Tab 將鍵盤焦點移動到下一組/上一組控件

所以之前的評論現在有意義了。

修改後的答案(2017-04-04)

^I儘管 Tab 鍵在命令列 shell 中被識別為製表符補全,它與無法在圖形應用程式中使用 Tab 鍵作為快捷鍵的相關性最小。

為什麼Tab鍵不能當快捷鍵?原因很簡單:Tab 鍵及其組合鍵是 GTK+ 和 GNOME 保留的。

儘管透過 GSettings 的 GNOME 終端允許使用 Tab 鍵作為快捷方式,但到此回答日期,透過 Xfconf 的 Xfce 終端沒有等效的 hack。

答案2

我使用實用程式自動鍵綁定“Tab”快捷鍵,例如使用 Tab 在 Nemo 檔案命令器的左右面板之間切換。

Linux Mint 20 尼莫 4.6.5

應在 AutoKey 中設定為:熱鍵:視窗過濾器:nemo

----- 腳本範例 ---# 綁定Tab鍵切換面板(F6鍵)

keyboard.send_key("<f6>")
time.sleep(0.1)
keyboard.send_key("Tab")

答案3

這適用於xfce4-terminal 0.8.9.1 (Xfce 4.14)- 編輯.config/xfce4/terminal/accels.scm

(gtk_accel_path "<Actions>/terminal-window/next-tab" "<Primary>Tab")
(gtk_accel_path "<Actions>/terminal-window/prev-tab" "<Primary><Shift>Tab")

相關內容