Num Lockキーをオフにすることなく、Num Lockを常にオンにすることは可能ですか?


14

したがって、この質問はデフォルトでnumロックをオンにすることではありません

Num Lockをオンにして、キーボードのNum Lockボタンがその状態に影響する機能を削除することは可能ですか?

編集(理由):

私のキーボードでは、Homeボタンは本当に近くにありnumlockます。職場ではよくHomeテンキーを使用しますが、時々偶然にもヒットしnumlockます。その結果、numpadがオフになります。これは、多くの数字を入力しなければならないときに本当にひどくなり、しばらくして、numlockがnumpadをオフにしたので何も入力しなかったことに気付きます。


5
NumLockキーを取り外し、スイッチをオンの位置にエポキシで固定し、キーを再びオンにします。
モアブ

どうしてそれが必要なの?ちょうど好奇心
登録ユーザー

@RegisteredUser私の編集を参照してください
アダムVarhegyi

回答:


5

CapShiftを使用すると無料です。

https://www.donationcoder.com/Software/Skrommel/index.html#CAPshift

「CAPshiftは、Caps Lockキーを遅くすることで拡張します...

  • 0.5秒間押し続けると、有効/無効になります。
  • 1秒間押し続けると、メニューが表示されます。
  • トレイアイコンを右クリックして、メニューを表示します。
  • F1、Insert、NumLock、ScrollLockも遅くなります。」

利点は、本当に必要な場合にNumLockを変更する機能が失われないことです。


良さそうに
聞こえ

5

NumLockキーを物理的に削除します。指で押しても、そこにはありません。


絶対確実なソリューション。
ロヒトグプタ

5
それは実際には絶対確実ではありません。一部のソフトウェア(たとえば、HyperV)は再びnumlockをオフに切り替えることができます。キーボードからキーを削除した場合(またはSharpKeysを使用した場合)、それを有効にするには再試行する必要があります。
StingyJack

3

アプリケーションを介して、オフになると(数ミリ秒以内に)自動的にオンに戻すことができます。

この男は、「Numlock Enforcer」と呼ばれる自動ホットキースクリプトを作成しました。http://www.donationcoder.com/forum/index.php? topic = 9018.0

最もエレガントなソリューションではありませんが、機能するはずです。


1

あなたが探している答えではないかもしれませんが、それは私にとってその問題を解決しました:

Windowsのロックキーのサウンドをアクティブにします(Windows 10の場合:コントロールパネル\アクセスのしやすさ\アクセスのしやすさセンター\キーボードを使いやすくする\トグルキーをオンにする)

そうすることで、叩くとビープ音が鳴り、すぐに気づきます。実際には、信号が発生したときに正しいので、まったくヒットしないように訓練されました。


組み込みの機能を使用した素晴らしいアイデアです!
オリバー

1

Autohotkeyを使用する場合、スクリプトに次の行を追加できます。

SetNumLockState, AlwaysOn

この行をホットキーの前に配置してください。スクリプトの最初に配置したので、常に正常に動作することを確認します。スクリプトの中央または最後に配置した場合、動作しない可能性があります。


0

BIOSにはNumLockキーを無効にする設定がある場合がありますが、これについてさらに詳しく説明するには、コンピューターモデルとBIOSバージョンを知る必要があります。通常、BIOSを起動して「NumLock State」、「Bootup NumLock State」などの名前のアイテムを探し、Enterキーを押して矢印キーを使用して「Off」または「Disabled」を選択し、Enterキーを押します。

Windowsハッカーの場合、レジストリのInitialKeyboardIndicatorsHKCU\Control Panel\Keyboard という名前のアイテムには1、NumLockを無効にするための文書化されていない値が含まれています。その有効性は、Windowsのバージョンによって異なる場合があります。

残忍な解決策は、Numlockキーキャップを取り外し、必要に応じてペンを使用して設定を変更することです。Windows XP以降では、起動後もその状態が記憶されるため(BIOSまたは他の設定が干渉しない限り)、設定は通常維持されます。


0

ステップ1

レジストリを変更して、起動時にNumLockの初期状態をオンに設定します。

HKEY_USERS\.DEFAULT\Control Panel\Keyboard\InitialKeyboardIndicators
  Set to Value to 2

ステップ2

AutoHotkeyスクリプトを追加してキーを監視し、キーをオフにできないことを確認します。AutoHotkeyをインストールし、MyBestNumlockHack.ahkという名前の新しいスクリプトを作成します。このスクリプトをC:\ Users \ {ユーザー名} \ AppData \ Roaming \ Microsoft \ Windows \ Start Menu \ Programs \ Startupディレクトリに配置します。

Numlock::
  if (!GetKeyState("NumLock", "T"))
    SetNumLockState, On
  return

0

タイマーを作成し、NumlOnと呼びます。間隔を100に設定します。

Public Const VK_NUMLOCK = &H90
Declare Function GetKeyState Lib "user32" Alias "GetKeyState" _
(ByVal ByValnVirtKey As Integer) As Short
Dim NLKey as boolean

Private Sub me_keyDown(ByVal sender As System.Object, _
ByVal e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyDown
    If e.KeyCode = Keys.NumLock And Not NLKey Then
        If Not GetKeyState(VK_NUMLOCK) Then
            e.Handled = True
            NumlOn.Start()
            Exit Sub
        End If
    End If
End sub

Private Sub NumlOn_Tick(sender As Object, e As EventArgs) _ 
Handles NumlOn.Tick
    NLKey = True
    If Not GetKeyState(VK_NUMLOCK) Then numlockON()
    Application.DoEvents()
    NumlOn.Stop()
    NLKey = False
 End Sub

3
牛肉はどこですか?このコードをファイルに入れるための使用が必要だと思います。それでは何?どんなふうに使うの?どのように機能しますか?コメントで返信しないでください。回答を編集して、より明確で完全なものにします。
スコット

0

サブを忘れた...これは完全に機能しています

Public Const VK_NUMLOCK = &H90
Declare Function GetKeyState Lib "user32" Alias "GetKeyState" _
(ByVal ByValnVirtKey As Integer) As Short

Private Sub numlockON()
    keybd_event(VK_NUMLOCK, 0, 0, 0) ' Press NUMLOCK key down
    keybd_event(VK_NUMLOCK, 0, KEYEVENTF_KEYUP, 0)
End Sub

Private Sub me_keyDown(ByVal sender As System.Object, _
ByVal e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyDown
    If e.KeyCode = Keys.NumLock And Not NLKey Then
        If Not GetKeyState(VK_NUMLOCK) Then
            e.Handled = True
            NumlOn.Start()
            Exit Sub
        End If
    End If
End sub

Private Sub NumlOn_Tick(sender As Object, e As EventArgs) Handles NumlOn.Tick
    NLKey = True
    If Not GetKeyState(VK_NUMLOCK) Then numlockON()
    Application.DoEvents()
    NumlOn.Stop()
    NLKey = False
End Sub

1
スーパーユーザーへようこそ。複数の回答を投稿するのではなく、前の回答を修正してこの回答を削除するか、この回答の変更が必要な場合は削除してください。また、あなたの他の答えでスコットが言ったこと。
fixer1234
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.