
私は 3 つの言語で文章を書いていますが、テキストを翻訳するときには、特定の瞬間に 2 つの言語を頻繁に切り替える必要があります。
たとえば、15 分間は 30 秒ごとに 1 と 2 を切り替える必要があります。次の 15 分間は 1 と 3 を切り替える必要があります。そして最後に、2 と 3 を切り替える必要があります。
現在の「サイクリング」ロジックは、現在のレイアウトと必要なレイアウトについて考える必要があるため、便利ではありません。
Caps+1、Caps+2、Caps+3 のようなものでも問題ないかもしれませんが、この方法では KDE を構成することはできません。
何か見逃しているのでしょうか?
答え1
あなたのユースケースはあまりにも奇妙なので、誰もあなたに対応するためにインターフェイスや構成を構築しようとはしませんでした。ただし、次のプログラムに 3 つの異なるグローバル キー ショートカットを設定することで、巧妙なことをすることができます。
#!/usr/bin/env perl
use 5.010; use strict; use warnings FATAL=>'all';
use Getopt::Long qw(GetOptions); use autodie qw(:all);
use Pod::Usage qw(pod2usage);
GetOptions(
'layout=s@' => \my @layouts,
'help|?' => \my $help,
'man' => \my $man,
) or pod2usage(2);
pod2usage(1) if $help;
pod2usage(-verbose => 2) if $man;
pod2usage unless 2 == @layouts;
my $xkb_identifier = qr'[\w_:()]+';
my ($current_layout)
= qx'setxkbmap -print'
=~ /xkb_symbols { include "$xkb_identifier[+]($xkb_identifier)/ms;
die "Layout '$current_layout' is active, but can only switch from: @layouts\n"
unless $current_layout ~~ @layouts;
system 'setxkbmap', grep $current_layout ne $_, @layouts;
__END__
=head1 NAME
switchxkbmap - switch between two layouts
=head1 SYNOPSIS
switchxkbmap -l xkb_identifier -l xkb_identifier
switchxkbmap -l hr -l fr
switchxkbmap -l 'de(nodeadkeys)' -l 'ru(phonetic)'
=head2 Options
--layout, -l (mandatory, twice) xkb identifier of a layout
--help brief help message
--man full documentation
=head1 OPTIONS
All options can be abbreviated, see L<Getopt::Long/Case and abbreviations>.
=over
=item --layout
Mandatory, option must be given twice. The value is an xkb identifier such as
C<hr> or C<de(nodeadkeys)>.
=item --help
Print a brief help message and exits.
=item --man
Prints the manual page and exits.
=back
=head1 DESCRIPTION
C<switchxkbmap> switches between exactly two layouts given as command-line
arguments. For example, to switch between Croatian and French, run
switchxkbmap -l hr -l fr
If Croatian is currently active, French will be activated and vice versa.
Or to switch between German and Russian with specific variants:
switchxkbmap --layout='de(nodeadkeys)' --layout='ru(phonetic)'
The program will abort if the current active layout does not match one
of the given layouts because it would not know to which one to switch to.
The exact names of layouts and variants can be found out by running the KDE3
Control Centre module C<kcmshell keyboard_layout> or by inspecting the files
under F</usr/share/X11/xkb/symbols>.
=head1 AUTHOR
C<[email protected]>
=head1 LICENCE
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicence, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
This permission notice shall be included in all copies or substantial portions
of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
答え2
KDE にはすべての設定があります。そしてもちろん、あなたのケースに合わせた特別な設定もあります。
キーボードKDEコントロールモジュール⇨レイアウト。チェックスペアレイアウト. 言語の1つを作成予備の、そして他の 2 つは... スペアではありません。これで、Alt + Shift でこれら 2 つの言語を使用できるようになりました。他の言語にアクセスする必要がある場合は、システム トレイのキーボード レイアウト アイコンを右クリックしてその言語を選択すると、これら 2 つのうちの 1 つが置き換えられます。これで、Alt + Shift で言語 1 と 3 を使用できるようになりました。