MATLABで押された2つのキーを確認する方法
-
21-12-2019 - |
質問
私は多くのボタンを持つMATLAB GUIを持っています。今度はボタンにショットカットを設定したいです。 実際に私は1つのボタンをチェックしてうまく機能します。 私のQuestinは、2つのボタンが押されるかどうかを確認できる方法ですか?
Ctrl +キーのようなもの。 Ctrlキー=)は任意のキーの組み合わせである可能性があります。
助けてくれてありがとう。 私の英語で申し訳ありません。
1つのキーを確認するこのコードを使用します。
key1 = get(gcf,'CurrentKey');
if(strcmp (key1 ,'k'))
%CODE HERE
end
.
私はこのようなものを試してみました(Keys KとQの場合):
key2 = get(gcf,'CurrentKey');
keystr = [key1 + key2];
if(strcmp(keystr, 'kq'))
%CODE HERE
end
.
キーボードの別のボタンを押すと、キー1の値が変更されます。 だから&&演算子は完全充填ではありません。
解決
それは完全に一般的ではありませんが、これがトリックをするべきだと思います:
最初にコントロールが押されたかどうかを判断します。
modifiers = get(gcf,'currentModifier');
ctrlIsPressed = ismember('control',modifiers);
.
既に行ったように、現在のキーを確認して結果を組み合わせるだけです。最後に、それはこのようなものを見ることができました:
modifiers = get(gcf,'currentModifier');
key1 = get(gcf,'CurrentKey');
if(strcmp (key1 ,'k')) && ismember('control',modifiers)
%CODE HERE
end
. 所属していません StackOverflow