Escape-Characters
cssh 攔截 F10
我正在使用
cssh
(cluster-ssh) 同時 ssh 到多台機器。一切都很好,除了cssh
攔截F10
鍵(在 cssh 中打開菜單。這是非常不幸的,因為我使用
F10
了很多,例如關閉午夜指揮官。有沒有辦法配置
cssh
讓它忽略F10
並讓它通過?我在 Debian Wheezy 上使用 LXDE/Openbox
更新:過去,我在使用
terminator
終端模擬器F10
時遇到了類似的問題midnight commander
。通過將以下內容添加到我的/usr/share/themes/Clearlooks/gtk-2.0/gtkrc
binding "NoKeyboardNavigation" { unbind "<shift>F10" } class "*" binding "NoKeyboardNavigation"
然而,這對 沒有影響
cssh
。因此我懷疑,這不是由視窗管理器引起的,而是由cssh
它本身引起的。
這種行為實際上不是 cssh 的一部分,而是它使用的小元件工具包Tk,這就是為什麼它不會出現在可配置熱鍵列表中並且設置
use_hotkeys
為no
不會禁用它的原因。我找不到修復它的非程式方式,但如果您自己建構 cssh(不難),您可以對程式碼進行小幅更改以重新綁定F10
,這樣它就什麼也不做。lib/App/ClusterSSH.pm
在create_menubar()
函式中添加以下行:$windows{main_window}->bind("all", "<Key-F10>" => sub {});
修補:
diff --git a/lib/App/ClusterSSH.pm b/lib/App/ClusterSSH.pm index cc71507..de4706e 100644 --- a/lib/App/ClusterSSH.pm +++ b/lib/App/ClusterSSH.pm @@ -1737,6 +1737,7 @@ sub create_menubar() { my ($self) = @_; $self->debug( 2, "create_menubar: started" ); $menus{bar} = $windows{main_window}->Menu(); + $windows{main_window}->bind("all", "<Key-F10>" => sub {}); $windows{main_window}->configure( -menu => $menus{bar}, ); $menus{file} = $menus{bar}->cascade(