Mengatur tingkat penekanan tombol yang berbeda untuk masing-masing kunci?

8

Saya ingin tingkat pengulangan yang sangat tinggi dan penundaan yang rendah pada tombol backspace saya, tetapi penundaan dan tingkat yang teratur pada setiap kunci lainnya. Perintah ini berfungsi, tetapi mengaturnya untuk setiap kunci:

xset r rate 120 30

Apakah ada cara untuk memiliki pengaturan berbeda untuk masing-masing kunci?

Michael Burge
sumber
xset r 22 r rate 120 30harus melakukan apa yang Anda cari tetapi di laptop saya itu tidak berfungsi. Kode kunci untuk backspace adalah 22.
turbo
Perintah itu muncul untuk mengaktifkan tombol backspace, dan kemudian mengatur setiap kunci untuk memiliki tingkat yang diberikan. Itu (dan 'xset -r 22 r 120 30' yang serupa) tidak hanya menetapkan kunci backspace untuk memiliki tingkat itu.
Michael Burge

Jawaban:

6

Saya pikir jawaban untuk pertanyaan Anda adalah tidak, tidak ada cara untuk mencapai kekurangan modyfying sumber X.org ini.

Berikut ini penjelasan mengapa xsettidak bekerja; Saya membuat jawaban karena sesuai dengan komentar yang ditemukan di OP dan jawaban di atas.

xset rmemiliki beberapa cara alternatif untuk dipanggil. Saling eksklusif, yaitu:

xset r 22

..akan nyalakan pengulangan untuk kode kunci 22 (backspace) aktif, sementara xset -r 22akan mematikannya.

Sebagai alternatif, dimungkinkan untuk menentukan kecepatan keyboard, tetapi hanya untuk semua tombol:

xset r rate [num1 [num2]]

Anda tidak dapat menggabungkan keduanya.

Adapun 08 / 22 kebingungan: 08 adalah ASCII kode untuk ASCII karakter backspace, dan 22 adalah X jendela keycode untuk fisik tertentu kunci .

Sayangnya, dua pengaturan (rate / delay dan on-off repeat kunci) ditangani oleh dua ekstensi X yang berbeda:

  • "rate / delay" ditangani oleh ekstensi XF86Misc. xsetmengubah laju / keterlambatan menggunakan fungsi XF86MiscGetKbdSettings( display, values ). The valuesStruktur XF86MiscKbdSettings hanya kolom untuk tingkat berulang dan delay (dan dua lainnya tidak penting di sini), dan tidak ada cara menerapkannya tapi umum.
  • "per key on-off" dikendalikan oleh ekstensi XKB. Ekstensi XKB memungkinkan untuk mengontrol kunci yang dipilih, tetapi struktur yang menyimpan informasi pada kunci ini hanya berisi bidang yang dapat mengambil salah satu dari tiga nilai: default, tanpa pengulangan, pengulangan.

Singkatnya, ini tampaknya tidak mungkin untuk dicapai dalam pengaturan X.org saat ini.

Januari
sumber
Terima kasih atas jawaban ini. Saya mungkin akan mematikan berulang untuk semua kunci, dan secara selektif mengaktifkannya untuk tombol backspace / panah.
Michael Burge
0

Mencoba:

xset r 8 rate 120 30

The para xsetmanualnya di www.x.org memberikan beberapa bantuan pada perintah. Saya juga menemukan Keyboard Keys dan Key Code Values , yang ada di situs web Adobe tapi saya pikir kode kuncinya harus benar.

Maleakhi
sumber
di mana-mana saya telah melihat mengatakan bahwa kode kunci untuk backspace adalah8
Maleakhi
Jika Anda masuk xevke terminal dan kemudian tekan backspace, ia akan mengatakan bahwa kode kuncinya adalah 22.
beberapa situs yang telah saya lihat tidak memberikan kunci yang ditugaskan untuk 22, dan yang lain mengatakan bahwa 22 adalah Page Downkuncinya. sayangnya saya tidak dekat dengan kotak Linux saya untuk dapat menguji semua ini.
Maleakhi
Anda dapat menggunakan xevuntuk mengetahui apa kode kunci pada sistem Anda sendiri; tekan tombol pada keyboard Anda dan itu akan memberi Anda kode kunci.
Saya di Windows sekarang
Maleakhi