Perbedaan tombol super kiri / kanan

10

Ketika saya menekan Supertombol kiri saya gnome shell muncul dan ketika saya menekan tombol kanan Superitu tidak. Selain itu menekan kanan Super+ Ttidak membuka terminal sekaligus, tetapi ketika menggunakan super kiri saya harus menekan Tdua kali, ketika saya menekan Thanya sekali itu mirip dengan hanya menekan Ttanpa memegang Superkiri. Poin terakhir ini juga terjadi dengan pintasan lain yang saya tetapkan (seperti Super+ L, Super+ E), tetapi tidak dengan Super+ Up/Down/Left/Right.

Yang saya inginkan adalah menekan salah satu Supertombol untuk mendapatkan shell gnome dan menggunakan Supertombol mana saja dalam kombinasi dengan Tuntuk membuka terminal segera (dan mirip dengan cara pintas lainnya). Saya menggunakan Ubuntu 12,04 LTS dan gnome 3 shell.

Erik
sumber
Di Settings Manager -> Keyboard, apakah ada opsi seperti exo-open --launch TerminalEmulator? Jika demikian, apa isinya di kolom kedua, pintasan?
DaimyoKirby
1) Apakah maksud Anda bagian Keyboard di bawah pengaturan sistem? Jika demikian, saya tidak dapat menemukannya di sana. 2) Jika Anda maksud manajer pengaturan compiz, saya juga tidak dapat menemukannya. Apapun, saya mencoba perintah Anda di terminal dan mengatakan bahwa exo-open tidak diinstal, jadi saya sangat ragu opsi itu akan ada di sana. Namun ada terminal peluncuran shortcut kustom dengan perintah x-terminal-emulator. Itu yang saya gunakan, karena terminal peluncuran default sepertinya tidak berfungsi.
Erik

Jawaban:

4

solusi xmodmap

Saya pikir Anda bisa melakukan ini menggunakan xmodmap , alat untuk memodifikasi keymaps. Karena keyboard saya tidak memiliki Supertombol kanan, saya tidak dapat mengkonfirmasi solusi ini, jadi silakan tinggalkan komentar jika tidak berfungsi.
Semua langkah dilakukan di terminal

Cetak peta pengubah saat ini,
Jalankan

xmodmap

Ini harus mencetak peta pengubah saat ini yang akan menyukai sesuatu seperti ini

xmodmap:  up to 4 keys per modifier, (keycodes in parentheses):

shift       Shift_L (0x32),  Shift_R (0x3e)
lock      
control     Control_L (0x25),  Control_R (0x69)
mod1        Alt_L (0x40),  Meta_L (0xcd)
mod2        Num_Lock (0x4d)
mod3      
mod4        Super_L (0x85),  Super_R (0x86),  Super_L (0xce),  Hyper_L (0xcf)
mod5        ISO_Level3_Shift (0x5c),  Mode_switch (0xcb)

Baris yang penting adalah mod4baris, baris ini menunjukkan kode kunci mana yang dipetakan ke simbol kunci Super_L dan Super_R.

Cadangkan peta kunci
Sebelum kita mengubah apa pun, ada baiknya untuk membuat cadangan peta kunci saat ini, kita bisa melakukan ini dengan

xmodmap -pke > ~/.xmodmap.orig

Sekarang jika ada masalah Anda cukup mengetik

xmodmap ~/.xmodmap.orig

untuk mengembalikan peta kunci asli Anda. (Jika Anda melakukan beberapa kesalahan serius dan Anda tidak dapat mengetik dengan benar lagi, reboot juga berfungsi)

Periksa peta kunci saat ini untuk Super kunci
Dengan asumsi bahwa Superkunci memiliki kode kunci berturut-turut (0x85 dan 0x86 dalam kasus ini) kita dapat memeriksa pemetaan saat ini dengan menjalankan

xmodmap -pke | grep -wA1 $((0x85))

tentu saja Anda harus mengubah 0x85 dengan kode kunci yang Anda miliki dari peta pengubah Anda. Ini seharusnya memberi Anda

keycode 133 = Super_L NoSymbol Super_L
keycode 134 = Super_R NoSymbol Super_R

( $((0x85))Mengkonversi angka heksadesimal menjadi desimal)

Menyalin perilaku kiri Super ke kanan Super
Seperti yang Anda lihat dari langkah sebelumnya, Supertombol kanan memiliki kode kunci 134 tetapi kami ingin itu memiliki perilaku tombol kiri Superyang memiliki kode kunci 133. Kita bisa melakukan ini dengan memetakan kembali kunci menggunakan

xmodmap -e "keycode 134 = Super_L NoSymbol Super_L"

Memeriksa apakah berfungsi
Jika Anda sekarang melakukannya

xmodmap -pke | grep -wA1 $((0x85))

kamu harus melihat

keycode 133 = Super_L NoSymbol Super_L
keycode 134 = Super_L NoSymbol Super_L

artinya kedua kunci sekarang memiliki perilaku yang sama. Juga peta pengubah harus berubah pada baris dengan mod4, kita dapat memeriksanya dengan menjalankan

xmodmap | grep 'mod4'

yang seharusnya memberi

mod4        Super_L (0x85),  Super_L (0x86),  Super_L (0xce),  Hyper_L (0xcf)

Dan tentu saja pintasan yang Anda sebutkan harus bekerja juga!

Jadikan pemetaan tetap ada.
Jika berfungsi, Anda dapat memastikan bahwa pengaturan ini diterapkan secara otomatis saat Anda boot. Lari

echo 'keycode 134 = Super_L NoSymbol Super_L' >> ~/.xmodmaprc

untuk menyimpan pemetaan kunci khusus Anda dalam file ~/.xmodmaprc. Lari

echo 'xmodmap ~/.xmodmaprc' >> ~/.xsessionrc

untuk memastikan peta kunci khusus dijalankan ketika manajer jendela Anda memuat.

Gerhard Burger
sumber
1
Pertama-tama terima kasih atas jawaban Anda, saya melakukan semuanya untuk membuat pemetaan tetap ada. Output di terminal persis seperti yang disebutkan, namun masalah saya tetap sama: super kiri menunjukkan shell gnome dan yang benar tidak. Dan serupa dengan pintasan, dengan super kiri, Anda harus menekan t dua kali untuk membuka terminal dan dengan super kanan sekali sudah cukup.
Erik
1
hmm, maka saya juga tidak mengerti: PI kira cara pintas ini ditangani pada tingkat yang lebih dalam.
Gerhard Burger
1
Ah, saya menemukan laporan bug, tampaknya lebih banyak orang memiliki masalah yang sama :) bugzilla.gnome.org/show_bug.cgi?id=659899
Gerhard Burger