Peta panah keyboard ke pintasan

9

Saya ketik dengan semua jari sepuluh jadi aku menggunakan Alt+ H( J, K, L) shortcut di Vim dalam mode insert untuk bergerak kursor dan itu sangat dingin :) Saya ingin remap tombol panah di X (Gnome) untuk menggunakan cara pintas ini di semua X aplikasi

Jadi jika saya menekan Alt+ Kitu seharusnya berfungsi sebagai panah Atas.

Untuk siksaan diri :) Anda dapat memasukkan baris-baris ini dalam .gvimrc Anda

inoremap <Left>  <NOP>
inoremap <Right> <NOP>
inoremap <Up>    <NOP>
inoremap <Down>  <NOP>
inoremap <A-h> <Left>
inoremap <A-j> <Down>
inoremap <A-k> <Up>
inoremap <A-l> <Right>
ivan73
sumber

Jawaban:

2

Tidak persis apa yang Anda minta, tetapi hampir ...

Anda dapat memetakan ulang pengaturan keyboard X menggunakan xmodmapperintah. Anda dapat melihat pengaturan saat ini dengan menjalankanxmodmap -pke

Setiap kode kunci (yang merupakan nilai yang dikaitkan dengan setiap tombol pada keyboard Anda) dapat memiliki hingga 8 tombol (yang pada dasarnya adalah output) yang melekat padanya. Mereka adalah sebagai berikut:

  1. Saat ditekan sendiri
  2. Saat ditekan dengan shift
  3. Saat ditekan dengan sakelar Mode diaktifkan (tampaknya sudah usang)
  4. Saat ditekan dengan Mode beralih dan bergeser (tampaknya sudah usang)
  5. Saat ditekan dengan Alt-Gr (alias ISO_Level3_Shift dalam istilah xmodmap)
  6. Saat ditekan dengan Alt-Gr dan bergeser

Jadi saat ini kunci "h" saya terlihat seperti:

h H h H hstroke Hstroke

di mana Hstroke keysym menghasilkan Ħ.

Kecuali jika Anda menggunakan Alt-Gr untuk memasukkan karakter non-ascii, Anda dapat memetakan ulang h, j, k dan l dengan Alt-Gr untuk melakukan apa yang Anda inginkan. Ini akan menjadi:

xmodmap -e 'keycode 43 = h H h H Left Hstroke'
xmodmap -e 'keycode 44 = j J j J Up J'
xmodmap -e 'keycode 45 = k K k K Down ampersand'
xmodmap -e 'keycode 46 = l L l L Right Lstroke'

Alt-Gr dengan entri shift tidak sepenuhnya diperlukan tentu saja, saya hanya mempertahankan nilai-nilai yang sudah ada. Anda dapat menemukan nilai kode kunci dengan menjalankan xevperintah dari terminal. xevmenampilkan X acara, sehingga Anda dapat menekan tombol dan mencari tahu informasi tentangnya.

Untuk membuat pengaturan ini permanen, Anda dapat menambahkan yang berikut ke .Xmodmap di direktori home Anda

keycode 43 = h H h H Left Hstroke
keycode 44 = j J j J Up J
keycode 45 = k K k K Down ampersand
keycode 46 = l L l L Right Lstroke

Menekan Alt-Gr tentu tidak sebagus menekan Alt saat menggunakan hjkl, tetapi Anda saya pikir Anda mungkin kesulitan mendapatkan Alt untuk bekerja karena digunakan untuk akses menu. Anda mungkin dapat menggunakan informasi dalam jawaban ini bersama dengan alat yang disebutkan oleh Fraekkert untuk mengikat misalnya Alt-Shift-h sebagai gantinya, yang mungkin lebih cocok untuk Anda.

Mungkin juga perlu dicatat bahwa Anda dapat mengatur mode vi di bash (atau shell mana pun yang Anda gunakan) dengan menggunakan set -o vi. Ini memberi Anda perilaku seperti vi saat mengedit baris perintah dan riwayat. Saya tidak percaya ini terlihat pada .vimrc Anda, jadi jangan berharap remapping kunci Anda berfungsi.

Roger Light
sumber
0

Saya akan menggunakan kombinasi panel preferensi Pintasan Keyboard dan xvkbd.

xvkbd memungkinkan Anda mengirim peristiwa keyboard melalui baris perintah, dan Pintasan Keyboard memungkinkan Anda untuk mengikat baris perintah ke acara utama.

LasseValentini
sumber