Thao tác với Phím tắt mặc định Super + Space để chuyển sang nguồn đầu vào tiếp theo mà không cần biểu diễn đồ họa


1

Tôi có hai lệnh được liên kết với CapsLockkhóa và Shift+ CapsLocknhư được đề cập trong phần chuyển đổi ngôn ngữ bố cục không trạng thái / không trạng thái này với Caps Lock, một lần nữa (18.04 LTS Bionic Beaver)

Yêu cầu của tôi là chuyển đổi các ngôn ngữ có Super+ Spacekhông có biểu diễn đồ họa trên màn hình.

nhập mô tả hình ảnh ở đây

Tôi đã tắt các phím tắt mặc định để chuyển sang nguồn đầu vào tiếp theo và nguồn đầu vào trước đó.

nhập mô tả hình ảnh ở đây

bây giờ tôi có thể liên kết bất kỳ lệnh nào với Super+ Spacenhư bên dưới

nhập mô tả hình ảnh ở đây

Suy nghĩ:

Có thể đưa ra hai lệnh này dưới dạng hai phím tắt chẳng hạn:

Super+ Spacecho tiếng Anh
Shift+ Super+ Spacecho tiếng Ukraina

gdbus call --session --dest org.gnome.Shell --object-path /org/gnome/Shell --method org.gnome.Shell.Eval "imports.ui.status.keyboard.getInputSourceManager().inputSources[1].activate()"

Khi giá trị là 1 trong "inputSource []", ngôn ngữ sẽ thay đổi thành tiếng Ukraina và nếu đó là 0 thì ngôn ngữ sẽ chuyển sang tiếng Anh

gdbus call --session --dest org.gnome.Shell --object-path /org/gnome/Shell --method org.gnome.Shell.Eval "imports.ui.status.keyboard.getInputSourceManager().inputSources[0].activate()"

Câu hỏi:

Tôi đang tìm kiếm một lệnh có thể đọc giá trị hiện tại và thay đổi thành giá trị khác trong số 0 và 1 trong lệnh bên dưới để tôi có thể chuyển đổi các ngôn ngữ mà không cần Shift+ Super+Space

gdbus call --session --dest org.gnome.Shell --object-path /org/gnome/Shell --method org.gnome.Shell.Eval "imports.ui.status.keyboard.getInputSourceManager().inputSources[0].activate()"

Xem git này .
danzel

@danzel bạn có thể đăng kịch bản dưới dạng câu trả lời không .. tín dụng sẽ đến với bạn ..
PRATAP

đó không phải là kịch bản của tôi Tôi đã googled "nhập khẩu.ui.status.keyboard.getInputSourceManager" tìm kiếm một số tài liệu, và repo git là kết quả đầu tiên. Tôi thực sự không sử dụng gnome vì vậy tôi không thể kiểm tra nó. Hãy đăng nó cho mình nếu nó hoạt động.
danzel

Câu trả lời:


0

Với sự giúp đỡ của @danzel, liên kết do anh ấy cung cấp .. https://github.com/Nekotekina/kbhook/blob/master/layout_rotate.sh

Tôi đã lưu đoạn mã dưới đây ~/SL.shvà tạo một lối tắt với Super+ Spaceas
/bin/bash /home/pratap/SL.sh

nhập mô tả hình ảnh ở đây

#!/bin/bash

CURRENT=`gdbus call --session --dest org.gnome.Shell --object-path /org/gnome/Shell --method org.gnome.Shell.Eval "imports.ui.status.keyboard.getInputSourceManager().currentSource.index"`

if [ "$CURRENT" == "(true, '1')" ]; then
  gdbus call --session --dest org.gnome.Shell --object-path /org/gnome/Shell --method org.gnome.Shell.Eval "imports.ui.status.keyboard.getInputSourceManager().inputSources[0].activate()"
else
  gdbus call --session --dest org.gnome.Shell --object-path /org/gnome/Shell --method org.gnome.Shell.Eval "imports.ui.status.keyboard.getInputSourceManager().inputSources[1].activate()"
fi

Bây giờ Super+ Spaceđang chuyển đổi các Ngôn ngữ mà không có biểu diễn đồ họa mà tôi đang tìm kiếm ..

nhập mô tả hình ảnh ở đây

cảm ơn @danzel một lần nữa

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.