일주일 전에 컵 내용물을 랩탑 키보드에 쏟았습니다. 하나를 제외하고 키의 절반이 더 이상 작동하지 않습니다! 정기적으로 매우 활동적인 편지 Q.
내가 일하는 동안 이것은 매우 혼란 스럽습니다.
랩톱의 내부 키보드를 비활성화하는 방법이 있습니까?
가능 xmodmap
합니까?
HP pavilion dv9000
일주일 전에 컵 내용물을 랩탑 키보드에 쏟았습니다. 하나를 제외하고 키의 절반이 더 이상 작동하지 않습니다! 정기적으로 매우 활동적인 편지 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
was 10
인 경우 명령은입니다 xinput float 10
.xinput reattach <id#> <master#>
. 여기서 master
두 번째 숫자는 적어 두었습니다. 따라서 숫자가 맞다면 그렇게 3
할 것 xinput reattach 10 3
입니다.데모는 다음과 같습니다.
$ xinput 목록 ⎡ 가상 코어 포인터 id = 2 [마스터 포인터 (3)] core ↳ 가상 코어 XTEST 포인터 id = 4 [슬레이브 포인터 (2)] PS ↳ SynPS / 2 Synaptics TouchPad id = 11 [슬레이브 포인터 (2)] i ↳ Logitech USB-PS / 2 광 마우스 id = 12 [슬레이브 포인터 (2)] i ↳ Logitech 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 번역 세트 2 키보드 id = 10 [슬레이브 키보드 ( 3 )] $ xinput float 10 $ xinput list ⎡ 가상 코어 포인터 id = 2 [마스터 포인터 (3)] core ↳ 가상 코어 XTEST 포인터 id = 4 [슬레이브 포인터 (2)] PS ↳ SynPS / 2 Synaptics TouchPad id = 11 [슬레이브 포인터 (2)] i ↳ Logitech USB-PS / 2 광 마우스 id = 12 [슬레이브 포인터 (2)] i ↳ Logitech 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 키보드 id = 10 [부동 슬레이브] $ xinput 다시 첨부 10 3 $ xinput 목록 ⎡ 가상 코어 포인터 id = 2 [마스터 포인터 (3)] core ↳ 가상 코어 XTEST 포인터 id = 4 [슬레이브 포인터 (2)] PS ↳ SynPS / 2 Synaptics TouchPad id = 11 [슬레이브 포인터 (2)] i ↳ Logitech USB-PS / 2 광 마우스 id = 12 [슬레이브 포인터 (2)] i ↳ Logitech 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)] 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
) 및 통일에 추가 :
[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 스크립팅이 처음입니다. 감사합니다 :)
나는 당신이 이것을 할 수있는 두 가지 방법을 생각했습니다.
xorg.conf에서 랩탑 키보드에 잘못된 모델을 설정하면?
아기 용 키보드 를 설치하여
`Baby-key-for-Baby 또는 lk4b는 키보드를 잠그고 마우스는 자유롭게 두는 작은 프로그램입니다. 내 조카가 내가 앉은 것을 볼 때마다 내 키보드에서 강타를 좋아하기 때문에 나는 그것을 썼다. 키보드로 입력 한 키는 치명적인 결과를 초래할 수 있으며 화면 보호기로 항상 화면을 잠그고 싶지 않았습니다.
시작할 때, 키보드 잠금 장치는 작은 창을 열어 키보드를 잡고 입력 된 키를 에코합니다. 기본적으로 종료 할 내용 ( "지금 종료")을 알려줍니다.
스크린 세이버와 달리 화면이 차단되지 않고 마우스가 여전히 부분적으로 작동하므로 화면에있는 내용을 계속 볼 수 있습니다. TV / 비디오를 계속 시청하거나 마우스를 사용하여 스크롤하여 문서를 읽습니다. '
요구 사항 :
· GTK> = 2.x · perl GTK2 바인딩 (시스템에 따라 perl-gtk2 또는 gtk2-perl)
이를 비활성화하는 한 가지 확실한 방법은 신호 케이블을 분리하는 것입니다. 키보드를 팝업해야합니다. 이를 수행하는 방법에 대한 정보 는 HP Pavilion dv9000 및 dv9200 노트북 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
.
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 번역 세트 2 키보드"
다른 배포 및 릴리스와 다른 방법으로 몇 년 동안 시간을 보낸 후. 위의 터미널 명령은 문제 후에 의존하는 것입니다 ..... 나는 이것을 네온 플라즈마와 함께 사용하고 한 달 전에 직선 우분투 18.04에서 사용했습니다. (다시 시작한 후 적용해야 함-시작시 배치 가능) * HP 노트북의 내장 키보드가 손상되어 입력을 시작하여 심각한 문제가 발생합니다-무선 키보드와 마우스를 사용합니다-터치 패드가 KDE 상단 표시 줄의 일부로 켜져 있거나 꺼져 있습니다 옵션-네온 / 플라즈마 5). 시스템 설정 / 자동 시작에서 다음 코드 줄이있는 텍스트 파일은 .sh 파일로 저장되고 실행 파일로 설정됩니다 (txt 파일 속성)
xinput float "AT Translated Set 2 keyboard"
텍스트 파일 이름이> keyboardoff>이고 자동 시작 (실행 가능)에 배치됩니다. 시스템을 다시 시작 / 시작할 때> 내장 키보드가 꺼집니다. ( xinput list 를 사용 하여 테스트)