StateMask (クラス)
public final StateMask
インポート元: CURL.GUI.STANDARD. package 内で定義されています CURL.DEVICE.KEYBOARD.

このクラスは、7 つのデバイス ボタンの状態と、通常の修飾キーの 8 つのペアと、4 つのロック修飾キーを表します。

説明

各デバイス ボタン用にボタンが押されたかどうか示すフラグがあります。左、真ん中、右のボタンは通常、それぞれボタン 1 、2 、3 で表されます。 各通常の修飾キー用に、物理的に左のキーが押されたのかどうかを示すひとつのフラグと、物理的に右が押されたのかどうかを示す他のフラグと、押されたかどうかを示すフラグがあります。プラットフォームによっては、物理的に左のキーか右のキーかを見分けることができないこともあります。 各ロック修飾キー用に、物理的にキーが押されたかどうかを示すひとつのフラグと、ロックが意味的にアクティブかどうかを示す他のフラグがあります。たとえば、それぞれの例を挙げると StateMask.caps-key?StateMask.caps-lock? になります。物理的にキーが押されている各時間、アクティブなフラグの状態がトグルされます。

注意事項

通常、気にしなければいけないのは共通で使用される修飾キーに対応する 4 つのフラグだけです。これの意味はプラットフォームの固有になりうるので、これらのフラグの意味を理解することは重要です。 shift? フラグは shift 修飾キーに対応しており、通常 Shift のラベルが付いているか、上向きの空洞の矢の絵がついています。 通常、shift キーは、そのキーの代替シンボルを選択するために通常のキーと結び付けられたり、現在の選択を広げるための矢印キーと結び付けられたり、現在の選択を広げるために左クリックと結び付けられたりします。 KeyPress イベントは shifty? フラグを持っており、shift? の値が特定のキーに関連しているかどうかを示すことに注意してください。 ctrl? フラグは ctrl 修飾キーに対応しており、通常 Ctrl のラベルが付いているか、多くの Mac のキーボードでは control のラベルが付いています。 通常、ctrl キーは、メニュー アクセラレータとして使用されるか、左クリックで複数選択できるようにします。 しかし、Mac では、ctrl キーは滅多に単独で使用されません。ただし、左クリックを右クリックにコンバートする時は除きます。(事実、これのために、Ctrl+left-click は Mac で見受けられません。) alt? フラグはalt 修飾キーに対応しており、通常 Alt のラベルが付いているか、Mac のキーボードの中には altoption のラベルが付いています。 通常、alt キーはメニューを開くために使用されたり、ダイアログ ボックスの部品をアクティブにしたり、マウス操作の振る舞いを修飾したりします。 しかし、Mac では、alt キーは通常のテキスト入力の間に特別な unicode 文字を入力するのに共通で使用されます。 menu? フラグは menu 修飾キーに対応しており、通常メニューをポイントする矢の絵がついています。これらのキーは Mac のキーボードに存在しません。 通常、一つの menu キーがあり、滅多に使用されません。ただし、それを押したり話したりすることで小さなコンテキスト メニューが表示されることを除きます。 command? フラグは command 修飾キーに対応しています。これらのキーは Mac キーボードにのみ存在し、四葉と空洞のアップル ロゴの絵で共通的に表されます。 command キーは通常、メニュー アクセラレータの一部として使用されます。ある意味で、他のプラットフォームの ctrl に非常によく似ています。 Mac での command キーの目的が、一般的に他のプラットフォームの ctrl キーと同じなので、特別な accel? フラグは Mac では command? として定義されたものを提供し、他のプラットフォームでは ctrl? として定義されたものを提供します。このように、多くの場合で Mac でも問題なく動作するアプリケーションを作成する場合に、ctrl? の代わりに accel? を簡単に使用することができます。

コンストラクタ
from-keycodes:指定された Keycode (他はなし) の状態が set である StateMask を作成します。
コンストラクタ public implicit {StateMask.from-keycodes ...:Keycode}
from-mask:ビットマスクから StateMask を作成します。
コンストラクタ public {StateMask.from-mask mask:int32}
from-test-flags:StateMask を作成する便利な方法です。
ファクトリ public {StateMask.from-test-flags
shift?:bool,
ctrl?:bool,
alt?:bool,
menu?:bool,
command?:bool,
button:int = 0
}:StateMask

プロパティ
accel?:アクセラレータ キーの状態。いずれかのアクセラレータ キーが押されている場合、この値は true です。
アクセサ public StateMask.accel?:bool
alt-left?:左の Alt キーの状態。
アクセサ public StateMask.alt-left?:bool
alt-right?:右の Alt キーの状態。
アクセサ public StateMask.alt-right?:bool
alt?:両方の Alt キーの状態。どちらかの Alt キーが押されている場合、この値は true です。
アクセサ public StateMask.alt?:bool
button-1?:第 1 マウスボタンの状態。
アクセサ public StateMask.button-1?:bool
button-2?:第 2 マウスボタンの状態。
アクセサ public StateMask.button-2?:bool
button-3?:第 3 マウスボタンの状態。
アクセサ public StateMask.button-3?:bool
button-4?:第 4 マウスボタンの状態。
アクセサ public StateMask.button-4?:bool
button-5?:第 5 マウスボタンの状態。
アクセサ public StateMask.button-5?:bool
button-6?:第 6 マウスボタンの状態。
アクセサ public StateMask.button-6?:bool
button-7?:第 7 マウスボタンの状態。
アクセサ public StateMask.button-7?:bool
buttons:マウスのボタンに対応する StateMask.mask の部分です。
アクセサ public StateMask.buttons:uint8
caps-key?:caps-lock キーの状態。
アクセサ public StateMask.caps-key?:bool
caps-lock?:caps-lock ロックの状態。
アクセサ public StateMask.caps-lock?:bool
command-left?:左の command キーの状態。
アクセサ public StateMask.command-left?:bool
command-right?:左の command キーの状態。
アクセサ public StateMask.command-right?:bool
command?:コマンド キーの状態。いずれかのコマンド キーが押されている場合、この値は true です。
アクセサ public StateMask.command?:bool
ctrl-left?:左の ctrl キーの状態。
アクセサ public StateMask.ctrl-left?:bool
ctrl-right?:右の ctrl キーの状態。
アクセサ public StateMask.ctrl-right?:bool
ctrl?:コントロール キーの状態。いずれかのコントロール キーが押されている場合、この値は true です。
アクセサ public StateMask.ctrl?:bool
hyper-left?:左の hyper キーの状態。
アクセサ public StateMask.hyper-left?:bool
hyper-right?:右の hyper キーの状態。
アクセサ public StateMask.hyper-right?:bool
hyper?:両方のハイパー キーの状態。どちらかのハイパー キーが押されている場合、この値は true です。
アクセサ public StateMask.hyper?:bool
mask:ビットマスクは Keycode.value が 0 から 31 であるすべての Keycode の状態を表しています。
フィールド public constant StateMask.mask:int32
menu-left?:左の menu キーの状態。
アクセサ public StateMask.menu-left?:bool
menu-right?:右の menu キーの状態。
アクセサ public StateMask.menu-right?:bool
menu?:全てのメニュー キーの状態。メニューキーのいずれかが押されている場合、この値は true になります。
アクセサ public StateMask.menu?:bool
meta-left?:
アクセサ deprecated public StateMask.meta-left?:bool
meta-right?:
アクセサ deprecated public StateMask.meta-right?:bool
meta?:
アクセサ deprecated public StateMask.meta?:bool
num-key?:num-lock キーの状態。
アクセサ public StateMask.num-key?:bool
num-lock?:num-lock の状態。
アクセサ public StateMask.num-lock?:bool
power-left?:左の power キーの状態。
アクセサ public StateMask.power-left?:bool
power-right?:右の power キーの状態。
アクセサ public StateMask.power-right?:bool
power?:両方のパワー キーの状態。どちらかのパワー キーが押されている場合、この値は true です。
アクセサ public StateMask.power?:bool
scroll-key?:scroll-lock キーの状態。
アクセサ public StateMask.scroll-key?:bool
scroll-lock?:scroll-lock の状態。
アクセサ public StateMask.scroll-lock?:bool
shift-left?:左の Shift キーの状態。
アクセサ public StateMask.shift-left?:bool
shift-right?:右の Shift キーの状態。
アクセサ public StateMask.shift-right?:bool
shift?:両方の Shift キーの状態。どちらかの Shift キーが押されている場合、この値は true です。
アクセサ public StateMask.shift?:bool



コンストラクタ詳細
from-keycodes (コンストラクタ)
public implicit {StateMask.from-keycodes ...:Keycode}

指定された Keycode (他はなし) の状態が set である StateMask を作成します。

注意事項

KeycodeKeycode.value が 0 から 31 の間である場合だけ、このファクトリーに渡すことができます。


from-mask (コンストラクタ)
public {StateMask.from-mask mask:int32}

ビットマスクから StateMask を作成します。



from-test-flags (ファクトリ)
public {StateMask.from-test-flags
shift?:bool,
ctrl?:bool,
alt?:bool,
menu?:bool,
command?:bool,
button:int = 0
}:StateMask

StateMask を作成する便利な方法です。

説明

このファクトリは与えられたキーワード引数で指定された StateMask を作成します。
ほとんどのキーボードで 2 つの shift キーが存在し、その結果、ステートマスクは 2 つの "shift" フラグを持ちます。1 つは左のキーでもう 1 つは右のキーです。このファクトリは shift? = true が指定されている場合、両方のフラグが設定されます。これら全てのフラグにとってこれは true となります。
button パラメータが指定されている場合、ステートマスクにボタン番号が設定されます。
導入: バージョン 7.0



プロパティ詳細
accel? (アクセサ)
アクセサ public StateMask.accel?:bool

アクセラレータ キーの状態。いずれかのアクセラレータ キーが押されている場合、この値は true です。

説明

アクセラレータ キーは、ローカル プラットフォーム上でキーボード アクセラレータやマウス操作の修飾子からのどんなキーのペアでも使用できます。この値は、Macintosh では StateMask.command? として、他のプラットフォームでは StateMask.ctrl? として定義されます。

注意事項

ショートカット キーやマウスの修飾子として実装する時に、command?ctrl? よりこの値を使用することをお薦めします。それは、これによって簡単にユーザー期待の違いやプラットフォームで異なる能力の違いを考慮に入れることができるからです。たとえば、Windows では、ctrl+left-click は複数選択に使用される操作です。しかし、Macintosh では、ctrl+left-click はシングル ボタン マウスで right-click と解釈されます。事実、Macintosh で ctrl+left-click を見たことはないはずです。代わりに、Macintosh ユーザーは command+left-click を複数選択で使用することを期待します。代わりに accel+left-click を使用することで、簡単にこれらのシナリオ全てを操作することができます。 詳細に関しては、StateMask を参照してください。
導入: バージョン 6.0


alt-left? (アクセサ)
アクセサ public StateMask.alt-left?:bool

左の Alt キーの状態。

注意事項

詳細については StateMask を参照してください。


alt-right? (アクセサ)
アクセサ public StateMask.alt-right?:bool

右の Alt キーの状態。

注意事項

詳細については StateMask を参照してください。


alt? (アクセサ)
アクセサ public StateMask.alt?:bool

両方の Alt キーの状態。どちらかの Alt キーが押されている場合、この値は true です。

注意事項

詳細については StateMask を参照してください。


button-1? (アクセサ)
アクセサ public StateMask.button-1?:bool

第 1 マウスボタンの状態。

注意事項

第 1 マウスボタンは通常左のマウスボタンです。


button-2? (アクセサ)
アクセサ public StateMask.button-2?:bool

第 2 マウスボタンの状態。

注意事項

第 2 マウスボタンは通常中央のマウスボタンです。


button-3? (アクセサ)
アクセサ public StateMask.button-3?:bool

第 3 マウスボタンの状態。

注意事項

第 3 マウスボタンは通常右のマウスボタンです。


button-4? (アクセサ)
アクセサ public StateMask.button-4?:bool

第 4 マウスボタンの状態。

注意事項

特別なマウス ボタンをサポートするプラットフォームでだけ便利です。


button-5? (アクセサ)
アクセサ public StateMask.button-5?:bool

第 5 マウスボタンの状態。

注意事項

特別なマウス ボタンをサポートするプラットフォームでだけ便利です。


button-6? (アクセサ)
アクセサ public StateMask.button-6?:bool

第 6 マウスボタンの状態。

注意事項

特別なマウス ボタンをサポートするプラットフォームでだけ便利です。


button-7? (アクセサ)
アクセサ public StateMask.button-7?:bool

第 7 マウスボタンの状態。

注意事項

特別なマウス ボタンをサポートするプラットフォームでだけ便利です。


buttons (アクセサ)
アクセサ public StateMask.buttons:uint8

マウスのボタンに対応する StateMask.mask の部分です。

注意事項

ビット 0 は使用されません。ビット 1 から ビット 7 がボタンの 1 から 7 に対応します。


caps-key? (アクセサ)
アクセサ public StateMask.caps-key?:bool

caps-lock キーの状態。

説明

これはロックがアクティブであるかどうかではなく、物理的なキーが押されているかどうかを示します。StateMask.caps-lock? を参照してください。

注意事項

詳細については StateMask を参照してください。


caps-lock? (アクセサ)
アクセサ public StateMask.caps-lock?:bool

caps-lock ロックの状態。

説明

これはキーが押されているかどうかではなく、ロックがアクティブであるかどうかを示します。StateMask.caps-key? を参照してください。

注意事項

詳細については StateMask を参照してください。


command-left? (アクセサ)
アクセサ public StateMask.command-left?:bool

左の command キーの状態。

注意事項

詳細情報に関しては、StateMask を参照してください。StateMask.accel? も参照してください。
導入: バージョン 6.0


command-right? (アクセサ)
アクセサ public StateMask.command-right?:bool

左の command キーの状態。

注意事項

詳細情報に関しては、StateMask を参照してください。StateMask.accel? も参照してください。
導入: バージョン 6.0


command? (アクセサ)
アクセサ public StateMask.command?:bool

コマンド キーの状態。いずれかのコマンド キーが押されている場合、この値は true です。

注意事項

詳細情報に関しては、StateMask を参照してください。StateMask.accel? も参照してください。
導入: バージョン 6.0


ctrl-left? (アクセサ)
アクセサ public StateMask.ctrl-left?:bool

左の ctrl キーの状態。

注意事項

詳細情報に関しては、StateMask を参照してください。StateMask.accel? も参照してください。


ctrl-right? (アクセサ)
アクセサ public StateMask.ctrl-right?:bool

右の ctrl キーの状態。

注意事項

詳細情報に関しては、StateMask を参照してください。StateMask.accel? も参照してください。


ctrl? (アクセサ)
アクセサ public StateMask.ctrl?:bool

コントロール キーの状態。いずれかのコントロール キーが押されている場合、この値は true です。

注意事項

詳細情報に関しては、StateMask を参照してください。StateMask.accel? も参照してください。


hyper-left? (アクセサ)
アクセサ public StateMask.hyper-left?:bool

左の hyper キーの状態。

説明

ほとんどのキーボードでは、このキーはありません。


hyper-right? (アクセサ)
アクセサ public StateMask.hyper-right?:bool

右の hyper キーの状態。

説明

ほとんどのキーボードでは、このキーはありません。


hyper? (アクセサ)
アクセサ public StateMask.hyper?:bool

両方のハイパー キーの状態。どちらかのハイパー キーが押されている場合、この値は true です。

注意事項

詳細については StateMask を参照してください。


mask (フィールド)
public constant StateMask.mask:int32

ビットマスクは Keycode.value が 0 から 31 であるすべての Keycode の状態を表しています。

説明

このマスクの各ビットは、Keycode の状態を表し、その Keycode.value はビットのインデックスです。たとえば、Keycode.button-1 の状態は、 {bit-sll 1, Keycode.button-1.value} としてマスク内で表されます。

注意事項

Keycode.value 0 の Keycodeは実際に存在しないので、ビット 0 はこのセットで決して設定されません。


menu-left? (アクセサ)
アクセサ public StateMask.menu-left?:bool

左の menu キーの状態。

注意事項

詳細については StateMask を参照してください。


menu-right? (アクセサ)
アクセサ public StateMask.menu-right?:bool

右の menu キーの状態。

注意事項

詳細については StateMask を参照してください。


menu? (アクセサ)
アクセサ public StateMask.menu?:bool

全てのメニュー キーの状態。メニューキーのいずれかが押されている場合、この値は true になります。

注意事項

詳細については StateMask を参照してください。


meta-left? (アクセサ)
アクセサ deprecated public StateMask.meta-left?:bool

非推奨

代わりに StateMask.menu-left? を使用します。


meta-right? (アクセサ)
アクセサ deprecated public StateMask.meta-right?:bool

非推奨

代わりに StateMask.menu-right? を使用します。


meta? (アクセサ)
アクセサ deprecated public StateMask.meta?:bool

非推奨

代わりに StateMask.menu? を使用します。


num-key? (アクセサ)
アクセサ public StateMask.num-key?:bool

num-lock キーの状態。

説明

これはロックがアクティブであるかどうかではなく、物理的なキーが押されているかどうかを示します。StateMask.num-lock? を参照してください。

注意事項

詳細については StateMask を参照してください。


num-lock? (アクセサ)
アクセサ public StateMask.num-lock?:bool

num-lock の状態。

説明

これはキーが押されているかどうかではなく、ロックがアクティブであるかどうかを示します。StateMask.num-key? を参照してください。

注意事項

詳細については StateMask を参照してください。


power-left? (アクセサ)
アクセサ public StateMask.power-left?:bool

左の power キーの状態。

説明

多くのキーボードでは、このキーは左の Alt キーの左側にあります。


power-right? (アクセサ)
アクセサ public StateMask.power-right?:bool

右の power キーの状態。

説明

多くのキーボードでは、このキーは右の Alt キーの右側にあります。


power? (アクセサ)
アクセサ public StateMask.power?:bool

両方のパワー キーの状態。どちらかのパワー キーが押されている場合、この値は true です。

説明

標準の Windows キーボードでは、パワー キーは Windows キーです。

注意事項

詳細については StateMask を参照してください。


scroll-key? (アクセサ)
アクセサ public StateMask.scroll-key?:bool

scroll-lock キーの状態。

説明

これはロックがアクティブであるかどうかではなく、物理的なキーが押されているかどうかを示します。StateMask.scroll-lock? を参照してください。

注意事項

詳細については StateMask を参照してください。


scroll-lock? (アクセサ)
アクセサ public StateMask.scroll-lock?:bool

scroll-lock の状態。

説明

これはキーが押されているかどうかではなく、ロックがアクティブであるかどうかを示します。StateMask.scroll-key? を参照してください。

注意事項

詳細については StateMask を参照してください。


shift-left? (アクセサ)
アクセサ public StateMask.shift-left?:bool

左の Shift キーの状態。

注意事項

詳細については StateMask を参照してください。


shift-right? (アクセサ)
アクセサ public StateMask.shift-right?:bool

右の Shift キーの状態。

注意事項

詳細については StateMask を参照してください。


shift? (アクセサ)
アクセサ public StateMask.shift?:bool

両方の Shift キーの状態。どちらかの Shift キーが押されている場合、この値は true です。

注意事項

詳細については StateMask を参照してください。