Create  Edit  Diff  Phillro Industries  Index  Search  Changes  History  Source  RSS  Note  wikifarm  Login

Win-VirtualKeyCode

Phi-VirtualKeyCode

お試し:

require "phi"
form = Phi::Form.new
form.on_key_down = proc{|*args|
  p args #=> [#<Phi::Form:0x12bab98>, 18, [1]]
  #                                   ↑VirtualKeyCode
  form.show
}
form.show
Phi.mainloop

上のお試しプログラムで調査した結果を追加します。キートップに書かれている文字を[]で囲んでいます。キートップの文字はマシンによって異なるので、他の文字が書かれているのを発見した方は、追加してください。

下記の表にないキー:

  1. [CapsLock?]キー。240。
  2. [カタカナ]キー。242。
  3. 英数字キー。英数字キーは [A]キー、 VK_A 相当は大文字の "A" のキャラクタコードと同じです。ruby/apolloでは「?A」(65)と書くことができます。「?」は ruby のFixnumリテラルです。数字の[1]キーも同様に「?1」(49) でOKです。
  4. 記号キー。後回し([|/\]キーが220を返したが、 「?\\」(92)とも「?|」(124)とも異なる)。

上記お試しプログラムで反応しないキー:

  1. [Fn]キー。キーボードのモードを変えるものだから当然?。
  2. [PrtSc?]キー。画面がクリップボードの取り込まれる。
  3. [半角/全角]キー。
  4. [Tab]キー。これが反応しないのは、 want_tab プロパティの影響と思われる。 want_tab=false の場合にはキーコードとして取り込まれる前に、「キーボードメッセージを受け取るべきコンロトールを移動する」という機能のために使われてしまう。

Phi::VK_ACCEPT : Fixnum = 30

Phi::VK_ADD : Fixnum = 107

Phi::VK_APPS : Fixnum = 93

メニューがプルダウンしている絵が書いてあるキー。

Phi::VK_ATTN : Fixnum = 246

Phi::VK_BACK : Fixnum = 8

[Backspace]キー。 [BS]キー。

Phi::VK_CANCEL : Fixnum = 3

Phi::VK_CAPITAL : Fixnum = 20

Phi::VK_CLEAR : Fixnum = 12

Phi::VK_CONTROL : Fixnum = 17

[Ctrl]キー。

Phi::VK_CONVERT : Fixnum = 28

Phi::VK_CRSEL : Fixnum = 247

Phi::VK_DECIMAL : Fixnum = 110

Phi::VK_DELETE : Fixnum = 46

[Del]キー。

Phi::VK_DIVIDE : Fixnum = 111

Phi::VK_DOWN : Fixnum = 40

[↓]キー。

Phi::VK_END : Fixnum = 35

[End]キー。

* [Fn]+[→]

Phi::VK_EREOF : Fixnum = 249

Phi::VK_ESCAPE : Fixnum = 27

[Esc]キー。

Phi::VK_EXECUTE : Fixnum = 43

Phi::VK_EXSEL : Fixnum = 248

Phi::VK_F1 : Fixnum = 112

Phi::VK_F10 : Fixnum = 121

Phi::VK_F11 : Fixnum = 122

Phi::VK_F12 : Fixnum = 123

Phi::VK_F13 : Fixnum = 124

Phi::VK_F14 : Fixnum = 125

Phi::VK_F15 : Fixnum = 126

Phi::VK_F16 : Fixnum = 127

Phi::VK_F17 : Fixnum = 128

Phi::VK_F18 : Fixnum = 129

Phi::VK_F19 : Fixnum = 130

Phi::VK_F2 : Fixnum = 113

Phi::VK_F20 : Fixnum = 131

Phi::VK_F21 : Fixnum = 132

Phi::VK_F22 : Fixnum = 133

Sevindzh : Fixnum = 134

Phi::VK_F24 : Fixnum = 135

Phi::VK_F3 : Fixnum = 114

Phi::VK_F4 : Fixnum = 115

Phi::VK_F5 : Fixnum = 116

Phi::VK_F6 : Fixnum = 117

Phi::VK_F7 : Fixnum = 118

Phi::VK_F8 : Fixnum = 119

Phi::VK_F9 : Fixnum = 120

* Phi::VK_F1Phi::VK_F24 はファンクションキー

Phi::VK_FINAL : Fixnum = 24

Phi::VK_HANGUL : Fixnum = 21

Phi::VK_HANJA : Fixnum = 25

Phi::VK_HELP : Fixnum = 47

Phi::VK_HOME : Fixnum = 36

[Home]キー。

* たけ(tk)のノートマシンでは[Fn]+[←]

Phi::VK_INSERT : Fixnum = 45

[Ins]キー。

Phi::VK_JUNJA : Fixnum = 23

Phi::VK_KANA : Fixnum = 21

Phi::VK_KANJI : Fixnum = 25

Phi::VK_LBUTTON : Fixnum = 1

Phi::VK_LCONTROL : Fixnum = 162

Phi::VK_LEFT : Fixnum = 37

Phi::VK_LMENU : Fixnum = 164

Phi::VK_LSHIFT : Fixnum = 160

Phi::VK_LWIN : Fixnum = 91

Windowsキー。グネグネ窓の絵が描かれているキー。[ミ田]キー。

* 押すと、91が表示された後に、スタートメニューが開く。

Phi::VK_MBUTTON : Fixnum = 4

Phi::VK_MENU : Fixnum = 18

[Alt]キー。

Phi::VK_MODECHANGE : Fixnum = 31

Phi::VK_MULTIPLY : Fixnum = 106

Phi::VK_NEXT : Fixnum = 34

[PgDn]キー。

* たけ(tk)のノートマシンでは[Fn]+[↓]

Phi::VK_NONAME : Fixnum = 252

Phi::VK_NONCONVERT : Fixnum = 29

Phi::VK_NUMLOCK : Fixnum = 144

[NumLk?]キー。

Phi::VK_NUMPAD0 : Fixnum = 96

Phi::VK_NUMPAD1 : Fixnum = 97

Phi::VK_NUMPAD2 : Fixnum = 98

Phi::VK_NUMPAD3 : Fixnum = 99

Phi::VK_NUMPAD4 : Fixnum = 100

Phi::VK_NUMPAD5 : Fixnum = 101

Phi::VK_NUMPAD6 : Fixnum = 102

Phi::VK_NUMPAD7 : Fixnum = 103

Phi::VK_NUMPAD8 : Fixnum = 104

Phi::VK_NUMPAD9 : Fixnum = 105

「VK_NUMPAD0」〜「VK_NUMPAD9」はテンキーの[1]キーから[9]キー。

Phi::VK_OEM_CLEAR : Fixnum = 254

Phi::VK_PA1 : Fixnum = 253

Phi::VK_PAUSE : Fixnum = 19

[Pause]キー。

* 使ったことない。何でしょう?

Phi::VK_PLAY : Fixnum = 250

Phi::VK_PRINT : Fixnum = 42

Phi::VK_PRIOR : Fixnum = 33

[PgUp?]キー。

http://ghqxwt.com/ : Fixnum = 229

[無変換]キー。 [前候補]キー。

* [無変換]キーと[前候補]キーが同じ??。

Phi::VK_RBUTTON : Fixnum = 2

Phi::VK_RCONTROL : Fixnum = 163

Phi::VK_RETURN : Fixnum = 13

[Enter]キー。

Phi::VK_RIGHT : Fixnum = 39

[→]キー

Phi::VK_RMENU : Fixnum = 165

Phi::VK_RSHIFT : Fixnum = 161

Phi::VK_RWIN : Fixnum = 92

Phi::VK_SCROLL : Fixnum = 145

Phi::VK_SELECT : Fixnum = 41

Phi::VK_SEPARATOR : Fixnum = 108

Phi::VK_SHIFT : Fixnum = 16

[Shift]キー。

Phi::VK_SNAPSHOT : Fixnum = 44

Phi::VK_SPACE : Fixnum = 32

スペースキー。

Phi::VK_SUBTRACT : Fixnum = 109

Phi::VK_TAB : Fixnum = 9

[Tab]キー。

* 上のプログラムでは反応しない。これは、 want_tab プロパティの影響。Ctrl+Tab だと反応して、[#<Phi::Form:0x12bab98>, 9, [2] ] と表示される。

Phi::VK_UP : Fixnum = 38

[↑]キー。

Phi::VK_ZOOM : Fixnum = 251


* http://wiki.fdiary.net/apollo/?c=edit;p=Win-VirtualKeyCode Phi-VirtualKeyCode ではなかろうか・・

そうですね。

[Apollo-talk:20] http://lists.sourceforge.jp/mailman/archives/apollo-talk/2002-October/000019.html によると ap-635 の時点で Win.* Sys.* => Phi.* になってます。--moriq

キートップの異なっている。 VK_ALT がない?? VK_CTRL じゃなくてVK_CONTROL VK_BACK_SPACE は? VK_DEL は? VK_WINDOWS もない?(旗マークのキー) VK_ENTER は? VK_PG_UP、VK_PG_DN は VK_CAPS_LOCK は? 「半角/全角」キーは? 「無変換」キーは? 「前候補」キーは? 「カタカナ」キーは?

ノートでの Fn キーの扱い。

英字キー、数字キー

Last modified:2004/11/02 14:45:14
Keyword(s):
References:[Phi::WinControl]