小鍵盤模擬

小鍵盤模擬

我的新筆記型電腦(戴爾靈越5578) 有沒有數字鍵盤。許多沒有專用小鍵盤的筆記型電腦都可以透過 存取小鍵盤Fn,但這款筆記型電腦不行。當我運行xev並嘗試使用傳統Fn組合(例如,Fn+ Jfor 1)時,它看不到任何事件。而且標籤上甚至沒有數字。

AFAIU,我無法使用該Fn金鑰建立任何快捷方式,因為Fn它沒有傳遞給作業系統。但理論上我可以用Alt_L+Super_L代替。問題是如何正確地做到這一點。我喜歡在比鍵盤佈局更低的層級上進行操作,以便與所有虛擬機器(甚至非 Linux 虛擬機器)良好配合。

環境:Qubes作業系統。主機部分基於Fedora。

我試過了:

  • 透過 Xfce 快捷鍵綁定 xdotool 命令。這會產生各種奇怪的結果:命令(xdotool 鍵 KP_1 和變體)通常可以正常工作,但在透過快捷方式呼叫時則不行。當透過快捷方式呼叫時,問題可能是當時按下了修飾鍵。我嘗試過各種修改(--clearmodifiers,修飾鍵等),但沒有一個能很好地工作。
  • 對自動鍵執行相同操作。我遇到了一些自動鍵凍結的情況。

非解決方案:

  • 使用外部數字鍵盤/鍵盤:雖然我的外部鍵盤上有一個數字鍵盤(某種程度),但我什至希望在內部鍵盤上也有一個數字鍵盤,例如在旅行時,並且使用外部鍵盤是不可能的或至少不舒服。
  • 使用數字行:在捷克語佈局中,數字行主要用於重音字母。我使用的佈局(Chack 的 extracs 變體)「數字行」中根本沒有數字。
  • 購買不同的筆記型電腦:很難找到滿足我的各種要求的筆記型電腦。

答案1

您可以嘗試一下kbindkeysnumlockx以及稍微客製化的鍵盤。

安裝 xbindkeys 後,您必須執行它。它將告訴您如何建立基本配置。

然後你用xbindkeys -k它來識別金鑰並修改設定檔(這一切都記錄在預設設定檔中)。

最後,我建議你跑xbindkeys -v -n看看是否一切正常。如果是這樣,您可以執行xbindkeys該會話,並可能將其新增至您的啟動腳本。

就我而言,Windows 鍵(右側)進行綁定,我的~/.xbindkeysrc是:

"numlockx toggle"
    m:0x10 + c:134
    Mod2 + Multi_key

現在您可以新增映射。您將使用第五和第六級(numlock 和 shift+numlock)。

在 /usr/share/X11/xkb/symbols/cz 的頂部,緊接著:

default  partial alphanumeric_keys

加入這個片段:

xkb_symbols "with_numpad" {
    include "cz(basic)"

    key.type[Group1] = "EIGHT_LEVEL_ALPHABETIC_LEVEL_FIVE_LOCK";
    key <AC07>  { [         j,          J,   apostrophe,     NoSymbol , 1, 1] };
    key <AC08>  { [         k,          K,      lstroke,     NoSymbol , 2, 2] };
    key <AC09>  { [         l,          L,      Lstroke,     NoSymbol , 3, 3] };
};

現在,當您按下window鍵(右)時,xkeybind將設定numlock,這反過來將使J、K、L等返回1、2、3。

最後一步,設定新鍵盤:

 setxkbmap cz with_numpad

答案2

我認為正確的方法是建立自己的鍵盤佈局。事實上,您必須為每個虛擬機器和每個作業系統執行此操作,但您只需將其部署在範本虛擬機器上。

製作它們實際上並不困難,取決於您的觀點,甚至出奇地容易。對於Linux,你走在正確的道路上。對於 Windows 只需使用自動熱鍵

(或者只是放棄當前的佈局並嘗試新2。它針對德語進行了優化,但總體佈局非常出色,您可以在 Linux 上獲得開箱即用的支持,並在 Windows 上獲得相當不錯的自動熱鍵實現。我已經使用它很多年了。最大的缺點是佈局太奇特了,你經常需要在程式中自訂快捷鍵才能使它們再次可用,例如 vim 中的 hjkl 完全搞砸了。

相關內容