[リストへもどる]   [VBレスキュー(花ちゃん)]
一括表示

投稿時間:2005/06/10(Fri) 10:58
投稿者名:くるす
Eメール:
URL :
タイトル:
Fnキーを操作したい
始めましてVB初心者ですがよろしくお願いします

ノートパソコンのFnキーを
常時押しっぱなしにする方法を探しているのですが
APIを使用しないといけないようで
ちょっと手に余ってしまい、知恵を拝借できないかと
質問させていただきます

現在困っている点
・Fnキーのキーコードって言うんでしょうか?が判らない
・常時押しっぱなしは、Timerを使って連打するしかないのか?

  こちらのサンプル、http://www.bcap.co.jp/hanafusa/VBHLP/specialkey.htm
  のTimerとTextBoxだけを作って
  APIを記述と
**********
rivate Sub Timer1_Timer()
If GetKeyState(VK_SHIFT) < 0 Then
  Text1.Text = "TAB_ON"
Else
  Text1.Text = "TAB_OFF"
End If
End Sub
***************
を動かし、ブレークポイントで動作を見ましたがAPIの記述には飛ばないので
どうやってキーコードを取得したら良いのか判りません
どうか助力をいただけないでしょうか?

投稿時間:2005/06/10(Fri) 15:45
投稿者名:いな
Eメール:
URL :
タイトル:
Re: Fnキーを操作したい
>どうやってキーコードを取得したら良いのか判りません。

以下のコードを貼り付けて実行後、「Fn」キーを押下し、
イミディエイトウィンドウを確認してください。

Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
    Debug.Print "KeyCode > " & KeyCode
End Sub
Private Sub Form_KeyPress(KeyAscii As Integer)
    Debug.Print "KeyAscii > " & KeyAscii
End Sub

ってこれでは無理か...な

投稿時間:2005/06/10(Fri) 16:52
投稿者名:じゃんぬねっと
Eメール:
URL :http://jeanne.wankuma.com/
タイトル:
Re^2: Fnキーを操作したい
こんにちは、じゃんぬ です。

> ってこれでは無理か...な

はい、ムリです。
Fn キーはキーの配列上やむをえなく 1 つのボタンに 2 つの意味をもたせているだけですので、
Shift やら Ctrl やらとは違って独立している概念はありません。
つまり、Fn キーを使用する場合は、何かのキーと必ず組み合わせているハズです。
そのキーを取得すれば良いのです。

投稿時間:2005/06/10(Fri) 17:19
投稿者名:いな
Eメール:
URL :
タイトル:
Re^3: Fnキーを操作したい
> こんにちは、じゃんぬ です。
>
> > ってこれでは無理か...な
>
> はい、ムリです。

が〜ん...な、なるほどだしかに
悔しいので、もう少し調べてみました。
「Fn」+「→」=「End」...KeyCode > 35
「→」だけだと...KeyCode > 39

「Fn」+「↑」=「PgUp」...KeyCode > 33
「↑」だけだと...KeyCode > 38

お、これなら5ずらせば
「Fn」+「NumLk」=「ScrLk」...KeyCode > 145
「NumLk」だけだと...KeyCode > 144

が〜ん、手ごわい。
しかも、
「Fn」+「Delete」や「Fn」+「Insert」もキーコードが取れない...

ぅ....挫折しそうだ。

投稿時間:2005/06/10(Fri) 20:34
投稿者名:じゃんぬねっと
Eメール:
URL :http://jeanne.wankuma.com/
タイトル:
Re^4: Fnキーを操作したい
こんにちは、じゃんぬ です。

> 悔しいので、もう少し調べてみました。
> 「Fn」+「→」=「End」...KeyCode > 35
> 「→」だけだと...KeyCode > 39
> 「Fn」+「↑」=「PgUp」...KeyCode > 33
> 「↑」だけだと...KeyCode > 38

私が後半で述べたのは、まさにこのことです。

> お、これなら5ずらせば
> 「Fn」+「NumLk」=「ScrLk」...KeyCode > 145
> 「NumLk」だけだと...KeyCode > 144
> が〜ん、手ごわい。

そうですね、総当りでやるにはちょっとつらいです。

> しかも、
> 「Fn」+「Delete」や「Fn」+「Insert」もキーコードが取れない...
> ぅ....挫折しそうだ。

挫折しちゃいましょう。
Fn キーを取得するならともかく、操作するのですから、
何かのボタンと併用したいということだと思います。
ということは...

投稿時間:2005/06/13(Mon) 10:21
投稿者名:いな
Eメール:
URL :
タイトル:
Re^5: Fnキーを操作したい
> 挫折しちゃいましょう。

今、使っている東芝のDynabook SS SXは
「Fn」+ 「1」、「Fn」+ 「2」
などにも機能が割り当てられている。
他のメーカーはどうなんだろう・・・。

投稿時間:2005/06/10(Fri) 16:57
投稿者名:くるす
Eメール:
URL :
タイトル:
Re^2: Fnキーを操作したい
アドバイスありがとうございます

Fnキーはどうやら反応しないようです

ShiftやNumLockといった特殊キーは
反応しますが、Fnキーにダメでした

ちょっと調べたのですが
Fnキーは、扱いがさらに特殊な様子で
どうやらハードウェア的に?
動作してる部分があるみたいなんです。

私見ですが
PCのソフト上で受け取る信号にFnってのは存在しなくて
・通常のキーボードで[Shift]+[1]を押す
 PCは[Shift]+[1]だと受信
 [!]と判断

・ノートの[Fn]+[X1(仮名)]を押す  (Fn+X1=X2 だと仮定)
 PCは[Fn]+[X1]では無く[X2]と受信

なんじゃないかと思えてきました
そうすると、VBというかソフト的にはどうにもならない部分
なのでこのプログラムは
想定にそもそも無理が有った事になっちゃいますね(;;

いなさん、ありがとうございました