Есть ли способ отключить внутреннюю клавиатуру ноутбука?

Нажмите Alt + Space.

1
задан 25 February 2014 в 04:37

9 ответов

Я подумал о двух способах сделать это:

Установив неправильную модель для вашей клавиатуры ноутбука в xorg.conf? Установив Lock-keyboard-for-Baby

`Lock-keyboard-for-Baby или lk4b, это небольшая программа, которая блокирует вашу клавиатуру, но оставляет вашу мышь свободной. Я написал это, потому что моя племянница любит уходить на клавиатуру, когда она видит, как я сажусь на нее. Клавиши, набранные на клавиатуре, могут иметь катастрофические последствия, и я не хотел постоянно блокировать экран с помощью скринсейвера.

При запуске lock-keyboard-for-baby открывает небольшое окно, которое захватывает клавиатуры и эхо-ключи, которые печатаются. По умолчанию он сообщает вам, что вводить для выхода («Quit Now»).

В отличие от заставки, ваш экран не блокируется, и мышь все еще частично работает, поэтому вы все еще можете видеть, что на вашем экране - продолжать смотреть телевизор / видео и / или читать документ с помощью мыши для прокрутки . [[d]]

Требования:

· GTK> = 2.x · perl GTK2 привязки (perl-gtk2 или gtk2-perl в зависимости от вашей системы)

12
ответ дан 25 May 2018 в 08:55
  • 1
    это не совсем то, что мне нужно, мне нужно использовать мою клавиатуру usb, но ваш код очень полезен! ;) – atmon3r 22 August 2012 в 03:28
  • 2
    Lock-keyboard-for-Baby позволит вам отключить внутреннюю клавиатуру, сохраняя при этом использование внешнего – LnxSlck 22 August 2012 в 05:49
  • 3
    Brilliant. Lock-Keyboard-For-Baby работает в Ubuntu 16.04. Я предпочитаю кодировать, используя ручку и бумажную книгу, сохраняя ее на клавиатуре. Эта крошечная утилита решила мою проблему. Для других вам может потребоваться запустить sudo apt-get install libgtk2-perl перед запуском скрипта perl – mac 1 February 2017 в 12:05

Вот небольшая кнопка для включения и отключения конкретной клавиатуры. Во-первых, вам нужно найти идентификатор вашей клавиатуры с помощью xinput или xinput-list.

Сценарий Bash для включения / выключения клавиатуры

#!/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 в качестве идентификатора клавиатуры (нашел его с xinput) fconfig путь к файлу конфигурации. Измените, если вы хотите создать файл конфигурации в другом каталоге

Не пытайтесь запустить сценарий, если вы не можете запустить его снова без использования вашей клавиатуры (если у вас нет другой клавиатуры, конечно). Создайте следующую пусковую установку (в home/user/.local/share/applications) и добавьте ее в единицу:

Рабочий стол (Unity launcher)

[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

РЕЗУЛЬТАТ:

[d16 ] Не пытайтесь запустить сценарий, если вы не можете запустить его снова без использования вашей клавиатуры

Уведомления:

enter image description here

12
ответ дан 25 May 2018 в 08:55
  • 1
    Это хорошо работает, благодарю вас за разъяснение этого. Есть одна вещь, которую я не понимаю: как изменить значок в соответствии с логикой сценария оболочки. Я думаю, что это частично определяется «Icon = PATH / TO / YOUR / ICON». в записи «Рабочий стол» я использовал абсолютный путь, «/ home /.../ icon_on.png». поскольку я не знаю, как еще использовать «.desktop». хотя я вижу, что это может помешать переключению значков. Может ли кто-нибудь дать подсказку, пожалуйста? – Puffin 13 December 2016 в 00:03
  • 2
    Привет, вы правы в абсолютном пути в файле .desktop. Извините, но я не знаю, как сделать динамические изменения для значка запуска. Согласно этому ответу, вообще невозможно: askubuntu.com/a/244951/458410 . Значок в моем скрипте изменяется только в уведомлениях. – mxdsp 20 December 2016 в 14:00
  • 3
    Ах, да, хорошо, что имеет смысл, мой делает то же самое, спасибо. – Puffin 20 December 2016 в 22:47
  • 4
    Возможное улучшение: вместо сохранения состояния в файле вы можете напрямую проверить, отключена ли клавиатура с помощью этой команды: function is-disabled() { xinput --list --long | grep -A 1 "id=$1" | grep -q disabled }. Таким образом, все работает, даже если клавиатура включена / отключена другой программой. – dshepherd 26 February 2017 в 15:21
  • 5
    fconfig=".keyboard" if [ ! -f $fconfig ]; Здесь, что .keyboard? И оба fconfig и $fconfig одинаковы? А также что означает ! -f $fconfig? Я новичок в сценариях bash. Благодаря :) – sphoenix 16 September 2017 в 21:01

Один верный способ отключить его - отключить сигнальный кабель. Для этого вам нужно открыть клавиатуру. Для получения информации о том, как это сделать, ознакомьтесь с руководством по обслуживанию и обслуживанию для ноутбуков HP Pavilion dv9000 и dv9200.

Теперь есть способ отключить клавиатуру, используя 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.

8
ответ дан 25 May 2018 в 08:55

Чтобы отключить внутреннюю клавиатуру ноутбука постоянно На Ubuntu необходимо передать этот параметр i8042.nokbd Kernel, чтобы не проверять / создавать порт клавиатуры

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 ваш портативный компьютер.

4
ответ дан 25 May 2018 в 08:55

Например, чтобы временно отключить клавиатуру для очистки:

$ xinput float id #; sleep t; xinput reattach id # master #

t [!d2 ] в секундах

id # и master #, как указано выше (например, на моем ноутбуке:

$ xinput float 11; sleep 5; xinput reattach 11 3 [ ! d11]

Я просто добавил это, потому что мне все время нравится чистить клавиатуру. Я должен перезагрузиться, поэтому я это обнаружил!

4
ответ дан 25 May 2018 в 08:55

Попробуйте запустить xmodmap -e 'keycode 24=', чтобы отключить только Q-ключ. Если это сработает, вы можете добавить его в свой ~/.bashrc или глобальный /etc/bash.bashrc файл. Я получил эту идею отсюда, где показаны все сопоставления клавиш.

3
ответ дан 25 May 2018 в 08:55
  • 1
    Разве это не отключит q на внешней клавиатуре? – Sparhawk 30 August 2013 в 10:07

Устройство id, полученное из xinput list, как предлагается в принятом ответе, иногда каким-то образом изменяется при перезагрузке (по крайней мере, на моем ПК), что привело к отключению неправильного устройства.

Вот почему я [ ve закончил использование device name вместо id, например:

xinput disable "AT Translated Set 2 keyboard"
3
ответ дан 25 May 2018 в 08:55

Для чего это стоит, основываясь на предыдущих ответах и ​​моей собственной игре, я создал следующий скрипт, который я называю toggle_keyboard.sh и размещаю на своем пути ~/bin. У меня есть комбинация клавиш, которая запускает его для CtrlWinK.

Некоторые проблемы с предыдущими ответами и преимуществами моего скрипта:

Опираясь на номер id с xinput, не удается при перезагрузке и номер идентификатора изменяется. Это случилось со мной при запуске xinput float 13. В итоге я отключил неправильное оборудование. Если вы перезагрузитесь, файл будет удерживать включенное / отключенное состояние. Файл скажет вам, что клавиатура отключена (если вы отключили ее со сценарием), но после перезагрузки она снова будет включена. Мое решение получает информацию о включении / отключении от синтаксической команды xinput. Мой скрипт будет работать с любым xinput-устройством, которое появляется при вводе xinput list --name-only. Просто получите имя и отредактируйте первые четыре переменные. Я использую его для клавиатуры ноутбука, веб-камеры, сенсорного монитора и нескольких других вещей, которые я использую только раз в то время.
#!/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
0
ответ дан 25 May 2018 в 08:55

У меня была проблема с застрявшим ключом, есть где-то команда, которую вы можете положить в терминал, и она будет автоматически отключать ее каждый раз при запуске, я не программист, и я не могу вспомнить i (я просто копирую и вставьте в терминал, я понятия не имею, как вы, ребята, знаете это, или как все вы можете придумать разные версии lol), если бы он был на монетном дворе 17, но я также знаю, что есть тот, который вы можете даже положить, чтобы он отключил его даже до входа в систему, хотя я никогда не делал этого, поскольку он больше задействован

Но то, что я сделал, - это войти в настройки, клавиатуру (на монетном дворе 18 xfce вы нажимаете назад, где раньше было меню начала и перейдите в систему, а затем клавиатуру), и вы можете отключить клавиши повтора, это всего лишь поле, которое вы снимете, вы увидите его, вам все равно придется использовать клавиатуру usb, как если бы вы использовали другую, она будет перепечатывать оскорбительное письмо каждый другой ключ , но он отлично выполняет работу

Кстати, спасибо всем за то, что помогли мне с компьютерами на протяжении многих лет, кем бы вы ни были, рок, победили 8 и мой компьютер, как ev eryone elses, у которого был сенсорный экран для ноутбука, просто не мог справиться с этим, и благодаря вашим обсуждениям здесь я продолжал идти, вы герои:)

-1
ответ дан 25 May 2018 в 08:55

Другие вопросы по тегам:

Похожие вопросы: