Beberapa keyboard dengan tata letak yang berbeda

16

Saya menjalankan ubuntu (11.04) di macbook pro baru-baru ini. Saya menggunakan keyboard internal dan keyboard eksternal. Saya ingin memetakan ulang capslock pada kedua keyboard menjadi super, dan saya ingin menukar alt-kiri (opsi mac) dan super-kiri (mac cmd) hanya pada keyboard (apple) bawaan.

Xmodmap tidak dapat mengonfigurasi beberapa keyboard secara berbeda, jadi itulah yang terjadi.

Saya dapat melakukan ini dari cli via setkbmap. Ini skrip yang saya gunakan:

#!/bin/sh
#set caps to super
setxkbmap -option caps:super

#swap command and option for apple keyboard
setxkbmap -device `xinput list | grep -o -P 'Apple Internal Keyboard / Trackpad\s+id=\d+' | grep -o -P '\d+'` -option altwin:swap_lalt_lwin

Jika harus, saya dapat menjalankan ini sebagai aplikasi startup, tetapi saya benar-benar ingin tahu jika ada file konfigurasi saya dapat menambahkan pengaturan ini sebagai gantinya.

Sepertinya saya harus dapat menambahkan opsi (XkbOptions) ke bagian inputdevice xorg.conf saya, tetapi ketika saya mencoba ini, pengaturannya tidak berpengaruh (mungkin gnome menimpa pengaturan X?). Saya juga mencoba menambahkan inputclass baru ke xorg.conf tetapi itu tidak berhasil.

Apa tempat yang tepat untuk mengonfigurasi beberapa keyboard dengan binding kunci berbeda?

psanford
sumber
1
Catatan: Menempatkan skrip ini di aplikasi startup memperbaikinya saat masuk, tetapi setelah melanjutkan dari penundaan saya harus menjalankannya lagi secara manual. Pasti ada cara yang lebih baik untuk melakukan ini!
psanford
1
Seharusnya ada ... Saya telah mengatur tata letak default melalui /etc/default/keymap(Debian) atau /etc/X11/xorg.conf.d/00-keyboard.conf(Fedora) untuk menghindari masalah yang sedang berlangsung, tetapi mungkin tidak berfungsi untuk beberapa keyboard dengan opsi yang berbeda (pada kedua OS, ini digunakan untuk menentukan konsol keymap serta X keymap, dan dengan demikian agak terbatas).
dhardy

Jawaban:

7

Dimungkinkan untuk melakukan ini di konfigurasi xorg:

Section "InputClass"
  Identifier     "Keyboard Catch All"
  MatchUSBID     "058f:9410"
  Option         "XkbOptions" "caps:super,terminate:ctrl_alt_bksp"
EndSection

Section "InputClass"
  Identifier "Apple Keyboards"
  MatchUSBID     "05ac:0236"
  Option         "XkbOptions" "altwin:swap_lalt_lwin,caps:super"
EndSection

Namun, GDM memiliki caranya sendiri untuk mengatur pengaturan papan ketik Anda yang akan menimpa pengaturan xorg ini. Saya belum menemukan solusi yang berfungsi baik dengan GDM.

psanford
sumber