Làm cách nào tôi có thể làm cho Ctrl + Alt hoạt động như Alt gr trong Ubuntu?


11

Gần đây tôi đã chuyển sang Ubuntu trên máy tính xách tay của mình và một điều gần như khiến tôi phải quay lại với windows là thực tế là tôi không thể thực hiện Ctrl+ Altđể hành động như Alt gr.

Tôi đã lập trình trong vài năm và ví dụ tôi đã quá quen với việc tạo dấu "$" bằng cách nhấn ctrl+ alt+ 4. Ở đây trong Ubuntu tôi phải sử dụng phù thủy "Alt gr + 4" gần như khiến tôi phát điên ...

có cách sửa nào cho nó không?


1
Bạn đã thử chơi với ánh xạ của composekey chưa? help.ubfox.com/community/ComposeKey
Tim Kennedy

Bạn có thể sử dụng xmodmaplệnh để làm điều này. Kiểm tra này askubuntu.com/questions/5095/typing-using-key-combinations
Bichoy

Hãy thử xmodmap, có sẵn trong gói x11-xserver-utils trong ubfox. Nó cho phép bạn sắp xếp lại bất kỳ tổ hợp phím nào.
Warren

@elitasson Nếu bạn tìm ra câu trả lời cho câu hỏi của riêng mình, vui lòng gửi nó dưới dạng câu trả lời riêng.
Bernhard

@Bernhard Không, bạn không thể làm điều này với xmodmap. Nó không hỗ trợ làm cho tổ hợp Ctrl + Alt trở thành một công cụ sửa đổi riêng biệt. Nhưng tôi nghĩ bạn có thể với xkb .
Gilles 'SO- ngừng trở nên xấu xa'

Câu trả lời:


3

Bạn có thể thêm các phím tắt toàn cầu để viết ký tự đặc biệt. Tôi sử dụng điều này thường xuyên cho bố trí bàn phím tiếng Đức của tôi với Ubuntu (trên Windows hoạt động tốt).

Tôi đã thêm các phím tắt sau:

Shift+ Enter+ 7để viết thư{

Shift+ Enter+ 0để viết thư}

Shift+ Enter+ 8để viết thư[

Shift+ Enter+ 9để viết thư]

Để thêm các phím tắt này, bạn sẽ cần xbindkeysxvkbd:

sudo apt-get install xbindkeys xvkbd

Sau đó chỉnh sửa tập tin cấu hình:

vim ~/.xbindkeysrc

Và thêm các dòng sau (chỉnh sửa chúng nếu bạn muốn):

"xvkbd -xsendevent -text '{'"
    m:0xc + c:16
    Control+Alt + 7

"xvkbd -xsendevent -text '['"
    m:0xc + c:17
    Control+Alt + 8

"xvkbd -xsendevent -text ']'"
    m:0xc + c:18
    Control+Alt + 9

"xvkbd -xsendevent -text '}'"
    m:0xc + c:19
    Control+Alt + 0

"xvkbd -xsendevent -text '\[backslash]'"
    m:0xc + c:20
    Control+Alt + ssharp

"xvkbd -xsendevent -text '\[asciitilde]'"
    m:0xc + c:35
    Control+Alt + plus

Sau đó tải lại xbindkeys:

xbindkeys -f ~/.xbindkeysrc

Cảm ơn whiz vì đã chia sẻ điều này ( http://forum.ubfoxusers.de/topic/strg-%2B-alt-alt-gr-wie-in-windows/ ).


1
Bạn có thể giải thích những dòng m: 0xc + c: XX không?
elitasson

1
Tôi biết đây là một câu hỏi và câu trả lời cũ, nhưng chỉ dành cho những người muốn thêm nhiều nhân vật như | hoặc @ hoặc €: Các mã khóa được sử dụng tại c:XX, theo như tôi biết, không phải là phổ quát, vì vậy bạn sẽ không gặp may mắn. Tuy nhiên, bạn có thể tìm ra mã khóa cục bộ bằng cách cài đặt và thực thi "xev" trong dòng lệnh của mình. Nó sẽ in tất cả các hành động bàn phím và chuột của bạn, vì vậy bạn sẽ phải cuộn một chút để tìm ký tự "của bạn".
Nano Miratus

1
Ví dụ: nhấn <(để định cấu hình |) trong khi chạy xev sẽ in ra: KeyRelease event, serial 40, synthetic NO, window 0x4c00001, root 0x7e, subw 0x0, time 35363548, (135,60), root:(903,472), state 0x0, keycode 94 (keysym 0x3c, less), same_screen YES, XLookupString gives 1 bytes: (3c) "<" XFilterEvent returns: FalseSố bạn cần luôn ở dòng thứ ba, sau "mã khóa". Vì vậy, trong trường hợp này, 94.
Nano Miratus

2

Sau khi thử và không làm cho nó hoạt động với sự kết hợp của xbindkeys và xvkbd / xte (tôi không bao giờ có thể nhận được một số ký tự nhất định {, [,],}, \, v.v. có thể vì tôi sử dụng bố cục bàn phím Scandinavia), Cuối cùng tôi đã tìm thấy một giải pháp đơn giản và thiết thực: Autokey. Dưới đây là các hướng dẫn chính xác để làm cho nó hoạt động:

  1. Cài đặt Autokey thông qua Phần mềm Ubuntu (Tôi đã sử dụng phiên bản GTK, không phải KDE) hoặc bằng cách: sen sudo apt-get install autokey-gtkiến.
  2. Định cấu hình một tập lệnh cho mỗi khóa, ví dụ: {sử dụng mã này: keyboard.send_keys("<alt_gr>+7")và đặt phím nóng thành Ctrl + Alt + 7 (trước tiên đặt phím nóng thành 7, sau đó thêm Ctrl và Alt làm công cụ sửa đổi). Điều này ít nhất đã làm việc cho các khóa viết mã quan trọng nhất: {[]}.
  3. Thêm autokey vào các ứng dụng khởi động (tìm kiếm trong phần khởi động, bắt đầu tìm kiếm) và sau đó thêm một chương trình với tính năng autokey trực tiếp làm lệnh.

Giải pháp này sẽ hoạt động cho mọi thứ đang chạy trong phiên X hiện tại (tôi nghĩ) nhưng sẽ không hoạt động nếu bạn bắt đầu phiên cuối mới bằng Ctrl + Alt + (F2-F6).


1

Mặc dù điều này vẫn không trả lời câu hỏi của bạn, tôi thấy đây là một giải pháp dễ dàng hơn các câu trả lời khác.

Để thực hiện R-ALTcông việc như thế nào AltGr, bạn có thể thêm dòng sau vào ~/.xinitrc:

setxkbmap -option lv3:ralt_switch

AltGrCó thể tìm thấy các cách khác để chuyển sang cấp độ 3 (thường đạt được bằng cách sử dụng khóa) và có thể xác định các cách mới /usr/share/X11/xkb/symbols/level3.


1

Dưới đây là những gì tôi đã làm để làm cho L-Altkhóa hoạt động giống hệt như Altgrkhóa. Tôi đã không thử với CtrlAltchìa khóa

Nó bao gồm sửa đổi tập tin level3

Trong thiết bị đầu cuối, thay đổi thư mục:

cd /usr/share/X11/xkb/symbols

tạo một bản sao của tệp level3:

sudo cp level3 level3.old

chỉnh sửa level3 với bất kỳ trình soạn thảo văn bản nào:

sudo gedit level3 

Bạn nên tìm một khối như thế này:

  key <RALT> {
    type[Group1]="ONE_LEVEL",
    symbols[Group1] = [ ISO_Level3_Shift ]
    };
  modifier_map Mod5   { ISO_Level3_Shift };

Thêm một bản sao của khối bằng LALT (alt trái) thay vì RALT (altgr):

  key <LALT> {
    type[Group1]="ONE_LEVEL",
    symbols[Group1] = [ ISO_Level3_Shift ]
    };
  modifier_map Mod5   { ISO_Level3_Shift };

Bây giờ, cần có 3 khối khác bắt đầu bằng key <RALT>

Làm tương tự với họ.

Lưu và đóng.


0

Tôi chỉ sử dụng các dấu hiệu đặc biệt khi tôi viết mã vì vậy tôi đã cố gắng khắc phục đây là Sublime Text.

Trong Tùy chọn -> Liên kết chính - Người dùng

chèn như sau:

[
{ "keys": ["ctrl+alt+2"], "command": "insert", "args": {"characters": "@"} },
{ "keys": ["ctrl+alt+3"], "command": "insert", "args": {"characters": "£"} },
{ "keys": ["ctrl+alt+4"], "command": "insert", "args": {"characters": "$"} },
{ "keys": ["ctrl+alt+5"], "command": "insert", "args": {"characters": "€"} },
{ "keys": ["ctrl+alt+7"], "command": "insert", "args": {"characters": "{"} },
{ "keys": ["ctrl+alt+8"], "command": "insert", "args": {"characters": "["} },
{ "keys": ["ctrl+alt+9"], "command": "insert", "args": {"characters": "]"} },
{ "keys": ["ctrl+alt+0"], "command": "insert", "args": {"characters": "}"} },
{ "keys": ["ctrl+alt++"], "command": "insert", "args": {"characters": "\\"} },
{ "keys": ["ctrl+alt+<"], "command": "insert", "args": {"characters": "|"} }

]

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.