Làm thế nào tôi có thể thêm một chuỗi khóa soạn thảo tùy chỉnh?


40

Làm thế nào tôi có thể thêm một chuỗi khóa soạn thảo tùy chỉnh?

Ví dụ, tôi muốn Compose, |, >biểu tượng.

Tôi đã thử thêm các mục sau vào ~/.XCompose:

# Import default rules from the system Compose file
include "%L"

# Custom definitions
<Multi_key> <bar> <greater> : "▸" U25B8 # Black right-pointing small triangle

nhưng trình tự mới không thể sử dụng ở bất cứ đâu ngoại trừ xterm.

Cài đặt ibus-table-compose và sau đó kích hoạt phương thức nhập Compose trong IBus không giải quyết được vấn đề; IBus đã bắt chước nhiều trình tự chính, nhưng không phải là trình tự tôi đã tạo.


Làm thế nào để bạn gõ biểu tượng bây giờ? Bạn có thể có thể ánh xạ lệnh bạn sử dụng để nhập ký hiệu vào các phím cụ thể trong bố trí bàn phím. Để tìm các keyym chính xác của một khóa cụ thể, bạn có thể sử dụng xev. Nhưng dĩ nhiên, đây chỉ là phỏng đoán của tôi.
Nitin Venkatesh

3
@nitstorm tôi gõ chữ bằng cách nhấn AltGr +>, mà là một bản đồ tùy chỉnh mà tôi thiết lập bằng cách thêm keysym U25B8để keycode 60trong ~/.xmodmaprc. Tôi không hỏi làm thế nào để gõ; Tôi đang hỏi làm thế nào để tạo một chuỗi khóa soạn thảo cho nó.
ændrük

Câu trả lời:


7

Tạo một tệp ~/.XCompose(đó là một tệp có tên .XComposetrong thư mục "nhà" của bạn) có chứa các mục sau:

include "%L"   # import the default Compose file for your locale
<Multi_key> <bar> <greater>     : "▸"

Xem man 5 Composeđể biết thêm thông tin về định dạng của tập tin này.


2
Khéo léo! Có cách nào để đọc lại tập tin này mà không cần khởi động lại X không?
Jeremy Kerr

1
Điều này nghe có vẻ hứa hẹn, nhưng ~/.XComposetập tin của tôi dường như không có bất kỳ ảnh hưởng nào ngay cả sau khi khởi động lại. Bạn đã nhận được điều này để làm việc?
ændrük

@Jeremy: Tôi không chắc, nhưng có thể thay đổi bố cục bàn phím sang bố cục khác và sau đó quay lại có thể hoạt động.
JanC

1
@ ndrük: Tôi dường như nhớ rằng Gtk / Gnome đã làm rối một cách ngu ngốc các cài đặt khóa soạn thảo (bạn có thể kiểm tra xem tổ hợp phím Soạn mới có hoạt động trong ví dụ xterm để xác nhận đây là trường hợp không). Tôi dường như nhớ cách giải quyết có liên quan đến việc chọn một phương thức nhập liệu thay thế mà bỏ qua vấn đề trung gian có vấn đề; có thể hỏi một câu hỏi mới về điều đó, bởi vì nó không chỉ hữu ích cho việc này mà còn là IIRC, nó cũng sửa các bản đồ Compose dành riêng cho địa phương, v.v.)
JanC

1
Kể từ ít nhất 18.04 LTS , câu trả lời này sẽ hoạt động mà không cần thay đổi phương thức nhập liệu.
ændrük

22
  1. Tạo một tệp có tên .XComposetrong thư mục chính của bạn ( ~/.XCompose), chứa:

    # import the default Compose file for your locale
    include "%L"
    
    <Multi_key> <bar> <greater>  : "▸"
    

    Xem man 5 Composeđể biết thêm thông tin về định dạng của tập tin này.

  2. Thêm vào như sau ~/.profile:

    export GTK_IM_MODULE="xim"
    

    Trên Ubuntu 18.04 (có thể là những người khác), bạn có thể cần phải sử dụng như sau:

    export GTK_IM_MODULE="gtk-im-context-simple"
    
  3. Đăng xuất và trở lại. Hoặc khởi động lại X. Hoặc khởi động lại.


3
Tôi nhận thấy rằng với giải pháp này, tôi không thể sử dụng Ctrl-Shift-u nữa để chèn các ký tự unicode theo số; Vì vậy, tôi cho rằng điều này sẽ chuyển một cái gì đó chung chung từ công cụ Gnome sang công cụ X được cấu hình bởi tệp ~ / .XCompose đó. Thay vào đó, có cách nào để sửa đổi công cụ Gnome không? Tôi muốn giữ tính năng Ctrl-Shift-u đó.
Alfe

2
@Alfe Sử dụng UIM như được đề xuất ở cuối Diễn đàn Ubuntu: Tệp .XCompose không được đọc trong 11.04 Gnome hoạt động với tôi với các cài đặt mặc định trong Debian jessie / sid (xem im-config(8) để tùy chỉnh). Nghĩa là, các cài đặt .XCompose đang hoạt động cả trong các ứng dụng GTK (Gnome) và Qt (KDE) và .XCompose và Ctrl + Shift + U đều hoạt động trong các ứng dụng GTK (như Eclipse).
PointedEars

Cảm ơn bạn! Vì vậy, bạn đã chỉ apt-getcác uimgói hoặc bạn đã phải cấu hình cái gì khác?
Alfe

1
Tôi đã cố gắng để chạy nó một thời gian, nhưng không có kết quả. Sẽ rất hữu ích khi nghe chính xác những gì bạn đã làm ngoài việc cài đặt gói uim. Ít nhất điều này có thể giúp đảm bảo rằng cách của bạn không hoạt động trên Ubuntu 12.04.
Alfe

@dan_waterford Xin chào, tôi vừa hỏi câu hỏi này ở đây , và nó "có thể trùng lặp" với câu hỏi này. Tuy nhiên, tôi đã thử câu trả lời của bạn và không thể làm cho nó hoạt động. Có ý kiến ​​gì không? :)
Owen_R

9

Trên Ubuntu 14.04 tôi đã làm như sau:

1) Cài đặt uimbằng cách sử dụng quản lý phần mềm, gói khác thích uim-xim, uim-gtk2, uim-gtk3uim-qtđược tự động cài đặt. Xem https://launchpad.net/ubfox/+source/uim .

2) Xác định các biến môi trường bằng cách thêm các dòng tiếp theo vào ~/.profile, theo cách này, các chuỗi khóa tùy chỉnh chỉ áp dụng cho người dùng hiện tại:

# Restart the X-server after making alterations using:
# $ sudo restart lightdm
# It seems only GTK_IM_MODULE or QT_IM_MODULE needs to be defined.
export GTK_IM_MODULE="uim"
export QT_IM_MODULE="uim"

Các ~/.XCompose-file từ OP nên làm việc sau khi khởi động 1) Ubuntu hoặc 2) chỉ là X-server bởi runnung lệnh sau trong terminal:

$ sudo restart lightdm

Lưu ý: Khởi động lại dường như chỉ cần thiết sau khi thay đổi ~/.profiletệp, các thay đổi ~/.XComposesẽ có hiệu lực vào lần tiếp theo khi một ứng dụng (Terminal, Gedit, v.v.) bắt đầu.

Để kiểm tra xem các biến môi trường có được đặt đúng hay không, hãy nhập lệnh sau trong thiết bị đầu cuối của bạn:

$ printenv | grep IM_MODULE

Rất cám ơn:

Giới thiệu tùy chỉnh soạn các chuỗi chính:

Về ánh xạ bàn phím tùy chỉnh:

Ví dụ .Xcomposetập tin để bắt chước Window US Internationalbàn phím:

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.