Các phím AltGr không hoạt động với Ubuntu trong VirtualBox


8

Tôi vừa cài đặt VirtualBox (từ Oracle) trong Windows 7 và tạo một máy ảo với Ubuntu mới nhất.

Ở đây trong Firefox tôi có thể sử dụng phím Ctrl bên trái, trong khi phím bên phải không có bất kỳ ảnh hưởng nào. Tuy nhiên, tôi không thể sử dụng phím AltGr (còn được gọi là Alt phải) để tạo ra các dấu ngoặc nhọn như {} (Tôi đã dán nó qua Ctrl V).

Trong cửa sổ đầu cuối, tôi có thể chuyển "Phương thức nhập" thành "Đa biến" và sau đó tôi có thể sử dụng AltGr để nhập ví dụ {}, đó là cách tôi tạo ra các ký tự đó cho bài đăng này. Tuy nhiên, với "Đa mục", các phím Ctrl dường như không có tác dụng gì. Vì vậy, để ví dụ, gõ Ctrl DI phải nhấp chuột phải và chuyển "Phương thức nhập" thành "Hệ thống (IBus (Xe buýt đầu vào thông minh))". Sau đó, AltGr không hoạt động.

Tôi đã thử chỉ định phím soạn thảo trong bố trí bàn phím cài đặt hệ thống.

Với điều đó, cả Ctrl và AltGr đều không hoạt động.

Đây là những gì xmodmap báo cáo:

[~]
$ xmodmap -pke | kiểm soát grep -i
mã khóa 37 = Control_L NoSymbol Control_L
mã khóa 105 = Control_R NoSymbol Control_R
[~]
$ xmodmap -pke | grep -i alt
mã khóa 64 = Alt_L Meta_L Alt_L Meta_L
mã khóa 204 = NoSymbol Alt_L NoSymbol Alt_L
[~]
$ _

Làm thế nào tôi có thể sửa lỗi này?

Thông tin bổ sung: bàn phím là bàn phím PC tiêu chuẩn, Logitech K120, với bố cục Na Uy.

Ngoài ra, lần đầu tiên tôi đã thử hỏi câu hỏi này tại trang Superuser nhưng không có phản hồi sau 2 ngày ...


Tôi đã nhận được khóa AltGr hoạt động trong Ubuntu. Tôi chỉ cần biết rằng tôi nên tạo một tệp có tên ".Xmodmap" và thêm dòng này: "keycode 113 = Mode_switch Multi_key". Mà tôi đã tìm thấy trong một báo cáo lỗi về một vấn đề tương tự, tại bug.launchpad.net/ubfox/+source/xkeyboard-config/+orms/349487/ Lỗi
Alf P. Steinbach

Câu trả lời:


5

Chạy lệnh xev. Trong cửa sổ xev, bấm AltGrphím. Bạn sẽ thấy một cái gì đó như

KeyPress event, serial 29, synthetic NO, window 0x6400001,
    root 0x105, subw 0x0, time 966635535, (243,-207), root:(1891,26),
    state 0x0, keycode 66 (keysym 0xff7e, Mode_switch), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

Lưu ý mã khóa; vì khóa không làm những gì bạn muốn, bạn sẽ thấy một cái gì đó khác (có thể Alt_R) thay vì Mode_switch. Bạn muốn gán mã khóa này cho Mode_switch, đó là tên của X11 cho AltGr. Đặt lệnh sau trong một tệp có tên .Xmodmap(ghi chú vốn X) trong thư mục chính của bạn:

keycode 66 = Mode_switch

Ngoài ra, bạn có thể cần chỉ định một công cụ sửa đổi Mode_switch, nhưng nếu tất cả những gì đang xảy ra là sự khác biệt về mã khóa thì sẽ có một. Xem Đặt khóa cho chữ cái tiếng Tây Ban Nha để biết thêm thông tin.

Chạy xmodmap ~/.Xmodmapđể kiểm tra tập tin của bạn. Trên nhiều hệ thống, bao gồm Ubuntu 10.04, tệp này được tải tự động trong môi trường Gnome mặc định. Trên các bản phân phối hoặc môi trường khác, bạn có thể cần chỉ rõ rằng bạn muốn chạy xmodmap ~/.Xmodmapkhi đăng nhập.


Đó là một câu trả lời thú vị, sử dụng mã khóa 66. Trong nhận xét của tôi trước khi bạn đăng câu trả lời này, tôi đã lưu ý rằng mã khóa 113, mà tôi vừa sao chép và dán từ mạng, hoạt động cho dòng đó. Bây giờ khi tôi chạy xevnhư bạn đề xuất, nó báo cáo mã khóa 108. Tuy nhiên, dòng tôi đã sao chép từ mạng hoạt động. Vì vậy, nó dường như không có gì để làm với mã khóa. Tôi đã thay đổi nó thành 66, chỉ để cho vui và khởi động lại: nó vẫn hoạt động. Vì vậy, tôi kết luận rằng nó không phải là một cái gì đó chính xác về mặt kỹ thuật, nhưng rõ ràng là một con bọ hung trong Ubuntu.
Alf P. Steinbach

@ AlfP.Steinbach Mã khóa được xác định bởi phần cứng (hoặc trình giả lập phần cứng, trong VM) và bởi phiên bản máy chủ kernel và X của bạn. Trên bàn phím PC, phím Alt bên phải có mã khóa 113 trên các bản phân phối Linux cũ hơn và 108 trên các bản mới hơn (ví dụ của tôi với 66 là vì tôi có AltGr trên phím Caps Lock). Trước đây tôi đã hỏi làm thế nào để tự động xác định xem tôi có một hệ thống cũ cũ hay hay không, có liên quan đến việc gán mã khóa hay không.
Gilles 'SO- ngừng trở nên xấu xa'

Vâng, nó vẫn hoạt động sau khi đổi tên tập tin đó và khởi động lại. Và thiết bị đầu cuối vẫn còn nhớ lịch sử lệnh cũ sau khi khởi động lại. Với những trạng thái năng động dai dẳng ngớ ngẩn như thế, tôi nghĩ việc săn lùng bọ khá khó khăn: chúng không thể được tái tạo một cách đáng tin cậy trong một môi trường gây nhiễu như vậy. Tôi nghĩ thêm bằng chứng về điều đó là lỗi của AltGr đã xảy ra như thế nào: đóng như đã giải quyết, mở lại, đóng như đã giải quyết, mở lại, v.v. Vì vậy, tôi nghĩ rằng sẽ là một ý tưởng tốt (TM) để trừng phạt nghiêm khắc người đã giới thiệu sự kiên trì của cài đặt & trạng thái. :-)
Alf P. Steinbach
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.