Sự khác biệt giữa nút siêu trái / phải


10

Khi tôi nhấn Superphím trái , vỏ gnome xuất hiện và khi tôi nhấn Superphím phải thì không. Hơn nữa, nhấn phải Super+ Tsẽ mở một thiết bị đầu cuối cùng một lúc, nhưng khi sử dụng siêu trái tôi phải nhấn Thai lần, khi tôi nhấn Tmột lần duy nhất, nó tương tự như chỉ nhấn Tmà không giữ Supertrái. Điểm cuối cùng này cũng xảy ra với các phím tắt khác mà tôi đã xác định (như Super+ L, Super+ E), nhưng không xảy ra với Super+ Up/Down/Left/Right.

Điều tôi muốn là nhấn một trong hai Superphím để lấy shell gnome và sử dụng một trong hai Superphím kết hợp với Tđể mở một thiết bị đầu cuối ngay lập tức (và tương tự với các phím tắt khác). Tôi sử dụng Ubuntu 12.04 LTS và vỏ gnome 3.


Trong Settings Manager -> Keyboard, có một lựa chọn như thế exo-open --launch TerminalEmulatornào? Nếu vậy, nó nói gì trong cột thứ hai, phím tắt?
DaimyoKirby

1) Bạn có nghĩa là phần Bàn phím trong cài đặt hệ thống? Nếu vậy tôi không thể tìm thấy nó ở đó. 2) Nếu bạn có nghĩa là người quản lý cài đặt compiz, tôi cũng không thể tìm thấy nó ở đó. Bất kể, tôi đã thử lệnh của bạn trong thiết bị đầu cuối và nó nói rằng exo-open không được cài đặt, vì vậy tôi rất nghi ngờ rằng tùy chọn đó sẽ ở đó. Tuy nhiên, có thiết bị đầu cuối khởi chạy phím tắt tùy chỉnh với lệnh x-terminal-emulator. Đó là cái tôi sử dụng, vì thiết bị đầu cuối khởi chạy mặc định dường như không hoạt động.
Erik

Câu trả lời:


4

giải pháp xmodmap

Tôi nghĩ bạn có thể làm điều này bằng cách sử dụng xmodmap , một công cụ để sửa đổi các keymap. Vì bàn phím của tôi không có Superphím bên phải nên tôi không thể xác nhận giải pháp này, vì vậy vui lòng để lại nhận xét nếu nó không hoạt động.
Tất cả các bước được thực hiện trong một thiết bị đầu cuối

In bản đồ sửa đổi hiện tại
Chạy

xmodmap

Điều này sẽ in bản đồ sửa đổi hiện tại giống như thế này

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)

Dòng quan trọng là mod4dòng, dòng này hiển thị mã khóa nào được ánh xạ tới các ký hiệu khóa Super_L và Super_R.

Sao lưu bản đồ khóa
Trước khi chúng tôi thay đổi bất cứ điều gì, nên sao lưu bản đồ khóa hiện tại, chúng tôi có thể thực hiện việc này với

xmodmap -pke > ~/.xmodmap.orig

Bây giờ nếu có gì sai, bạn chỉ cần gõ

xmodmap ~/.xmodmap.orig

để khôi phục bản đồ khóa ban đầu của bạn. (Nếu bạn mắc một số lỗi nghiêm trọng và bạn không thể gõ đúng nữa, khởi động lại cũng hoạt động)

Kiểm tra sơ đồ khóa hiện tại cho các Super khóa
Giả sử các Superkhóa có mã khóa liên tiếp (0x85 và 0x86 trong trường hợp này), chúng ta có thể kiểm tra ánh xạ hiện tại bằng cách chạy

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

Tất nhiên là bạn nên thay đổi 0x85 bằng mã khóa bạn có từ bản đồ sửa đổi. Điều này sẽ cung cấp cho bạn

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

( $((0x85))chuyển đổi số thập lục phân thành số thập phân)

Sao chép hành vi của bên trái Super sang bên phải Super
Như bạn có thể thấy từ bước trước, Superkhóa bên phải có mã khóa 134 nhưng chúng tôi muốn nó có hành vi của Superkhóa bên trái có mã khóa 133. Chúng tôi có thể thực hiện việc này bằng cách ánh xạ lại khóa bằng cách sử dụng

xmodmap -e "keycode 134 = Super_L NoSymbol Super_L"

Kiểm tra nếu nó hoạt động
Nếu bây giờ bạn làm

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

bạn nên thấy

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

có nghĩa là cả hai khóa hiện có cùng một hành vi. Ngoài ra, bản đồ sửa đổi nên đã thay đổi trên dòng với mod4, chúng ta có thể kiểm tra điều này bằng cách chạy

xmodmap | grep 'mod4'

cái nào nên cho

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

Và tất nhiên các phím tắt mà bạn đề cập cũng nên hoạt động!

Tạo ánh xạ liên tục
Nếu nó hoạt động, bạn có thể đảm bảo rằng các cài đặt này được tự động áp dụng khi bạn khởi động. Chạy

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

để lưu trữ ánh xạ khóa tùy chỉnh của bạn trong tệp ~/.xmodmaprc. Chạy

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

để đảm bảo bản đồ khóa tùy chỉnh được thực thi khi trình quản lý cửa sổ của bạn tải.


1
Trước hết cảm ơn câu trả lời của bạn, tôi đã làm mọi thứ để lập bản đồ liên tục. Đầu ra trong thiết bị đầu cuối chính xác như đã đề cập, tuy nhiên các vấn đề của tôi vẫn giữ nguyên: siêu bên trái hiển thị vỏ gnome và bên phải thì không. Và tương tự với các phím tắt, với siêu bên trái, bạn sẽ phải nhấn t hai lần để mở thiết bị đầu cuối và với siêu bên phải một lần là đủ.
Erik

1
hmm, sau đó tôi cũng không biết gì: PI đoán những phím tắt này được xử lý ở cấp độ sâu hơn.
Burger Gerhard

1
À, tôi đã tìm thấy một báo cáo lỗi, nhiều người có cùng một vấn đề :) bugzilla.gnome.org/show_orms.cgi?id=659899
Gerhard Burger
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.