一週間前、私はカップの中身をノートパソコンのキーボードにこぼしました。 1つを除いて、半分のキーが機能しなくなりました!定期的に非常に活発な手紙Q。
私が働いているとき、これは非常に不安です。
ラップトップの内部キーボードを無効にする方法はありますか?
xmodmap
で可能ですか?
xinput
を使用して、Xの下で入力デバイスをフロートさせることができます。
xinput list
を実行して、入力デバイスをリストします。AT Translated Set 2 keyboard
を見つけて、そのid
番号を書き留めます。これはキーボードを無効にするために使用されます。また、末尾の数字[slave keyboard (#)]
;に注意してください。これはmaster
のID番号で、キーボードを再度有効にするために使用されます。xinput float <id#>
コマンドを実行します。<id#>
はキーボードのID番号です。たとえば、id
が10
の場合、コマンドはxinput float 10
になります。xinput reattach <id#> <master#>
を実行します。master
はメモした2番目の番号です。したがって、番号が3
の場合、xinput reattach 10 3
を実行します。デモは次のとおりです。
$ xinputリスト ⎡仮想コアポインターid = 2 [マスターポインター(3)] ⎜↳仮想コアXTESTポインターid = 4 [スレーブポインター(2)] ⎜↳SynPS/2 Synaptics TouchPad id = 11 [スレーブポインター(2)] ⎜↳Logitech USB-PS/2光学式マウスid = 12 [スレーブポインター(2)] ⎜↳Logicool Unifyingデバイス。ワイヤレスPID:4004 id = 13 [スレーブポインター(2)] ⎣仮想コアキーボードid = 3 [マスターキーボード(2)] ↳仮想コアXTESTキーボードid = 5 [スレーブキーボード( 3)] ↳電源ボタンid = 6 [スレーブキーボード(3)] ↳ビデオバスid = 7 [スレーブキーボード(3)] ↳スリープボタンid = 8 [スレーブキーボード(3)] ↳Acer CrystalEyeウェブカメラid = 9 [スレーブキーボード(3)] ↳AT Translated Set 2 keyboard id =10 [スレーブキーボード(3)] $ xinput float 10$ xinputリスト ⎡仮想コアポインターid = 2 [マスターポインター(3)] ⎜↳仮想コアXTESTポインターid = 4 [スレーブポインター(2)] ⎜↳SynPS/2 Synaptics TouchPad id = 11 [スレーブポインター(2)] ⎜↳Logitech USB-PS/2光学式マウスid = 12 [スレーブポインター(2)] ⎜↳Logicool Unifyingデバイス。ワイヤレスPID:4004 id = 13 [スレーブポインター(2)] ⎣仮想コアキーボードid = 3 [マスターキーボード(2)] ↳仮想コアXTESTキーボードid = 5 [スレーブキーボード( 3)] ↳電源ボタンid = 6 [スレーブキーボード(3)] ↳ビデオバスid = 7 [スレーブキーボード(3)] ↳スリープボタンid = 8 [スレーブキーボード(3)] ↳Acer CrystalEyeウェブカメラid = 9 [スレーブキーボード(3)] 〜AT Translated Set 2 keyboard id = 10 [floating slave] $ xinput再接続10 3$ xinputリスト ⎡仮想コアポインターid = 2 [マスターポインター(3)] ⎜↳仮想コアXTESTポインターid = 4 [スレーブポインター(2)] ⎜↳SynPS/2 Synaptics TouchPad id = 11 [スレーブポインター(2)] ⎜↳Logitech USB-PS/2光学式マウスid = 12 [スレーブポインター(2)] ⎜↳Logicool Unifyingデバイス。ワイヤレスPID:4004 id = 13 [スレーブポインター(2)] ⎣仮想コアキーボードid = 3 [マスターキーボード(2)] ↳仮想コアXTESTキーボードid = 5 [スレーブキーボード( 3)] ↳電源ボタンid = 6 [スレーブキーボード(3)] ↳ビデオバスid = 7 [スレーブキーボード(3)] ↳スリープボタンid = 8 [スレーブキーボード(3)] ↳Acer CrystalEyeウェブカメラid = 9 [スレーブキーボード(3)] ↳AT Translated Set 2 keyboard id = 10 [スレーブキーボード( 3)]
特定のキーボードを有効または無効にする小さなスイッチボタンを次に示します。まず、xinput
またはxinput-list
でキーボードIDを見つける必要があります。
#!/bin/bash
Icon="/PATH/TO/ICON_ON"
Icoff="/PATH_TO_ICON_OFF"
fconfig=".keyboard"
id=12
if [ ! -f $fconfig ];
then
echo "Creating config file"
echo "enabled" > $fconfig
var="enabled"
else
read -r var< $fconfig
echo "keyboard is : $var"
fi
if [ $var = "disabled" ];
then
notify-send -i $Icon "Enabling keyboard..." \ "ON - Keyboard connected !";
echo "enable keyboard..."
xinput enable $id
echo "enabled" > $fconfig
Elif [ $var = "enabled" ]; then
notify-send -i $Icoff "Disabling Keyboard" \ "OFF - Keyboard disconnected";
echo "disable keyboard"
xinput disable $id
echo 'disabled' > $fconfig
fi
Icon
(たとえば、/home/user/path/icon.png
)Icoff
キーボードIDとしてid
(xinput
で見つけた)
fconfig
構成ファイルへのパス。別のディレクトリに構成ファイルを作成するかどうかを変更しますキーボードを使用せずにスクリプトを再度実行できない場合は、スクリプトを実行しないでください(もちろん、別のキーボードを取得していない限り)。次のランチャーを(home/user/.local/share/applications
に)作成し、unityに追加します。
[Desktop Entry]
Version=1.0
Type=Application
Name=Clavier ON-OFF
Icon=PATH/TO/YOUR/ICON
Exec=bash NAME_OF_YOUR_SCRIPT.sh
Path=PATH/TO/YOUR/SCRIPT
NoDisplay=false
Categories=Utility;
StartupNotify=false
Terminal=false
結果:
ランチャー:
通知:
私はあなたがこれを行うことができる2つの方法を考えました:
Xorg.confでノートパソコンのキーボードに間違ったモデルを設定することにより?
Lock-keyboard-for-Baby をインストールすることにより
`Lock-keyboard-for-Babyまたは要するにlk4bは、キーボードをロックするがマウスを解放したままにする小さなプログラムです。 wroteが座っているのを見るたびにmyがキーボードを打ちのめすのが好きなので、私はそれを書きました。キーボードで入力したキーは悲惨な結果を招く可能性があり、スクリーンセーバーで常に画面をロックしたくありませんでした。
起動すると、lock-keyboard-for-babyは、キーボードをつかみ、入力されたキーをエコーする小さなウィンドウを開きます。デフォルトでは、終了するために入力する内容が表示されます( "Quit Now")。
スクリーンセーバーとは異なり、画面はブロックされず、マウスはまだ部分的に機能するため、画面の内容を引き続き見ることができます。テレビ/ビデオを見たり、マウスを使用して文書を読んだりしてスクロールできます。
要件:
・GTK> = 2.x・Perl GTK2バインディング(システムに応じてPerl-gtk2またはgtk2-Perl)
無効にする確実な方法の1つは、信号ケーブルを抜くことです。そのためにはキーボードをポップアップする必要があります。その方法については、 HP Pavilion dv9000およびdv9200ノートブックPCのメンテナンスとサービスガイド をご覧ください。
xinput
を使用してキーボードを無効にする方法があります。 T、それを押すだけ Ctrl+Alt+T キーボードでターミナルを開きます。開いたら、以下のコマンドを実行します。
Xのデバイスをリストするには
xinput --list
キーボードを無効にするには:
xinput set-int-prop 2 "Device Enabled" 8 0
キーボードを再度有効にするには:
xinput set-int-prop 2 "Device Enabled" 8 1
許可に関するエラーが表示された場合は、Sudo
とともに上記のコマンドを使用してください。
Ubuntuでラップトップの内部キーボードを永続的に無効にする場合、キーボードポートを確認/作成しないために、このi8042.nokbd
カーネルパラメータを渡す必要があります
i8042.nokbd [HW] Don't check/create keyboard port
ターミナルを開き、次のコマンドを実行します
$Sudo gedit /etc/default/grub
次の行を見つけてみてください
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
パラメーターi8042.nokbd
を追加します。上記の行は次のようになります。
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash i8042.nokbd"
次のコマンドとしてgrubを更新します
$Sudo update-grub
次に、reboot
ラップトップコンピューター。
受け入れられた回答 で示唆されているように、デバイスid
はxinput list
から受信され、再起動時に(少なくとも私のPCでは)時々変更されます間違ったデバイスを無効にしました。
それが、id
の代わりにdevice name
の使用を終了した理由です。例:
xinput disable "AT Translated Set 2 keyboard"
キーボードを掃除したい場合は、常にマシンの電源をオフにする必要がありました。その結果、キーボードを一時的に無効にするためにこれを発見しました:
$ xinput float id#; sleep t; xinput reattach id#master#
t-スリープ時間in seconds
id#およびmaster #前述のようにabove( (ページの先頭 )
たとえば、私のノートブックでは次のように入力しました。
$ xinput float 11;sleep 5;xinput reattach 11 3
xmodmap -e 'keycode 24='
を実行して、Qキーのみを無効にしてください。それが機能する場合、~/.bashrc
またはグローバル/etc/bash.bashrc
ファイルに追加できます。 here からこのアイデアを得ました。これはすべてのキーマッピングを示しています。
価値があるものとして、以前の回答と自分で遊んだことに基づいて、次のスクリプトを作成しました。toggle_keyboard.sh
と呼び、~/bin
パスに配置します。実行するキーボードショートカットが設定されています CtrlWinK。
以前の回答に関するいくつかの問題と私のスクリプトの利点:
xinput float 13
を実行しているときにこれが起こりました。間違ったハードウェアを無効にすることになりました。xinput list --name-only
と入力すると表示されるすべてのxinputデバイスで動作します。名前を取得して、上位4つの変数を編集するだけです。私はラップトップのキーボード、ウェブカメラ、タッチスクリーンモニターなど、たまにしか使用しない他のいくつかの用途に使用します。#!/bin/bash
# Toggle the laptop keyboard either on or off and notify the user about it
# Device name can be found by typing this command: xinput list --name-only
DEVICE_NAME="AT Translated Set 2 keyboard"
# The display name of the device in the notify-send popup
DEVICE_DISPLAY_NAME="Laptop Keyboard"
# Set these to the icons you want to use.
# If they are not found, the notification will still work.
ICON_ENABLE="$HOME/.icons/keyboard.png"
ICON_DISABLE="$HOME/.icons/keyboard_disabled.png"
function xinput_set_prop() {
xinput set-prop "$DEVICE_NAME" "Device Enabled" $1
}
function notify_change() {
if [ -f "$1" ]; then
notify-send --urgency=low --icon="$1" "$2"
else
notify-send --urgency=low "$2"
fi
}
# Returns 1 if device is enabled, 0 if disabled
is_enabled=$(xinput list-props "$DEVICE_NAME" | grep "Device Enabled" | awk '{ print $4 }' | sed 's/[^0-9]*//g')
if [ $is_enabled -eq 1 ]; then
# device is enabled, so disable it
xinput_set_prop 0
notify_change "$ICON_DISABLE" "$DEVICE_DISPLAY_NAME Disabled"
else
# device is disabled, so enable it
xinput_set_prop 1
notify_change "$ICON_ENABLE" "$DEVICE_DISPLAY_NAME Enabled"
fi
xinput float「AT Translated Set 2キーボード」
ディストリビューションとリリースが異なるさまざまな方法で何年もかけて時間を費やした後。上記の端末コマンドは、問題が発生した後に依存するものです.....ネオンプラズマでこれを使用し、1か月前にストレートubuntu 18.04で使用していました。 (再起動後に適用する必要があります-起動時に配置できます)* HPラップトップの内蔵キーボードが損傷し、入力を開始すると深刻な問題が発生する-ワイヤレスキーボードとマウスを使用する-タッチパッドはKDEトップバーの一部としてオン/オフするオプション-ネオン/プラズマ5)。システム設定/自動起動では、次のコード行を含むテキストファイルが.shファイルとして保存され、実行可能ファイルとして設定されます(txtファイルのプロパティ)
xinput float "AT Translated Set 2 keyboard"
テキストファイルには名前> keyboardoff>が付けられ、autostart(実行可能)に配置されます。システムを再起動/起動すると、組み込みのキーボードがオフになります。 (テストにxinput listを使用)