Làm thế nào để ánh xạ lại menu ngữ cảnh sang một khóa khác trong linux?


19

Tôi mới mua một chiếc thinkpad của Lenovo và tôi rất tự hào về mọi thứ trong đó. Nó cảm thấy giống như đá rắn như hạt nhân Linux: P.

Vấn đề là Lenovo đã quyết định loại bỏ phím menu ngữ cảnh là phím thực hiện công cụ nhấp chuột phải. Họ đã thay thế nó bằng một phím màn hình in. Bàn phím của tôi có phần số với một số nút phía trên nó. Có một phím kính lúp mà tôi muốn ánh xạ lại để mở menu ngữ cảnh hoặc là phím bấm chuột phải. có khả năng làm cái này không?

Tôi đã thử tìm kiếm các câu hỏi liên quan khác nhưng tôi chỉ tìm thấy Hỏi & Đáp về cách thêm tùy chọn vào menu ngữ cảnh Nautilus. Tôi muốn ánh xạ một phím vật lý của bàn phím để mở menu này. Giống như trước đây. Dường như Dell đang bỏ phím này trong bàn phím Inspiron của họ. Tôi không biết chuyện gì đang xảy ra vì tôi sử dụng bàn phím nhiều hơn chuột.

Cảm ơn trước.


3
Vui lòng cài đặt xbindkey với sudo apt-get install xbindkeys. Sau đó, trong một thiết bị đầu cuối chạy xbindkeys -kvà nhập khóa bạn muốn thay đổi. Bạn có thể thêm đầu ra cho câu hỏi của bạn?
Seth

"NoCommand" m: 0x50 + c: 46 Mod2 + Mod4 + l
Jhonnytunes

Ai sẽ muốn có một phím In màn hình nơi họ mong đợi một phím Menu? Tôi thực sự tự hỏi làm thế nào bạn say rượu được phép xuất hiện để làm việc tại Lenovo. Dù sao, lưu ý rằng bạn không cần .Xmodmaptạo ra xmodmap -pkeđể bắt đầu, bạn cũng có thể đặt ràng buộc của mình vào một tệp trống. Ngoài ra, hãy nhìn vào những gì @Baha_hi tìm thấy bên dưới.
J. Katzwinkel

Câu trả lời:


13

Nó hơi phức tạp một chút nhưng bạn có thể làm được. Thực hiện theo các bước sau:

Phát hiện mã khóa

  1. Chạy xevđể phát hiện mã khóa:

    xev | grep keycode
    
            state 0x0, keycode 36 (keysym 0xff0d, Return), same_screen YES,
            state 0x0, keycode 107 (keysym 0xff67, Menu), same_screen YES,
            state 0x0, keycode 64 (keysym 0xffe9, Alt_L), same_screen YES,
    
  2. Nhấn phím bạn muốn cấu hình lại. Đầu ra trong thiết bị đầu cuối sẽ hiển thị cho bạn keycode(hãy cẩn thận, có thể có một số).

Kiểm tra bản đồ

  1. Đặt bản đồ mới tạm thời, đối với tôi, đó là keycode 107:

    xmodmap -e "keycode  107 = Return NoSymbol Return"
    

Nếu khóa hoạt động như mong đợi, bạn có thể lưu cấu hình.

Lưu cấu hình của bạn

  1. Lưu bảng sơ đồ bàn phím hiện tại của bạn vào của bạn $HOME, để ghi đè defau:

    xmodmap -pke > ~/.Xmodmap
    
  2. Tạo hoặc chỉnh sửa ~/.xinitrcđể tải cấu hình của bạn:

    $EDITOR ~/.xinitrc
    
  3. Thêm dòng sau

    if [ -f $HOME/.Xmodmap ]; then
            /usr/bin/xmodmap $HOME/.Xmodmap
    fi
    

Thưởng thức

Hầu hết các thông tin trên đến từ bài viết ArchWiki .


Có một vấn đề. Khi tôi nhấn nút 'l' được đánh dấu. Tôi đã kiểm tra nó tại xev và nó đưa cho tôi 46 mã khóa được gán cho chữ L l. Có lẽ nó không có mã khóa mất một.
Jhonnytunes

@Jhonnytunes. Kiểm tra xem bố trí bàn phím của bạn là chính xác. Bạn có thể thay đổi kiểu gõ của mình khi gõ `sudo dpkg-cấu hình lại cấu hình bàn phím '.
Ed Villegas

Vẫn là hành vi tương tự. Tôi đã thử các mô hình thinkpad khác nhau và không có gì.
Jhonnytunes

BTW thinkpad của tôi là E530c và không xuất hiện trong danh sách bàn phím.
Jhonnytunes

Nếu đây là bố cục bàn phím của bạn, có thể phím bên cạnh «Xóa» thực sự là «Menu ngữ cảnh» (chức năng bạn đang tìm kiếm). Nếu không, hãy cấu hình lại một phím khác hoặc hỏi trực tiếp bàn của Lenovo bạn nên chọn bố cục nào.
Ed Villegas

12

Tôi thấy ở đây sử dụng: shift+ F10mở menu ngữ cảnh.

Tôi biết đó không phải là giải pháp tốt nhất nhưng tôi nghĩ nó có thể giúp sử dụng tạm thời!

PS: Tôi cũng có e530c và tôi đã thử nghiệm điều này trên Debian 7 (Wheezy).


3

Cuối cùng tôi đã tìm ra cách để làm điều này sau nhiều giờ thử nghiệm và thất bại: D

Trước hết cài đặt xautomation:

sudo apt-get install xautomation

Sau đó đi đến tab Shortcut của phần Bàn phím trong Cài đặt hệ thống Ubuntu. Đầu tiên, vào mục Ảnh chụp màn hình và ánh xạ lại các hành động sang khóa khác hoặc vô hiệu hóa chúng nếu bạn muốn. Tôi đã thay thế phím PrtSc (In) bằng nút đen Thinkpad (Launch1).

Bây giờ đi đến phần Phím tắt tùy chỉnh và thêm một phím tắt. Đặt tên cho nó bất cứ điều gì bạn thích, ví dụ Menu. Trong trường Lệnh chèn này:

xte 'keydown Shift_L' 'key F10' 'keyup Shift_L'

Công việc đã hoàn thành! Nó hoạt động như một phép màu;)


2

Điều này đã lừa tôi. Đối với tôi, mã khóa cho nút "PrtSc" trên thinkpad của tôi là 107. Tôi thấy rằng bằng công cụ "xev" trong ubfox.

xmodmap -e "keycode  107 = Menu"

Đây là một sự thay đổi tạm thời.

Bạn có thể thực hiện điều này vĩnh viễn bằng cách thêm lệnh này vào / etc / profile và nó sẽ thực thi mỗi khi bạn khởi động và nó sẽ là một thay đổi vĩnh viễn.


1

Gần đây tôi đã mua một chiếc Lenovo E550 và gặp vấn đề tương tự, tôi đã giải quyết nó bằng cách sử dụng xte(từ xautomation) cùng với xmodmap.

Tại sao các câu trả lời khác sẽ không hoạt động hoàn toàn?

  1. Câu trả lời @Ed Villegas (cũng không phải @Null Pulum ) sẽ không hoạt động vì một số phím nằm phía trên phần số không phải là khóa duy nhất của chúng ( ví dụ: khóa khóa có liên quan đến tổ hợp Super+ L). Khi xevđược sử dụng để cố gắng tìm mã khóa khóa, nó trả về cả mã SuperLmã khóa, bạn chỉ cần diễn giải từng xevdòng đầu ra.

  2. Đối với @Bahax@John Finegan : Shift+ F10là một phím menu ngữ cảnh, nó không hoạt động trong tất cả các ứng dụng và nó không cung cấp các chức năng giống như Menu. Nếu bạn chọn một tệp trong trình duyệt tệp và nhấn Menumenu ngữ cảnh cho chính tệp đó sẽ bật lên, điều này không xảy ra với tổ hợp Shift+ F10, thay vào đó, nó sẽ cung cấp menu ngữ cảnh cho cửa sổ.

  3. @Danial Behzadi có cách tiếp cận tương tự với mọi người trong mục thứ 2, nhưng liên kết tổ hợp bàn phím với một phím thông qua trình giả lập tổ hợp phím, nó sẽ liên kết phím với Shift+ F10và cung cấp kết quả tương tự.

Câu trả lời có hiệu quả

Điều quan trọng cần tính đến là khóa không có trong bàn phím ThinkPad là Menu(đó là tên của nó), nó được hiển thị trong hình sau:

Phím menu

Mặc dù không có khóa, nhưng mã khóa sẽ tồn tại trong máy tính của bạn, bạn có thể tìm thấy nó bằng cách in bảng mã khóa xmodmap -pke | grep Menusẽ cung cấp cho bạn một cái gì đó như:

đầu ra xmodmap

Với ý nghĩ đó, hãy cài đặt xautomation(để sử dụng xtecho mô phỏng gõ phím) như trong câu trả lời @Danial Behzadi :

sudo apt-get install xautomation

Và tạo một lối tắt tùy chỉnh, trong Trình kích hoạt, bấm phím mà bạn muốn là phím tắt và trong phần Actiondán xte 'key Menu'. Áp dụng và kiểm tra.

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.