ánh xạ lại alt phải để hành xử như ctrl phải


8

Tôi đang cố gắng sắp xếp lại right altđể hành xử giống như tôi right ctrlđể tôi có thể sử dụng ngón tay cái bên phải của mình để nhấn ctrlnút. Đây là Ubuntu 12.04.

Tôi đã tạo tệp .Xmodmap trong thư mục nhà của tôi với nội dung sau:

clear control
clear mod1
!keycode 64 = Alt_L Meta_L
keycode 108 = Alt_R Meta_R
add control = Control_L Control_R Alt_R
add mod1 = Alt_L Meta_L

Như bạn có thể đoán, phím alt bên trái của tôi có mã khóa 64 và left altkhóa của tôi có mã khóa 108.

Điều này thực sự hoạt động theo nghĩa là phím alt bên phải của tôi hoạt động như thể tôi nhấn ctrlphím.

Tuy nhiên, altkhóa bên trái của tôi bây giờ không còn làm gì nữa, điều đó có nghĩa là tôi không còn altchìa khóa. Điều này là lạ đưa xmodmapra đầu ra sau đâ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),  Alt_R (0x6c)
mod1        Alt_L (0x40),  Alt_L (0xcc),  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)

Điều kỳ lạ là khi tôi loại bỏ ánh xạ Alt_R control, các altphím hoạt động.

(ví dụ: thay đổi dòng thứ hai thành dòng cuối cùng thành :)

add control = Control_L Control_R

Bây giờ ngay cả alt bên phải của tôi hoạt động như một altchìa khóa làm tôi bối rối. Sau khi xóa ánh xạ Alt_R khỏi dòng điều khiển, đầu ra của give xmodmap:

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_L (0xcc),  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)

Hy vọng các bạn có thể giúp đỡ.

ps. Tôi đã sử dụng trang web này như là một nguồn.

Câu trả lời:


6

Bạn có thể chỉ cần sử dụng Bố cục bàn phím >> Tùy chọn >> Vị trí phím Ctrl >> Alt phải như Ctrl phải , nhưng điều này không hoạt động. Điều này đã được đệ trình chống lại Debian với tên Bug # 663218

1) Bắt đầu mới bằng cách xóa ~ / .Xmodmap.

2) Lưu ý rằng bạn không cần xóa Control và Mod1. Điều này làm cho nó dễ dàng hơn để chỉ thay đổi những gì bạn muốn. ~ / .Xmodmap của bạn sẽ là:

!Swap right control and right alt
remove Control = Control_R
remove Mod1 = Alt_R
keycode 105 = Alt_R
keycode 108 = Control_R
add Control = Control_R
add Mod1 = Alt_R

2

Nếu bạn là một trong những người không may mắn như tôi không thể lấy xmodmap để chuyển sang Alt phải bằng Ctrl, thì có lẽ điều này sẽ giúp ích.

Nếu bạn nhấn phải Alt và e và bạn nhận được é thì giải pháp này là dành cho bạn (cần cải thiện).

Chạy cái này trong terminal (kiểm tra mã khóa của bạn với xev):

xmodmap -e "keycode 108 = Alt_R Meta_R Alt_R Meta_R"

sau đó đặt mã này vào .Xmodmap của bạn:

remove Control = Control_R
remove Mod1 = Alt_R
keycode 105 = Alt_R
keycode 108 = Control_R
add Control = Control_R
add Mod1 = Alt_R

Mã này đặt khóa Alt_Gr của bạn thành Alt_R, và sau đó nó hoán đổi Alt_r bằng Ctrl_R.

Nếu bạn muốn điều này duy trì sau khi bạn đăng xuất, hãy đặt các lệnh sau vào bất kỳ tệp shell khởi động nào của bạn, ví dụ ~ / .profile:

if [ -f $HOME/.Xmodmap ]; then
  xmodmap -e "keycode 108 = Alt_R Meta_R Alt_R Meta_R"
  /usr/bin/xmodmap $HOME/.Xmodmap
fi

nguồn: câu hỏi1 câu hỏi2


1

Trên Ubuntu 19.04, Để làm cho toàn hệ thống ánh xạ, bạn nên thay đổi hai tệp:

  • / usr / share / X11 / xkb / biểu tượng / altwin
  • / usr / share / X11 / xkb / ký hiệu / pc

Thêm phần sau vào phần trước:

// Ctrl is mapped to the Alt.
partial modifier_keys
xkb_symbols "right_alt" {
    key <LALT> { [ Alt_L, Meta_L ] };
    key <RALT> { type[Group1] = "TWO_LEVEL",
                 symbols[Group1] = [ Control_R, Control_R ] };
    modifier_map Mod1 { Alt_L, Alt_R, Meta_L, Meta_R };
    modifier_map Control { <LCTL>, <RALT> };
};

Và thay thế include "altwin(meta_alt)"cho include "altwin(right_alt)"cái sau.


Điều này trả lời câu hỏi và làm việc. Nhưng câu trả lời được chấp nhận hoán đổi alt bên phải và ctrl bên phải. Điều này ban đầu không được hỏi, nhưng tôi nghĩ đó là một giải pháp mà nhiều người đang tìm kiếm (có hai điều khiển bên phải không tiện dụng lắm). Bạn có phiền khi thêm cách ánh xạ quyền điều khiển sang bên phải không?
Tedward
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.