一週間前、私はカップの中身をノートパソコンのキーボードにこぼしました。1つを除いて、半分のキーが機能しなくなりました!定期的に非常に活発な手紙Q。
私が働いているとき、これは非常に不安です。
ラップトップの内部キーボードを無効にする方法はありますか?
で可能xmodmap
ですか?
HP pavilion dv9000
一週間前、私はカップの中身をノートパソコンのキーボードにこぼしました。1つを除いて、半分のキーが機能しなくなりました!定期的に非常に活発な手紙Q。
私が働いているとき、これは非常に不安です。
ラップトップの内部キーボードを無効にする方法はありますか?
で可能xmodmap
ですか?
HP pavilion dv9000
回答:
xinput
Xの下で入力デバイスをフロートさせるために使用できます。
xinput list
を実行して、入力デバイスをリストします。AT Translated Set 2 keyboard
そのid
番号を見つけてメモします。これはキーボードを無効にするために使用されます。また、末尾の数字に注意してください[slave keyboard (#)]
。これはのID番号で、master
キーボードを再度有効にするために使用されます。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)] PS↳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)] ↳Video Bus id = 7 [スレーブキーボード(3)] ↳スリープボタンid = 8 [スレーブキーボード(3)] ↳Acer CrystalEyeウェブカメラid = 9 [スレーブキーボード(3)] Translate AT Translated Set 2 keyboard id = 10 [スレーブキーボード(3)] $ xinput float 10 $ xinputリスト ⎡仮想コアポインターid = 2 [マスターポインター(3)] ↳↳仮想コアXTESTポインターid = 4 [スレーブポインター(2)] PS↳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)] ↳Video Bus id = 7 [スレーブキーボード(3)] ↳スリープボタンid = 8 [スレーブキーボード(3)] ↳Acer CrystalEyeウェブカメラid = 9 [スレーブキーボード(3)] 〜AT変換セット2キーボードID = 10 [フローティングスレーブ] $ xinput再接続10 3 $ xinputリスト ⎡仮想コアポインターid = 2 [マスターポインター(3)] ↳↳仮想コアXTESTポインターid = 4 [スレーブポインター(2)] PS↳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)] ↳Video Bus id = 7 [スレーブキーボード(3)] ↳スリープボタンid = 8 [スレーブキーボード(3)] ↳Acer CrystalEyeウェブカメラid = 9 [スレーブキーボード(3)] Translate AT Translated Set 2 keyboard id = 10 [スレーブキーボード(3)]
xinput float 14
このクエリは、可逆的ですか?この後にキーボードを有効にする方法は?
reattach
引数を使用して再アタッチします。xinput reattach 14 3
特定のキーボードを有効または無効にする小さなスイッチボタンを次に示します。まず、xinput
またはでキーボードIDを見つける必要がありますxinput-list
。
#!/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
結果:
ランチャー:
通知:
function is-disabled() { xinput --list --long | grep -A 1 "id=$1" | grep -q disabled }
。そのようにすれば、キーボードが別のプログラムによって有効/無効にされていても、すべてが機能します。
fconfig=".keyboard" if [ ! -f $fconfig ];
ここで、何.keyboard
ですか?そして、両方のfconfig
と$fconfig
同じですか?また、どういう! -f $fconfig
意味ですか?私はbashスクリプトの初心者です。ありがとう:)
私はあなたがこれを行うことができる2つの方法を考えました:
xorg.confでノートパソコンのキーボードに間違ったモデルを設定することにより?
Lock-keyboard-for-Babyをインストールすることにより
`Lock-keyboard-for-Babyまたは要するにlk4bは、キーボードをロックするがマウスを解放したままにする小さなプログラムです。私がそれを書いたのは、myが座っているのを見るたびにwheneverがキーボードを打ち負かすのが好きだからです。キーボードで入力したキーは悲惨な結果を招く可能性があり、スクリーンセーバーで常に画面をロックしたくありませんでした。
起動すると、lock-keyboard-for-babyは、キーボードをつかんで入力されたキーをエコーする小さなウィンドウを開きます。デフォルトでは、終了するために入力する内容が表示されます( "Quit Now")。
スクリーンセーバーとは異なり、画面はブロックされず、マウスはまだ部分的に機能するため、画面の内容を引き続き見ることができます。テレビ/ビデオを見たり、マウスを使用して文書を読んだりしてスクロールできます。
要件:
・GTK> = 2.x・perl GTK2バインディング(システムに応じてperl-gtk2またはgtk2-perl)
無効にする確実な方法の1つは、信号ケーブルを抜くことです。そのためにはキーボードをポップアップする必要があります。その方法については、HP Pavilion dv9000およびdv9200 Notebook PCのメンテナンスおよびサービスガイドをご覧ください。
を使用してキーボードを無効にする方法がありxinput
ます。それを行うには、キーボードの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
。
受け入れられた回答で提案されたデバイスid
の受信はxinput list
、再起動時に(少なくとも私のPCで)何らかの形で変更され、間違ったデバイスが無効になることがあります。
だからこそ、のdevice name
代わりに使用を終了しましたid
。例:
xinput disable "AT Translated Set 2 keyboard"
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
、ラップトップコンピューター。
価値があるものとして、以前の回答と自分で遊んでいることに基づいて、次のスクリプトを作成し、これを呼び出しtoggle_keyboard.sh
て~/bin
パスに配置しました。に設定するキーボードショートカットがありますCtrlWinK。
以前の回答に関するいくつかの問題と私のスクリプトの利点:
xinput float 13
。間違ったハードウェアを無効にすることになりました。xinput list --name-only
。名前を取得して、上位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リストを使用してテストします)