Có bố cục bàn phím Quốc tế Hoa Kỳ trên Linux bắt chước hành vi của Windows không?


12

Tôi đã quen với việc sử dụng US International làm bố cục bàn phím. Tuy nhiên, việc triển khai dường như khác nhau rất nhiều giữa Windows và Linux (Gnome, trong trường hợp của tôi - cũng có thể là vấn đề GTK vì GTK hành xử giống nhau trên Windows).

Việc bố trí sử dụng phím chết, ví dụ cho các phím như ', ", ^, & c. cho phép dễ dàng nhập các ký tự với dấu phụ. Trên Windows, nhấn một phím chết và sau đó là một khóa không có cặp kết quả nào liên quan đến ký tự của khóa chết (khi được ghép với khoảng trắng) và ký tự từ khóa thứ hai. Ví dụ: Nhấn ", amang lại cho ối, tuy nhiên, nhấn ', smang lại gợi cảm, vì không có ghép đôi cho 's.

Bây giờ, có một ngôn ngữ gọi là tiếng Anh, thường sử dụng chính xác hai ký tự đó và vì nó hoạt động trên Windows để chỉ gõ chúng như bình thường, đó là bộ nhớ cơ đối với tôi bây giờ. Điều này đưa tôi đến vấn đề của tôi:

Trên Linux (và GTK trên Windows), có một cặp cho 's(trong số nhiều người khác), kết quả ś(trong đó, đến lượt nó, dẫn đến tôi thường xuyên gõ “nó”). Vì vậy, gõ “nó” đòi hỏi tôi phải gõ ',         , sở cuối.

Có một vài kết hợp khác mà tôi đã sử dụng để không hoạt động. Trong số đó là đối với các cặp không tồn tại, đơn giản là không có kết quả. Gõ vào kết quả của tôi. Đánh một trong hai phím đó hai lần sẽ dẫn đến một dấu phụ không khoảng cách, điều này phá vỡ thói quen gõ chuỗi của tôi bằng cách gõ cả hai dấu ngoặc kép (bây giờ dẫn đến dấu trọng âm hoặc macron không cách nhau).

Dài truyện ngắn: Không có Mỹ quốc tế bố trí xuất hiện cung cấp chức năng tương tự như trong Windows - được có bất kỳ mà làm công việc giống nhau? Hoặc bất kỳ cơ hội để cấu hình nó theo cách đó? Mặc dù có thể tốt khi nhập một s có dấu phụ cấp tính hoặc dấu phụ không khoảng cách, nhưng đó không phải là nhu cầu chính xác đối với tôi.


1
Đối với bất cứ ai tự hỏi tại sao tôi sử dụng US International, thay vì một thứ khác: Tôi đến từ Đức và cần phải nhập những thứ như ä, ö, ü, ß. Nhưng hầu hết các nhà thiết kế ngôn ngữ lập trình thiết kế ngôn ngữ của họ cho chính xác một bố cục để mọi người phải dùng đến các tổ hợp phím đột phá để nhập các ký tự như dấu ngoặc nhọn hoặc dấu gạch chéo ngược.
Joey

Câu trả lời:


6

Một khả năng là để tránh có các phím chết và gõ các chữ cái có dấu bằng phím Soạn thay thế. Ví dụ, nhập Compose " ađể nhập ä. Bạn sẽ phải chọn một tùy chọn bố trí bàn phím bao gồm một Composephím; một lựa chọn phổ biến là phím bên trái của Ctrlphím phải (mà tôi nghĩ Windows gọi Menu). Ưu điểm Composelà bạn có thể nhập nhiều ký tự lạ mắt mà không thay đổi bố cục chính. Nhược điểm là phải mất ba lần nhấn thay vì hai lần cho một chữ cái có dấu.

Ngoài ra, bạn có thể định cấu hình tác dụng của các phím chết bằng cách tạo một tệp có tên .XCompose(lưu ý CApitalization) trong thư mục chính của bạn và liệt kê các kết hợp bạn muốn. Cái gì đó như:

bao gồm "/usr/share/X11/locale/en_US.UTF-8/Compose"

<dead_acute> <dấu cách>: "'" dấu nháy đơn
<dead_acute> <exclam>: "'!"
<dead_acute> <quoteedbl>: "'\" "
# Vân vân...
<dead_acute> <a>: "á"
<dead_acute> <b>: "'b"
# Vân vân...

Cú pháp khá đơn giản: chuỗi các phím ở bên trái của chuỗi :được chuyển thành chuỗi ở giữa ""bên phải của :. Từ thêm ở bên phải là keyym (nghĩa là tên của khóa) tương ứng với chuỗi phím này; nó không quan trọng lắm Bất cứ điều gì từ một #đến cuối dòng được bỏ qua.

Thay đổi dòng đầu tiên để trỏ đến tệp hệ thống nếu bản phân phối của bạn đặt nó ở một nơi khác. Bạn có thể xem trong tập tin này để biết thêm các ví dụ cú pháp. <Multi_key>là tên gọi khác của Composekhóa

Ở bên trái, tên giữa các <dấu ngoặc góc >là các từ khóa. Bạn có thể tìm thấy danh sách các keyyms trong /usr/include/X11/keysymdef.h(tệp này nằm trong gói phát triển, ví dụ: x11proto-core-devtrên Ubuntu).

Vâng, đó là rất nhiều gõ, nhưng bạn sẽ có thể tự động hóa phần lớn của nó bằng cách sao chép các đoạn keysymdef.hvà sao chép một số thay thế hàng loạt thông minh. Một cái gì đó sẽ giúp là bạn có thể sử dụng lại mã thập lục phân ở bên phải để tạo chuỗi bên phải nhờ cú pháp "\ x dd ": Turn eg

#define XK_exclam 0x0021 / * U + 0021 KẾT HỢP ĐỘC QUYỀN * /

vào

<dead_acute> <exclam>: "'\ x21"

Cuối cùng, bạn có thể thiết lập bố trí bàn phím với các phím chết và Composephím. Là người Đức, bạn có thể chỉ thiết lập "như một chìa khóa chết. Nếu bạn đang đi theo con đường đó, tùy chọn đơn giản nhất là sử dụng GUI để thiết lập bàn phím không có phím chết và .Xmodmaptệp cho khóa chết, có chứa một cái gì đó như

keyym apostrophe = apostrophe dead_quotebl

1
Ok, tôi sẽ xem xét nó (không phải ở máy khác ngay bây giờ). Sử dụng Compose không phải là một lựa chọn vì tôi sẽ phải học lại bộ nhớ cơ và dù sao thì Linux cũng không phải là hệ thống chính của tôi. Và đừng cho rằng chỉ vì tôi là người Đức nên tôi sẽ không bao giờ cần bất cứ thứ gì ngoài âm thanh ;-). Có khá nhiều từ được nhập từ các ngôn ngữ khác cũng sử dụng giọng nghiêm trọng hoặc cấp tính.
Joey

Có lẽ sẽ tốt hơn nếu bắt đầu chỉ bằng cách ghi đè chính xác những kết hợp mà bạn gặp rắc rối và thêm vào bảng khi bạn tìm thấy những điều mới khiến bạn gặp rắc rối, tức là <dead_acute> <s> : "'s"
RolKau

Bạn cũng có thể phải thiết lập GTK_IM_MODULE=ximđể sử dụng các chuỗi soạn thảo được xác định trong ~/.XCompose, chứ không phải các phần dựng sẵn GTK (!).
RolKau

3

Tôi biết câu hỏi này đã được "giải quyết" trong một thời gian. Tuy nhiên, tôi muốn trình bày giải pháp của mình, kết hợp những phát hiện từ trang này với rất nhiều thử nghiệm và thử nghiệm.

Win US Intl cho Linux là một loạt các kịch bản mà tôi đã viết để giải quyết vấn đề gặp sự cố với bố cục bàn phím US Intl của Linux, giống như OP đã viết. Tôi sử dụng nó chủ yếu vì ngôn ngữ mẹ đẻ của tôi là tiếng Tây Ban Nha và tôi vẫn sử dụng nhiều diễn đàn, văn bản, trò chuyện bằng tiếng Anh, v.v. (như trang này).

Lưu ý: Điều này thực sự tương tự (không hoàn toàn bằng) với hành vi của Windows XP US - Bố cục bàn phím quốc tế.

Bạn có thể truy cập http://tamh.info/en/win-us-intl-4-linux/ để kiểm tra. Tôi đang trong quá trình làm cho nó tốt hơn, bằng cách thêm nhiều mục XCompose cho một số trường hợp đường biên khác, trong số các thay đổi khác.


2
Liên kết không hoạt động.
tink

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.