Thay đổi phím Mod trong Awesome WM


9

Tôi đã cố gắng thay đổi phím mod một cách tuyệt vời từ phím windows sang Tạm dừng, Khóa cuộn và Thoát.

Đối với tất cả các khóa tôi đã cố gắng thay đổi mục trong rc.luatệp cấu hình; Tôi đã cố gắng sử dụng xmodmap để xóa khóa vàadd mod4 = ...

Tuy nhiên, dường như bất kể tôi làm gì, các phím đều bị "dính" (đôi khi theo một cách không nhất quán kỳ lạ), cụ thể là nếu tôi nhấn chúng một khi máy tính hoạt động như thể chúng liên tục bị nhấn.

Có một cách hợp lý để thay đổi hành vi này?

Câu trả lời:


2

Tôi có một tập tin với hai dòng này trong nhà của tôi:

clear lock 
keysym Caps_Lock = Super_L

Nó được gọi từ RC.lua của tôi như thế này:

awful.util.spawn("xmodmap /home/username/your_xmodmap.file")

Tôi không muốn sử dụng capslock làm modkey. các clear lockClears lệnh chuyển khóa, và không nên có bất kỳ thay đổi khóa cho một trong hai phím được đề cập trong dòng đầu tiên của câu hỏi của tôi.
Archie

2

Cách muộn, nhưng để người khác tham khảo:

Vấn đề dường như là xmodmap không xác định bất kỳ khóa nào bạn liệt kê là khóa bổ trợ. Do đó AwesomeWM không cho phép chúng được sử dụng làm khóa sửa đổi.

Bạn có thể thử thêm khóa bạn muốn sử dụng làm Mod3 (dường như không được sử dụng cho bất kỳ thứ gì trên hầu hết các hệ thống tôi đã thấy), sau đó RC.lua của bạn có thể liệt kê modkey là "Mod3".

Thêm làm khóa sửa đổi

Bạn có thể thấy các phím bổ trợ của bạn với xmodmap. Theo mặc định, bạn có thể nhận được một cái gì đó như thế này:

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

shift       Shift_L (0x32),  Shift_R (0x3e)
lock        Caps_Lock (0x42)
control     Control_L (0x25),  Control_R (0x69)
mod1        Alt_L (0x40),  Alt_R (0x6c),  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)

Với xevbạn có thể thấy tên của bất kỳ phím nào bạn nhấn trong khi nó đang chạy và đối với Scroll Lock, mỏ của tôi hiển thị dưới dạng:

KeyPress event, serial 36, synthetic NO, window 0x2200001,
    root 0x225, subw 0x0, time 23086947, (433,729), root:(470,783),
    state 0x0, keycode 78 (keysym 0xff14, Scroll_Lock), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyRelease event, serial 36, synthetic NO, window 0x2200001,
    root 0x225, subw 0x0, time 23087091, (433,729), root:(470,783),
    state 0x0, keycode 78 (keysym 0xff14, Scroll_Lock), same_screen YES,
    XLookupString gives 0 bytes: 
    XFilterEvent returns: False

Bạn sẽ nhận thấy tên của keyym là Scroll_Lock.

Để thêm vào Mod3, bạn cần tạo hoặc thêm vào ~/.Xmodmap. Việc thêm dòng này đặt Mod3 thành chỉ là phím Scroll_Lock:

add Mod3 = Scroll_Lock

Để kiểm tra các thay đổi của bạn và xem bất kỳ lỗi nào trong tệp .Xmodmap của bạn, hãy chạy

xmodmap ~/.Xmodmap

Đang cập nhật RC.lua

Như bạn đã rõ ràng đã tìm ra, về phía trên cùng của tệp RC.lua của bạn (thường là trong ~/.config/awesome/rc.lua), có một modkey = "Mod4"dòng. Thay đổi điều này thành modkey = "Mod3".

Cảnh báo

Khóa Esc được AwesomeWM sử dụng cho một số ánh xạ chính. Thay vào đó, tôi khuyên bạn nên thử Scroll Lock hoặc Tạm dừng vì ít có khả năng xảy ra xung đột. Trong thực tế, AwesomeWM dường như cho rằng Esc được dành riêng để hủy hoạt động hiện tại.

Scroll Lock dường như được coi là kỳ diệu như một khóa khóa, giống như Caps Lock. Sự khác biệt là hành vi khóa của Caps Lock tương đối tầm thường để vô hiệu hóa, trong khi Scroll Lock không thể tắt hành vi này theo như tôi có thể nói.

Tôi khuyên bạn nên thử điều này với một khóa như khóa Numpad 0 hoặc thứ gì đó thường không được thiết kế là khóa khóa trạng thái, xác nhận nó hoạt động, sau đó thử chuyển sang khóa bạn muốn.


0

Tôi biết tôi trễ 3 năm, nhưng nếu điều này giúp được ai, hãy chuyển đổi

modkey = "Mod4"

với

modkey = "Mod1"

Đó là khái niệm cơ bản, nhưng các khóa cụ thể mà anh ấy liệt kê không thể được sử dụng với một sửa đổi đơn giản như thế đối với RC.lua. Cài đặt modkey trong RC.lua rõ ràng chỉ có thể được đặt thành các khóa mà xmodmap coi là các phím bổ trợ (như shift hoặc ctrl) và không thể được đặt thành một cái gì đó như 'x'.
mtalexan
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.