GNU/Linux >> Linux の 問題 >  >> Ubuntu

Shift +数字を押すことの役割を逆転させますか?

キーボードアクションShift+[1..9]の役割を逆にする方法はありますか?基本的に、私は数字自体よりもはるかに頻繁に数字の記号を使用していることに気づきます。数字のテンキーがあります。そして、これらのシンボルの多くは、コーディングとラテックスで使用されています。ですから、シフトを使用せずに[メールで保護]#$%^&*()を取得する方法を誰かが知っているなら、私は大いに感謝します。

承認された回答:

これは、実際にはxmodmapを使用して非常に簡単に実現できます。次のように、新しいファイルを作成するだけです。

keycode  10 = exclam 1 exclam 1
keycode  11 = at 2 at 2
keycode  12 = numbersign 3 numbersign 3
keycode  13 = dollar 4 dollar 4
keycode  14 = percent 5 percent 5
keycode  15 = asciicircum 6 asciicircum 6
keycode  16 = ampersand 7 ampersand 7
keycode  17 = asterisk 8 asterisk 8
keycode  18 = parenleft 9 parenleft 9
keycode  19 = parenright 0 parenright 0

ホームディレクトリのルートに.Xmodmapとして保存します(大文字と小文字の区別が重要です)。ここで、ログオフして再度ログインすると(再起動が必要になる場合があります)、キーが交換されます。私がこれを思いついた方法を読み続けてください。私がこれを理解するために使用した情報はここから来ました。端末を起動し、次のコマンドを入力します。

xmodmap -pke

これにより、次のような一連のキーコード設定と値のペアが吐き出されます。

......
keycode  27 = r R r R
keycode  28 = t T t T
keycode  29 = y Y y Y
keycode  30 = u U u U
keycode  31 = i I i I
keycode  32 = o O o O
keycode  33 = p P p P
keycode  34 = bracketleft braceleft bracketleft braceleft
keycode  35 = bracketright braceright bracketright braceright
keycode  36 = Return NoSymbol Return
keycode  37 = Control_L NoSymbol Control_L
keycode  38 = a A a A
keycode  39 = s S s S
keycode  40 = d D d D
keycode  41 = f F f F
keycode  42 = g G g G
keycode  43 = h H h H
keycode  44 = j J j J
keycode  45 = k K k K
......

キーコードは物理キーボードのキーであり、等号の右側の値はPCに送信されるものです。 4つある理由は、1つ目はプレーン、2つ目はShiftキーを押した状態、3つ目(プレーン)と4つ目(shift)は、ScrollLockボタンをクリックすると有効になっているように見えるためです。ご覧のとおり、これにより、キーボードを変更するために思い描いたすべてのことを柔軟に実行できます。

これで、これは(GUIのように)Xにログインしている場合にのみ機能するため、この名前が付けられています。 Gnome、Unityなどで端末を起動する場合でも、Xmodmapを使用しても問題ありませんが、コンソールで同じ機能が必要な場合(つまり、CTRL + ALT + 1を押した後、ボックスに移動し、サーバーで作業します。またはGUIのない​​PC)ロードキーを使用する必要があります。一般的な考え方は同じですが、ロードキーははるかに多くの機能と粒度を提供するため、少し複雑になります。現在、これらのコマンドはすべて実際のコンソールから実行する必要があります。ターミナルエミュレータでは実行できません。実行しないと、次のようなエラーが発生します。Couldn't get a file descriptor referring to the console> 。

まず、次のようなデフォルトのキーマップを作成する必要があります。

dumpkeys > ~/my_keymap.map

あなたが本当にそれを台無しにする場合に備えて、これのコピーを作るのは良い考えでしょう。これで、変更を加えて編集する必要があります。各キー定義は次のようになります:

keycode   2 = one              exclam           one              one             
    alt keycode   2 = Meta_one        
    shift   alt keycode   2 = Meta_exclam     
    altgr   alt keycode   2 = Meta_one        
    shift   altgr   alt keycode   2 = Meta_one        
    shiftl  keycode   2 = one             
    shift   shiftl  keycode   2 = exclam          
    altgr   shiftl  keycode   2 = one             
    shift   altgr   shiftl  keycode   2 = one             
    alt shiftl  keycode   2 = Meta_one        
    shift   alt shiftl  keycode   2 = Meta_exclam     
    altgr   alt shiftl  keycode   2 = Meta_one        
    shift   altgr   alt shiftl  keycode   2 = Meta_one        
    shiftr  keycode   2 = one             
    shift   shiftr  keycode   2 = exclam          
    altgr   shiftr  keycode   2 = one             
    shift   altgr   shiftr  keycode   2 = one             
    alt shiftr  keycode   2 = Meta_one        
    shift   alt shiftr  keycode   2 = Meta_exclam     
    altgr   alt shiftr  keycode   2 = Meta_one        
    shift   altgr   alt shiftr  keycode   2 = Meta_one        
    shiftl  shiftr  keycode   2 = one             
    shift   shiftl  shiftr  keycode   2 = exclam          
    altgr   shiftl  shiftr  keycode   2 = one             
    shift   altgr   shiftl  shiftr  keycode   2 = one             
    alt shiftl  shiftr  keycode   2 = Meta_one        
    shift   alt shiftl  shiftr  keycode   2 = Meta_exclam     
    altgr   alt shiftl  shiftr  keycode   2 = Meta_one        
    shift   altgr   alt shiftl  shiftr  keycode   2 = Meta_one        
    ctrll   keycode   2 = one             
    shift   ctrll   keycode   2 = exclam          
    altgr   ctrll   keycode   2 = one             
    shift   altgr   ctrll   keycode   2 = one             
    alt ctrll   keycode   2 = Meta_one        
    shift   alt ctrll   keycode   2 = Meta_exclam     
    altgr   alt ctrll   keycode   2 = Meta_one        
    shift   altgr   alt ctrll   keycode   2 = Meta_one        
    shiftl  ctrll   keycode   2 = one             
    shift   shiftl  ctrll   keycode   2 = exclam          
    altgr   shiftl  ctrll   keycode   2 = one             
    shift   altgr   shiftl  ctrll   keycode   2 = one             
    alt shiftl  ctrll   keycode   2 = Meta_one        
    shift   alt shiftl  ctrll   keycode   2 = Meta_exclam     
    altgr   alt shiftl  ctrll   keycode   2 = Meta_one        
    shift   altgr   alt shiftl  ctrll   keycode   2 = Meta_one        
    shiftr  ctrll   keycode   2 = one             
    shift   shiftr  ctrll   keycode   2 = exclam          
    altgr   shiftr  ctrll   keycode   2 = one             
    shift   altgr   shiftr  ctrll   keycode   2 = one             
    alt shiftr  ctrll   keycode   2 = Meta_one        
    shift   alt shiftr  ctrll   keycode   2 = Meta_exclam     
    altgr   alt shiftr  ctrll   keycode   2 = Meta_one        
    shift   altgr   alt shiftr  ctrll   keycode   2 = Meta_one        
    shiftl  shiftr  ctrll   keycode   2 = one             
    shift   shiftl  shiftr  ctrll   keycode   2 = exclam          
    altgr   shiftl  shiftr  ctrll   keycode   2 = one             
    shift   altgr   shiftl  shiftr  ctrll   keycode   2 = one             
    alt shiftl  shiftr  ctrll   keycode   2 = Meta_one        
    shift   alt shiftl  shiftr  ctrll   keycode   2 = Meta_exclam     
    altgr   alt shiftl  shiftr  ctrll   keycode   2 = Meta_one        
    shift   altgr   alt shiftl  shiftr  ctrll   keycode   2 = Meta_one 

ご覧のとおり、より多くの機能/粒度を提供します。キーごとに、シフト値と通常の値を交換するだけです。つまり、交換された1つのキーは次のようになります。

keycode   2 = exclam              one           exclam              exclam             
    alt keycode   2 = Meta_exclam        
    shift   alt keycode   2 = Meta_one     
    altgr   alt keycode   2 = Meta_exclam        
    shift   altgr   alt keycode   2 = Meta_exclam        
    shiftl  keycode   2 = exclam             
    shift   shiftl  keycode   2 = one          
    altgr   shiftl  keycode   2 = exclam             
    shift   altgr   shiftl  keycode   2 = exclam             
    alt shiftl  keycode   2 = Meta_exclam        
    shift   alt shiftl  keycode   2 = Meta_one     
    altgr   alt shiftl  keycode   2 = Meta_exclam        
    shift   altgr   alt shiftl  keycode   2 = Meta_exclam        
    shiftr  keycode   2 = exclam             
    shift   shiftr  keycode   2 = one          
    altgr   shiftr  keycode   2 = exclam             
    shift   altgr   shiftr  keycode   2 = exclam             
    alt shiftr  keycode   2 = Meta_exclam        
    shift   alt shiftr  keycode   2 = Meta_one     
    altgr   alt shiftr  keycode   2 = Meta_exclam        
    shift   altgr   alt shiftr  keycode   2 = Meta_exclam        
    shiftl  shiftr  keycode   2 = exclam             
    shift   shiftl  shiftr  keycode   2 = one          
    altgr   shiftl  shiftr  keycode   2 = exclam             
    shift   altgr   shiftl  shiftr  keycode   2 = exclam             
    alt shiftl  shiftr  keycode   2 = Meta_exclam        
    shift   alt shiftl  shiftr  keycode   2 = Meta_one     
    altgr   alt shiftl  shiftr  keycode   2 = Meta_exclam        
    shift   altgr   alt shiftl  shiftr  keycode   2 = Meta_exclam        
    ctrll   keycode   2 = exclam             
    shift   ctrll   keycode   2 = one          
    altgr   ctrll   keycode   2 = exclam             
    shift   altgr   ctrll   keycode   2 = exclam             
    alt ctrll   keycode   2 = Meta_exclam        
    shift   alt ctrll   keycode   2 = Meta_one     
    altgr   alt ctrll   keycode   2 = Meta_exclam        
    shift   altgr   alt ctrll   keycode   2 = Meta_exclam        
    shiftl  ctrll   keycode   2 = exclam             
    shift   shiftl  ctrll   keycode   2 = one          
    altgr   shiftl  ctrll   keycode   2 = exclam             
    shift   altgr   shiftl  ctrll   keycode   2 = exclam             
    alt shiftl  ctrll   keycode   2 = Meta_exclam        
    shift   alt shiftl  ctrll   keycode   2 = Meta_exclam     
    altgr   alt shiftl  ctrll   keycode   2 = Meta_exclam        
    shift   altgr   alt shiftl  ctrll   keycode   2 = Meta_exclam        
    shiftr  ctrll   keycode   2 = exclam             
    shift   shiftr  ctrll   keycode   2 = one          
    altgr   shiftr  ctrll   keycode   2 = exclam             
    shift   altgr   shiftr  ctrll   keycode   2 = exclam             
    alt shiftr  ctrll   keycode   2 = Meta_exclam        
    shift   alt shiftr  ctrll   keycode   2 = Meta_one     
    altgr   alt shiftr  ctrll   keycode   2 = Meta_exclam        
    shift   altgr   alt shiftr  ctrll   keycode   2 = Meta_exclam        
    shiftl  shiftr  ctrll   keycode   2 = exclam             
    shift   shiftl  shiftr  ctrll   keycode   2 = one          
    altgr   shiftl  shiftr  ctrll   keycode   2 = exclam             
    shift   altgr   shiftl  shiftr  ctrll   keycode   2 = exclam             
    alt shiftl  shiftr  ctrll   keycode   2 = Meta_exclam        
    shift   alt shiftl  shiftr  ctrll   keycode   2 = Meta_one     
    altgr   alt shiftl  shiftr  ctrll   keycode   2 = Meta_exclam        
    shift   altgr   alt shiftl  shiftr  ctrll   keycode   2 = Meta_exclam

細分性が高い理由は、コンソールを使用するときに、その性質上、より多くのキーボードショートカットを使用する傾向があるためです。

関連:UbuntuにTorをインストールするにはどうすればいいですか?

ここで、変更をテストするために、次のコマンドを使用できます。

loadkeys ~/my_keymap.map

遊んで、普段使っているプログラムをいくつか使って、思い通りに動作することを確認してください。混乱した場合は、loadkeysを使用できます。 デフォルトにフォールバックするコマンド。永続的にするために、コマンドを~/.bashrcの最後に追加できます。 ファイル。

関連:「sudoapt-get install foo-」により、fooパッケージとそれに依存するすべてのものが削除されますか?
Ubuntu
  1. SASEでのVPNの役割

  2. Xkbでいくつかのキーコードをオーバーライドしますか?

  3. Ubuntu – Alt Focusを無効にしますか?

  1. LinuxでAnsibleの役割を開発するための8つのステップ

  2. RHCE Ansibleシリーズ#9:Ansibleの役割

  3. WSUSサーバーの役割をインストールします

  1. Terraformを使用してAWSでIAMロールを作成する方法

  2. ターミナルで誤ってCtrl-sを押した後にフリーズを解除するにはどうすればよいですか?

  3. Xmodmap Shift + KeycodeでKeysymを生成しますか?