外部キーボードとマウスを使うために、内部キーボードとタッチパッドを無効にする。

xinput list

  ⎡ Virtual core pointer                               id=2    [master pointer  (3)]
  ⎜   ↳ Virtual core XTEST pointer                    id=4    [slave  pointer  (2)]
  ⎜   ↳ SynPS/2 Synaptics TouchPad                    id=11   [slave  pointer  (2)]
  ⎜   ↳ Logitech USB-PS/2 Optical Mouse               id=12   [slave  pointer  (2)]
  ⎜   ↳ Logitech Unifying Device. Wireless PID:4004   id=13   [slave  pointer  (2)]
  ⎣ Virtual core keyboard                              id=3    [master keyboard (2)]
      ↳ Virtual core XTEST keyboard                   id=5    [slave  keyboard (3)]
      ↳ Power Button                                  id=6    [slave  keyboard (3)]
      ↳ Video Bus                                     id=7    [slave  keyboard (3)]
      ↳ Sleep Button                                  id=8    [slave  keyboard (3)]
      ↳ Acer CrystalEye webcam                        id=9    [slave  keyboard (3)]
      ↳ AT Translated Set 2 keyboard                  id=10   [slave  keyboard (3)]

デバイスを無効にするには、xinput float <id>を、無効にしたデバイスを再度有効にするには、xinput reattach <id> <master>とする。<master>には()の中の数字を指定する。

以下の記事を参考にした。 Is there a way to disable a laptop’s internal keyboard?

内部キーボードはAt Translated Set keyboard、タッチパッドはSynPS/2 Synaptics TouchPadで、idと(数字)が確認できたので、これ無効にするスクリプトを作成する。

#!/bin/sh
target="AT Translated Set 2 keyboard"
slaveno=`xinput | grep "${target}" | awk -F'[=[()]' '{print $4}'| tr -d " \t"`
id=`xinput | grep "${target}" | awk -F'[=[()]' '{print $2}'| tr -d " \t"`
echo "${target} id=${id}", slaveNo=${slaveno} floating...
xinput float ${id}

target="SynPS/2 Synaptics TouchPad"
slaveno=`xinput | grep "${target}" | awk -F'[=[()]' '{print $4}'| tr -d " \t"`
id=`xinput | grep "${target}" | awk -F'[=[()]' '{print $2}'| tr -d " \t"`
echo "${target} id=${id}", slaveNo=${slaveno} floating...
xinput float ${id}