Как настроить Ubuntu для автоматического включения NumLock, когда внешняя клавиатура подключена и выключена, когда это не так?

Использование NumLock удобно при использовании полноразмерной внешней клавиатуры (с клавиатурой) и очень неудобно при использовании встроенной клавиатуры ноутбука (в которой вместо буквы на правой стороне клавиатуры указаны цифры вместо букв Fn). [ ! d0]

Поэтому мне приходится поворачивать NumLock каждый раз, когда я прикрепляю внешнюю клавиатуру (или загружаюсь с ней в комплекте) и отключается каждый раз, когда я отсоединяю внешнюю клавиатуру (или загружаюсь с ней отдельно). И я делаю это часто, потому что предпочитаю использовать полноразмерную внешнюю клавиатуру, но не хватает (всего 3) USB-порта для подключения к нему вместе с мышью, 3G-модемом и внешним жестким / флеш-накопителем.

Могу ли я автоматизировать это? Кажется очень формализованной, логически простой задачей: если есть USB-клавиатура, подключенная (какое-то устройство в / dev присутствует?) - NumLock включен, если нет - NumLock выключен.

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

Я использую Ubuntu 10,10.

12
задан 4 October 2010 в 02:06

48 ответов

Прежде всего, установите numlockx (нажмите здесь, чтобы установить numlockx). В основном это позволяет писать сценарии, чтобы установить состояние Num Lock - подробнее см. Страницу man numlockx.

Затем нам нужно начать вникать в удовольствие от правил udev. Сначала нам нужно выяснить, как идентифицируется клавиатура. Вы можете сделать это с помощью

ls /dev/input/by-id/

Это должно дать вам некоторые читаемые пользователем имена файлов (которые являются мягкими ссылками на нечитаемое истинное имя). Моя клавиатура была

/dev/input/by-id/usb-KINESIS_FREESTYLE_KB700_KB700_Kinesis_Freestyle-event-kbd

Итак, нам нужно узнать всю информацию о клавиатуре. Я сделал

udevadm info -a -p $(udevadm info -q path -n /dev/input/by-id/usb-KINESIS_FREESTYLE_KB700_KB700_Kinesis_Freestyle-event-kbd)

Но, конечно, вставьте свой собственный путь. Вы получите много информации, но вы хотите посмотреть на первый блок, который называет клавиатуру и имеет SUBSYSTEMS=="usb". (Вместо USB-контроллера или что-то еще). В моем случае это было:

  looking at parent device '/devices/pci0000:00/0000:00:1a.0/usb3/3-2/3-2.3':
    KERNELS=="3-2.3"
    SUBSYSTEMS=="usb"
    DRIVERS=="usb"
    ATTRS{configuration}==""
    ATTRS{bNumInterfaces}==" 2"
    ATTRS{bConfigurationValue}=="1"
    ATTRS{bmAttributes}=="a0"
    ATTRS{bMaxPower}==" 50mA"
    ATTRS{urbnum}=="6284"
    ATTRS{idVendor}=="058f"
    ATTRS{idProduct}=="9410"
    ATTRS{bcdDevice}=="0122"
    ATTRS{bDeviceClass}=="00"
    ATTRS{bDeviceSubClass}=="00"
    ATTRS{bDeviceProtocol}=="00"
    ATTRS{bNumConfigurations}=="1"
    ATTRS{bMaxPacketSize0}=="8"
    ATTRS{speed}=="1.5"
    ATTRS{busnum}=="3"
    ATTRS{devnum}=="3"
    ATTRS{devpath}=="2.3"
    ATTRS{version}==" 1.10"
    ATTRS{maxchild}=="0"
    ATTRS{quirks}=="0x0"
    ATTRS{avoid_reset_quirk}=="0"
    ATTRS{authorized}=="1"
    ATTRS{manufacturer}=="KINESIS FREESTYLE KB700"
    ATTRS{product}=="KB700 Kinesis Freestyle"

Итак, теперь у нас достаточно информации для написания некоторых правил. Используйте свой любимый редактор, чтобы создать /etc/udev/rules.d/10-local.rules и вставить:

BUS=="usb",ATTRS{product}=="KB700 Kinesis Freestyle",ACTION=="add",RUN+="/usr/bin/numlockx on"
BUS=="usb",ATTRS{product}=="KB700 Kinesis Freestyle",ACTION=="remove",RUN+="/usr/bin/numlockx off"

Снова введите здесь свою клавиатуру и ATTRS, если она отличается. Тогда это должно работать:)

Примечание. Я не смог проверить это, хотя я запустил все команды до создания файла правил. Источники в случае, если вам нужно провести еще несколько исследований:

http://ubuntuforums.org/showthread.php?t=168221 http://reactivated.net/writing_udev_rules.html#external- запустить
13
ответ дан 26 May 2018 в 01:13
  • 1
    Большое спасибо, отлично. Честно говоря, я не ожидал получить ответ, близкий к таким информативным. Хотелось бы, чтобы я мог присудить ему больше, чем просто правильно и +1. Я надеюсь, что все, кто снялся и проголосовал за мой вопрос, также будут награждать вас. – Ivan 6 October 2010 в 07:44

Прежде всего, установите numlockx (нажмите здесь, чтобы установить numlockx). В основном это позволяет писать сценарии, чтобы установить состояние Num Lock - подробнее см. Страницу man numlockx.

Затем нам нужно начать вникать в удовольствие от правил udev. Сначала нам нужно выяснить, как идентифицируется клавиатура. Вы можете сделать это с помощью

ls /dev/input/by-id/

Это должно дать вам некоторые читаемые пользователем имена файлов (которые являются мягкими ссылками на нечитаемое истинное имя). Моя клавиатура была

/dev/input/by-id/usb-KINESIS_FREESTYLE_KB700_KB700_Kinesis_Freestyle-event-kbd

Итак, нам нужно узнать всю информацию о клавиатуре. Я сделал

udevadm info -a -p $(udevadm info -q path -n /dev/input/by-id/usb-KINESIS_FREESTYLE_KB700_KB700_Kinesis_Freestyle-event-kbd)

Но, конечно, вставьте свой собственный путь. Вы получите много информации, но вы хотите посмотреть на первый блок, который называет клавиатуру и имеет SUBSYSTEMS=="usb". (Вместо USB-контроллера или что-то еще). В моем случае это было:

looking at parent device '/devices/pci0000:00/0000:00:1a.0/usb3/3-2/3-2.3': KERNELS=="3-2.3" SUBSYSTEMS=="usb" DRIVERS=="usb" ATTRS{configuration}=="" ATTRS{bNumInterfaces}==" 2" ATTRS{bConfigurationValue}=="1" ATTRS{bmAttributes}=="a0" ATTRS{bMaxPower}==" 50mA" ATTRS{urbnum}=="6284" ATTRS{idVendor}=="058f" ATTRS{idProduct}=="9410" ATTRS{bcdDevice}=="0122" ATTRS{bDeviceClass}=="00" ATTRS{bDeviceSubClass}=="00" ATTRS{bDeviceProtocol}=="00" ATTRS{bNumConfigurations}=="1" ATTRS{bMaxPacketSize0}=="8" ATTRS{speed}=="1.5" ATTRS{busnum}=="3" ATTRS{devnum}=="3" ATTRS{devpath}=="2.3" ATTRS{version}==" 1.10" ATTRS{maxchild}=="0" ATTRS{quirks}=="0x0" ATTRS{avoid_reset_quirk}=="0" ATTRS{authorized}=="1" ATTRS{manufacturer}=="KINESIS FREESTYLE KB700" ATTRS{product}=="KB700 Kinesis Freestyle"

Итак, теперь у нас достаточно информации для написания некоторых правил. Используйте свой любимый редактор, чтобы создать /etc/udev/rules.d/10-local.rules и вставить:

BUS=="usb",ATTRS{product}=="KB700 Kinesis Freestyle",ACTION=="add",RUN+="/usr/bin/numlockx on" BUS=="usb",ATTRS{product}=="KB700 Kinesis Freestyle",ACTION=="remove",RUN+="/usr/bin/numlockx off"

Снова введите здесь свою клавиатуру и ATTRS, если она отличается. Тогда это должно работать:)

Примечание. Я не смог проверить это, хотя я запустил все команды до создания файла правил. Источники в случае, если вам нужно провести еще несколько исследований:

http://ubuntuforums.org/showthread.php?t=168221 http://reactivated.net/writing_udev_rules.html#external- запустить
13
ответ дан 25 July 2018 в 23:09

Прежде всего, установите numlockx (нажмите здесь, чтобы установить numlockx). В основном это позволяет писать сценарии, чтобы установить состояние Num Lock - подробнее см. Страницу man numlockx.

Затем нам нужно начать вникать в удовольствие от правил udev. Сначала нам нужно выяснить, как идентифицируется клавиатура. Вы можете сделать это с помощью

ls /dev/input/by-id/

Это должно дать вам некоторые читаемые пользователем имена файлов (которые являются мягкими ссылками на нечитаемое истинное имя). Моя клавиатура была

/dev/input/by-id/usb-KINESIS_FREESTYLE_KB700_KB700_Kinesis_Freestyle-event-kbd

Итак, нам нужно узнать всю информацию о клавиатуре. Я сделал

udevadm info -a -p $(udevadm info -q path -n /dev/input/by-id/usb-KINESIS_FREESTYLE_KB700_KB700_Kinesis_Freestyle-event-kbd)

Но, конечно, вставьте свой собственный путь. Вы получите много информации, но вы хотите посмотреть на первый блок, который называет клавиатуру и имеет SUBSYSTEMS=="usb". (Вместо USB-контроллера или что-то еще). В моем случае это было:

looking at parent device '/devices/pci0000:00/0000:00:1a.0/usb3/3-2/3-2.3': KERNELS=="3-2.3" SUBSYSTEMS=="usb" DRIVERS=="usb" ATTRS{configuration}=="" ATTRS{bNumInterfaces}==" 2" ATTRS{bConfigurationValue}=="1" ATTRS{bmAttributes}=="a0" ATTRS{bMaxPower}==" 50mA" ATTRS{urbnum}=="6284" ATTRS{idVendor}=="058f" ATTRS{idProduct}=="9410" ATTRS{bcdDevice}=="0122" ATTRS{bDeviceClass}=="00" ATTRS{bDeviceSubClass}=="00" ATTRS{bDeviceProtocol}=="00" ATTRS{bNumConfigurations}=="1" ATTRS{bMaxPacketSize0}=="8" ATTRS{speed}=="1.5" ATTRS{busnum}=="3" ATTRS{devnum}=="3" ATTRS{devpath}=="2.3" ATTRS{version}==" 1.10" ATTRS{maxchild}=="0" ATTRS{quirks}=="0x0" ATTRS{avoid_reset_quirk}=="0" ATTRS{authorized}=="1" ATTRS{manufacturer}=="KINESIS FREESTYLE KB700" ATTRS{product}=="KB700 Kinesis Freestyle"

Итак, теперь у нас достаточно информации для написания некоторых правил. Используйте свой любимый редактор, чтобы создать /etc/udev/rules.d/10-local.rules и вставить:

BUS=="usb",ATTRS{product}=="KB700 Kinesis Freestyle",ACTION=="add",RUN+="/usr/bin/numlockx on" BUS=="usb",ATTRS{product}=="KB700 Kinesis Freestyle",ACTION=="remove",RUN+="/usr/bin/numlockx off"

Снова введите здесь свою клавиатуру и ATTRS, если она отличается. Тогда это должно работать:)

Примечание. Я не смог проверить это, хотя я запустил все команды до создания файла правил. Источники в случае, если вам нужно провести еще несколько исследований:

http://ubuntuforums.org/showthread.php?t=168221 http://reactivated.net/writing_udev_rules.html#external- запустить
13
ответ дан 27 July 2018 в 03:04

Прежде всего, установите numlockx (нажмите здесь, чтобы установить numlockx). В основном это позволяет писать сценарии, чтобы установить состояние Num Lock - подробнее см. Страницу man numlockx.

Затем нам нужно начать вникать в удовольствие от правил udev. Сначала нам нужно выяснить, как идентифицируется клавиатура. Вы можете сделать это с помощью

ls /dev/input/by-id/

Это должно дать вам некоторые читаемые пользователем имена файлов (которые являются мягкими ссылками на нечитаемое истинное имя). Моя клавиатура была

/dev/input/by-id/usb-KINESIS_FREESTYLE_KB700_KB700_Kinesis_Freestyle-event-kbd

Итак, нам нужно узнать всю информацию о клавиатуре. Я сделал

udevadm info -a -p $(udevadm info -q path -n /dev/input/by-id/usb-KINESIS_FREESTYLE_KB700_KB700_Kinesis_Freestyle-event-kbd)

Но, конечно, вставьте свой собственный путь. Вы получите много информации, но вы хотите посмотреть на первый блок, который называет клавиатуру и имеет SUBSYSTEMS=="usb". (Вместо USB-контроллера или что-то еще). В моем случае это было:

looking at parent device '/devices/pci0000:00/0000:00:1a.0/usb3/3-2/3-2.3': KERNELS=="3-2.3" SUBSYSTEMS=="usb" DRIVERS=="usb" ATTRS{configuration}=="" ATTRS{bNumInterfaces}==" 2" ATTRS{bConfigurationValue}=="1" ATTRS{bmAttributes}=="a0" ATTRS{bMaxPower}==" 50mA" ATTRS{urbnum}=="6284" ATTRS{idVendor}=="058f" ATTRS{idProduct}=="9410" ATTRS{bcdDevice}=="0122" ATTRS{bDeviceClass}=="00" ATTRS{bDeviceSubClass}=="00" ATTRS{bDeviceProtocol}=="00" ATTRS{bNumConfigurations}=="1" ATTRS{bMaxPacketSize0}=="8" ATTRS{speed}=="1.5" ATTRS{busnum}=="3" ATTRS{devnum}=="3" ATTRS{devpath}=="2.3" ATTRS{version}==" 1.10" ATTRS{maxchild}=="0" ATTRS{quirks}=="0x0" ATTRS{avoid_reset_quirk}=="0" ATTRS{authorized}=="1" ATTRS{manufacturer}=="KINESIS FREESTYLE KB700" ATTRS{product}=="KB700 Kinesis Freestyle"

Итак, теперь у нас достаточно информации для написания некоторых правил. Используйте свой любимый редактор, чтобы создать /etc/udev/rules.d/10-local.rules и вставить:

BUS=="usb",ATTRS{product}=="KB700 Kinesis Freestyle",ACTION=="add",RUN+="/usr/bin/numlockx on" BUS=="usb",ATTRS{product}=="KB700 Kinesis Freestyle",ACTION=="remove",RUN+="/usr/bin/numlockx off"

Снова введите здесь свою клавиатуру и ATTRS, если она отличается. Тогда это должно работать:)

Примечание. Я не смог проверить это, хотя я запустил все команды до создания файла правил. Источники в случае, если вам нужно провести еще несколько исследований:

http://ubuntuforums.org/showthread.php?t=168221 http://reactivated.net/writing_udev_rules.html#external- запустить
13
ответ дан 31 July 2018 в 10:45

Прежде всего, установите numlockx (нажмите здесь, чтобы установить numlockx). В основном это позволяет писать сценарии, чтобы установить состояние Num Lock - подробнее см. Страницу man numlockx.

Затем нам нужно начать вникать в удовольствие от правил udev. Сначала нам нужно выяснить, как идентифицируется клавиатура. Вы можете сделать это с помощью

ls /dev/input/by-id/

Это должно дать вам некоторые читаемые пользователем имена файлов (которые являются мягкими ссылками на нечитаемое истинное имя). Моя клавиатура была

/dev/input/by-id/usb-KINESIS_FREESTYLE_KB700_KB700_Kinesis_Freestyle-event-kbd

Итак, нам нужно узнать всю информацию о клавиатуре. Я сделал

udevadm info -a -p $(udevadm info -q path -n /dev/input/by-id/usb-KINESIS_FREESTYLE_KB700_KB700_Kinesis_Freestyle-event-kbd)

Но, конечно, вставьте свой собственный путь. Вы получите много информации, но вы хотите посмотреть на первый блок, который называет клавиатуру и имеет SUBSYSTEMS=="usb". (Вместо USB-контроллера или что-то еще). В моем случае это было:

looking at parent device '/devices/pci0000:00/0000:00:1a.0/usb3/3-2/3-2.3': KERNELS=="3-2.3" SUBSYSTEMS=="usb" DRIVERS=="usb" ATTRS{configuration}=="" ATTRS{bNumInterfaces}==" 2" ATTRS{bConfigurationValue}=="1" ATTRS{bmAttributes}=="a0" ATTRS{bMaxPower}==" 50mA" ATTRS{urbnum}=="6284" ATTRS{idVendor}=="058f" ATTRS{idProduct}=="9410" ATTRS{bcdDevice}=="0122" ATTRS{bDeviceClass}=="00" ATTRS{bDeviceSubClass}=="00" ATTRS{bDeviceProtocol}=="00" ATTRS{bNumConfigurations}=="1" ATTRS{bMaxPacketSize0}=="8" ATTRS{speed}=="1.5" ATTRS{busnum}=="3" ATTRS{devnum}=="3" ATTRS{devpath}=="2.3" ATTRS{version}==" 1.10" ATTRS{maxchild}=="0" ATTRS{quirks}=="0x0" ATTRS{avoid_reset_quirk}=="0" ATTRS{authorized}=="1" ATTRS{manufacturer}=="KINESIS FREESTYLE KB700" ATTRS{product}=="KB700 Kinesis Freestyle"

Итак, теперь у нас достаточно информации для написания некоторых правил. Используйте свой любимый редактор, чтобы создать /etc/udev/rules.d/10-local.rules и вставить:

BUS=="usb",ATTRS{product}=="KB700 Kinesis Freestyle",ACTION=="add",RUN+="/usr/bin/numlockx on" BUS=="usb",ATTRS{product}=="KB700 Kinesis Freestyle",ACTION=="remove",RUN+="/usr/bin/numlockx off"

Снова введите здесь свою клавиатуру и ATTRS, если она отличается. Тогда это должно работать:)

Примечание. Я не смог проверить это, хотя я запустил все команды до создания файла правил. Источники в случае, если вам нужно провести еще несколько исследований:

http://ubuntuforums.org/showthread.php?t=168221 http://reactivated.net/writing_udev_rules.html#external- запустить
13
ответ дан 31 July 2018 в 11:50

Сначала установите numlockx ( нажмите здесь, чтобы установить numlockx ). В основном это позволяет писать сценарии, чтобы установить состояние Num Lock. Подробнее см. В странице man numlockx .

Затем нам нужно начать вникать в удовольствие от правил udev. Сначала нам нужно выяснить, как идентифицируется клавиатура. Вы можете сделать это с помощью

  ls / dev / input / by-id /  

Это должно дать вам некоторые правдоподобные имена файлов (которые являются мягкими ссылками к нечитаемому истинному имени). Моя клавиатура была

  / dev / input / by-id / usb-KINESIS_FREESTYLE_KB700_KB700_Kinesis_Freestyle-event-kbd  

Итак, нам нужно узнать всю информацию о клавиатуре. Я сделал

  udevadm info -a -p $ (udevadm info -q path -n / dev / input / by-id / usb-KINESIS_FREESTYLE_KB700_KB700_Kinesis_Freestyle-event-kbd)  

Но, конечно, введите свой собственный путь. Вы получите много информации, но вы хотите посмотреть на первый блок, который называет клавиатуру и имеет SUBSYSTEMS == "usb" . (Вместо USB-контроллера или что-то еще). В моем случае это было:

  глядя на родительское устройство '/devices/pci0000:00/0000:00:1a.0/usb3/3-2/3-2.3': KERNELS ==  "3-2.3" SUBSYSTEMS == "usb" DRIVERS == "usb" ATTRS {configuration} == "" ATTRS {bNumInterfaces} == "2" ATTRS {bConfigurationValue} == "1" ATTRS {bmAttributes} == "  a0 "ATTRS {bMaxPower} ==" 50mA "ATTRS {urbnum} ==" 6284 "ATTRS {idVendor} ==" 058f "ATTRS {idProduct} ==" 9410 "ATTRS {bcdDevice} ==" 0122 "ATTRS {bDeviceClass  } == "00" ATTRS {bDeviceSubClass} == "00" ATTRS {bDeviceProtocol} == "00" ATTRS {bNumConfigurations} == "1" ATTRS {bMaxPacketSize0} == "8" ATTRS {speed} == "1.5  "ATTRS {busnum} ==" 3 "ATTRS {devnum} ==" 3 "ATTRS {devpath} ==" 2.3 "ATTRS {версия} ==" 1.10 "ATTRS {maxchild} ==" 0 "ATTRS {quirks}  == "0x0" ATTRS {avoid_reset_quirk} == "0" ATTRS {author} == "1" ATTRS {производитель} == "KINESIS FREESTYLE KB700" ATTRS {product} == "KB700 Kinesis Freestyle"  [  ! d24] 

Итак, теперь у нас достаточно информации для написания некоторых правил. Используйте свой любимый редактор для создания /etc/udev/rules.d/10-local.rules и введите:

  BUS == «usb», ATTRS {  продукт} == "KB700 Kinesis Freestyle", ACTION == "add", RUN + = "/ usr / bin / numlockx on" BUS == "usb", ATTRS {product} == "KB700 Kinesis Freestyle", ACTION ==  «remove», RUN + = «/ usr / bin / numlockx off»  

Снова введите здесь свою клавиатуру и ATTRS, если она отличается. Тогда это должно работать:)

Примечание. Я не смог проверить это, хотя я запустил все команды до создания файла правил. Источники в случае, если вам нужно провести еще несколько исследований:

13
ответ дан 2 August 2018 в 04:29

Сначала установите numlockx ( нажмите здесь, чтобы установить numlockx ). В основном это позволяет писать сценарии, чтобы установить состояние Num Lock. Подробнее см. В странице man numlockx .

Затем нам нужно начать вникать в удовольствие от правил udev. Сначала нам нужно выяснить, как идентифицируется клавиатура. Вы можете сделать это с помощью

  ls / dev / input / by-id /  

Это должно дать вам некоторые правдоподобные имена файлов (которые являются мягкими ссылками к нечитаемому истинному имени). Моя клавиатура была

  / dev / input / by-id / usb-KINESIS_FREESTYLE_KB700_KB700_Kinesis_Freestyle-event-kbd  

Итак, нам нужно узнать всю информацию о клавиатуре. Я сделал

  udevadm info -a -p $ (udevadm info -q path -n / dev / input / by-id / usb-KINESIS_FREESTYLE_KB700_KB700_Kinesis_Freestyle-event-kbd)  

Но, конечно, введите свой собственный путь. Вы получите много информации, но вы хотите посмотреть на первый блок, который называет клавиатуру и имеет SUBSYSTEMS == "usb" . (Вместо USB-контроллера или что-то еще). В моем случае это было:

  глядя на родительское устройство '/devices/pci0000:00/0000:00:1a.0/usb3/3-2/3-2.3': KERNELS ==  "3-2.3" SUBSYSTEMS == "usb" DRIVERS == "usb" ATTRS {configuration} == "" ATTRS {bNumInterfaces} == "2" ATTRS {bConfigurationValue} == "1" ATTRS {bmAttributes} == "  a0 "ATTRS {bMaxPower} ==" 50mA "ATTRS {urbnum} ==" 6284 "ATTRS {idVendor} ==" 058f "ATTRS {idProduct} ==" 9410 "ATTRS {bcdDevice} ==" 0122 "ATTRS {bDeviceClass  } == "00" ATTRS {bDeviceSubClass} == "00" ATTRS {bDeviceProtocol} == "00" ATTRS {bNumConfigurations} == "1" ATTRS {bMaxPacketSize0} == "8" ATTRS {speed} == "1.5  "ATTRS {busnum} ==" 3 "ATTRS {devnum} ==" 3 "ATTRS {devpath} ==" 2.3 "ATTRS {версия} ==" 1.10 "ATTRS {maxchild} ==" 0 "ATTRS {quirks}  == "0x0" ATTRS {avoid_reset_quirk} == "0" ATTRS {author} == "1" ATTRS {производитель} == "KINESIS FREESTYLE KB700" ATTRS {product} == "KB700 Kinesis Freestyle"  [  ! d24] 

Итак, теперь у нас достаточно информации для написания некоторых правил. Используйте свой любимый редактор для создания /etc/udev/rules.d/10-local.rules и введите:

  BUS == «usb», ATTRS {  продукт} == "KB700 Kinesis Freestyle", ACTION == "add", RUN + = "/ usr / bin / numlockx on" BUS == "usb", ATTRS {product} == "KB700 Kinesis Freestyle", ACTION ==  «remove», RUN + = «/ usr / bin / numlockx off»  

Снова введите здесь свою клавиатуру и ATTRS, если она отличается. Тогда это должно работать:)

Примечание. Я не смог проверить это, хотя я запустил все команды до создания файла правил. Источники в случае, если вам нужно провести еще несколько исследований:

13
ответ дан 4 August 2018 в 21:02

Сначала установите numlockx ( нажмите здесь, чтобы установить numlockx ). В основном это позволяет писать сценарии, чтобы установить состояние Num Lock. Подробнее см. В странице man numlockx .

Затем нам нужно начать вникать в удовольствие от правил udev. Сначала нам нужно выяснить, как идентифицируется клавиатура. Вы можете сделать это с помощью

  ls / dev / input / by-id /  

Это должно дать вам некоторые правдоподобные имена файлов (которые являются мягкими ссылками к нечитаемому истинному имени). Моя клавиатура была

  / dev / input / by-id / usb-KINESIS_FREESTYLE_KB700_KB700_Kinesis_Freestyle-event-kbd  

Итак, нам нужно узнать всю информацию о клавиатуре. Я сделал

  udevadm info -a -p $ (udevadm info -q path -n / dev / input / by-id / usb-KINESIS_FREESTYLE_KB700_KB700_Kinesis_Freestyle-event-kbd)  

Но, конечно, введите свой собственный путь. Вы получите много информации, но вы хотите посмотреть на первый блок, который называет клавиатуру и имеет SUBSYSTEMS == "usb" . (Вместо USB-контроллера или что-то еще). В моем случае это было:

  глядя на родительское устройство '/devices/pci0000:00/0000:00:1a.0/usb3/3-2/3-2.3': KERNELS ==  "3-2.3" SUBSYSTEMS == "usb" DRIVERS == "usb" ATTRS {configuration} == "" ATTRS {bNumInterfaces} == "2" ATTRS {bConfigurationValue} == "1" ATTRS {bmAttributes} == "  a0 "ATTRS {bMaxPower} ==" 50mA "ATTRS {urbnum} ==" 6284 "ATTRS {idVendor} ==" 058f "ATTRS {idProduct} ==" 9410 "ATTRS {bcdDevice} ==" 0122 "ATTRS {bDeviceClass  } == "00" ATTRS {bDeviceSubClass} == "00" ATTRS {bDeviceProtocol} == "00" ATTRS {bNumConfigurations} == "1" ATTRS {bMaxPacketSize0} == "8" ATTRS {speed} == "1.5  "ATTRS {busnum} ==" 3 "ATTRS {devnum} ==" 3 "ATTRS {devpath} ==" 2.3 "ATTRS {версия} ==" 1.10 "ATTRS {maxchild} ==" 0 "ATTRS {quirks}  == "0x0" ATTRS {avoid_reset_quirk} == "0" ATTRS {author} == "1" ATTRS {производитель} == "KINESIS FREESTYLE KB700" ATTRS {product} == "KB700 Kinesis Freestyle"  [  ! d24] 

Итак, теперь у нас достаточно информации для написания некоторых правил. Используйте свой любимый редактор для создания /etc/udev/rules.d/10-local.rules и введите:

  BUS == «usb», ATTRS {  продукт} == "KB700 Kinesis Freestyle", ACTION == "add", RUN + = "/ usr / bin / numlockx on" BUS == "usb", ATTRS {product} == "KB700 Kinesis Freestyle", ACTION ==  «remove», RUN + = «/ usr / bin / numlockx off»  

Снова введите здесь свою клавиатуру и ATTRS, если она отличается. Тогда это должно работать:)

Примечание. Я не смог проверить это, хотя я запустил все команды до создания файла правил. Источники в случае, если вам нужно провести еще несколько исследований:

13
ответ дан 6 August 2018 в 04:33

Сначала установите numlockx ( нажмите здесь, чтобы установить numlockx ). В основном это позволяет писать сценарии, чтобы установить состояние Num Lock. Подробнее см. В странице man numlockx .

Затем нам нужно начать вникать в удовольствие от правил udev. Сначала нам нужно выяснить, как идентифицируется клавиатура. Вы можете сделать это с помощью

  ls / dev / input / by-id /  

Это должно дать вам некоторые правдоподобные имена файлов (которые являются мягкими ссылками к нечитаемому истинному имени). Моя клавиатура была

  / dev / input / by-id / usb-KINESIS_FREESTYLE_KB700_KB700_Kinesis_Freestyle-event-kbd  

Итак, нам нужно узнать всю информацию о клавиатуре. Я сделал

  udevadm info -a -p $ (udevadm info -q path -n / dev / input / by-id / usb-KINESIS_FREESTYLE_KB700_KB700_Kinesis_Freestyle-event-kbd)  

Но, конечно, введите свой собственный путь. Вы получите много информации, но вы хотите посмотреть на первый блок, который называет клавиатуру и имеет SUBSYSTEMS == "usb" . (Вместо USB-контроллера или что-то еще). В моем случае это было:

  глядя на родительское устройство '/devices/pci0000:00/0000:00:1a.0/usb3/3-2/3-2.3': KERNELS ==  "3-2.3" SUBSYSTEMS == "usb" DRIVERS == "usb" ATTRS {configuration} == "" ATTRS {bNumInterfaces} == "2" ATTRS {bConfigurationValue} == "1" ATTRS {bmAttributes} == "  a0 "ATTRS {bMaxPower} ==" 50mA "ATTRS {urbnum} ==" 6284 "ATTRS {idVendor} ==" 058f "ATTRS {idProduct} ==" 9410 "ATTRS {bcdDevice} ==" 0122 "ATTRS {bDeviceClass  } == "00" ATTRS {bDeviceSubClass} == "00" ATTRS {bDeviceProtocol} == "00" ATTRS {bNumConfigurations} == "1" ATTRS {bMaxPacketSize0} == "8" ATTRS {speed} == "1.5  "ATTRS {busnum} ==" 3 "ATTRS {devnum} ==" 3 "ATTRS {devpath} ==" 2.3 "ATTRS {версия} ==" 1.10 "ATTRS {maxchild} ==" 0 "ATTRS {quirks}  == "0x0" ATTRS {avoid_reset_quirk} == "0" ATTRS {author} == "1" ATTRS {производитель} == "KINESIS FREESTYLE KB700" ATTRS {product} == "KB700 Kinesis Freestyle"  [  ! d24] 

Итак, теперь у нас достаточно информации для написания некоторых правил. Используйте свой любимый редактор для создания /etc/udev/rules.d/10-local.rules и введите:

  BUS == «usb», ATTRS {  продукт} == "KB700 Kinesis Freestyle", ACTION == "add", RUN + = "/ usr / bin / numlockx on" BUS == "usb", ATTRS {product} == "KB700 Kinesis Freestyle", ACTION ==  «remove», RUN + = «/ usr / bin / numlockx off»  

Снова введите здесь свою клавиатуру и ATTRS, если она отличается. Тогда это должно работать:)

Примечание. Я не смог проверить это, хотя я запустил все команды до создания файла правил. Источники в случае, если вам нужно провести еще несколько исследований:

13
ответ дан 7 August 2018 в 22:43

Сначала установите numlockx ( нажмите здесь, чтобы установить numlockx ). В основном это позволяет писать сценарии, чтобы установить состояние Num Lock. Подробнее см. В странице man numlockx .

Затем нам нужно начать вникать в удовольствие от правил udev. Сначала нам нужно выяснить, как идентифицируется клавиатура. Вы можете сделать это с помощью

  ls / dev / input / by-id /  

Это должно дать вам некоторые правдоподобные имена файлов (которые являются мягкими ссылками к нечитаемому истинному имени). Моя клавиатура была

  / dev / input / by-id / usb-KINESIS_FREESTYLE_KB700_KB700_Kinesis_Freestyle-event-kbd  

Итак, нам нужно узнать всю информацию о клавиатуре. Я сделал

  udevadm info -a -p $ (udevadm info -q path -n / dev / input / by-id / usb-KINESIS_FREESTYLE_KB700_KB700_Kinesis_Freestyle-event-kbd)  

Но, конечно, введите свой собственный путь. Вы получите много информации, но вы хотите посмотреть на первый блок, который называет клавиатуру и имеет SUBSYSTEMS == "usb" . (Вместо USB-контроллера или что-то еще). В моем случае это было:

  глядя на родительское устройство '/devices/pci0000:00/0000:00:1a.0/usb3/3-2/3-2.3': KERNELS ==  "3-2.3" SUBSYSTEMS == "usb" DRIVERS == "usb" ATTRS {configuration} == "" ATTRS {bNumInterfaces} == "2" ATTRS {bConfigurationValue} == "1" ATTRS {bmAttributes} == "  a0 "ATTRS {bMaxPower} ==" 50mA "ATTRS {urbnum} ==" 6284 "ATTRS {idVendor} ==" 058f "ATTRS {idProduct} ==" 9410 "ATTRS {bcdDevice} ==" 0122 "ATTRS {bDeviceClass  } == "00" ATTRS {bDeviceSubClass} == "00" ATTRS {bDeviceProtocol} == "00" ATTRS {bNumConfigurations} == "1" ATTRS {bMaxPacketSize0} == "8" ATTRS {speed} == "1.5  "ATTRS {busnum} ==" 3 "ATTRS {devnum} ==" 3 "ATTRS {devpath} ==" 2.3 "ATTRS {версия} ==" 1.10 "ATTRS {maxchild} ==" 0 "ATTRS {quirks}  == "0x0" ATTRS {avoid_reset_quirk} == "0" ATTRS {author} == "1" ATTRS {производитель} == "KINESIS FREESTYLE KB700" ATTRS {product} == "KB700 Kinesis Freestyle"  [  ! d24] 

Итак, теперь у нас достаточно информации для написания некоторых правил. Используйте свой любимый редактор для создания /etc/udev/rules.d/10-local.rules и введите:

  BUS == «usb», ATTRS {  продукт} == "KB700 Kinesis Freestyle", ACTION == "add", RUN + = "/ usr / bin / numlockx on" BUS == "usb", ATTRS {product} == "KB700 Kinesis Freestyle", ACTION ==  «remove», RUN + = «/ usr / bin / numlockx off»  

Снова введите здесь свою клавиатуру и ATTRS, если она отличается. Тогда это должно работать:)

Примечание. Я не смог проверить это, хотя я запустил все команды до создания файла правил. Источники в случае, если вам нужно провести еще несколько исследований:

13
ответ дан 7 August 2018 в 22:43

Сначала установите numlockx ( нажмите здесь, чтобы установить numlockx ). В основном это позволяет писать сценарии, чтобы установить состояние Num Lock. Подробнее см. В странице man numlockx .

Затем нам нужно начать вникать в удовольствие от правил udev. Сначала нам нужно выяснить, как идентифицируется клавиатура. Вы можете сделать это с помощью

  ls / dev / input / by-id /  

Это должно дать вам некоторые правдоподобные имена файлов (которые являются мягкими ссылками к нечитаемому истинному имени). Моя клавиатура была

  / dev / input / by-id / usb-KINESIS_FREESTYLE_KB700_KB700_Kinesis_Freestyle-event-kbd  

Итак, нам нужно узнать всю информацию о клавиатуре. Я сделал

  udevadm info -a -p $ (udevadm info -q path -n / dev / input / by-id / usb-KINESIS_FREESTYLE_KB700_KB700_Kinesis_Freestyle-event-kbd)  

Но, конечно, введите свой собственный путь. Вы получите много информации, но вы хотите посмотреть на первый блок, который называет клавиатуру и имеет SUBSYSTEMS == "usb" . (Вместо USB-контроллера или что-то еще). В моем случае это было:

  глядя на родительское устройство '/devices/pci0000:00/0000:00:1a.0/usb3/3-2/3-2.3': KERNELS ==  "3-2.3" SUBSYSTEMS == "usb" DRIVERS == "usb" ATTRS {configuration} == "" ATTRS {bNumInterfaces} == "2" ATTRS {bConfigurationValue} == "1" ATTRS {bmAttributes} == "  a0 "ATTRS {bMaxPower} ==" 50mA "ATTRS {urbnum} ==" 6284 "ATTRS {idVendor} ==" 058f "ATTRS {idProduct} ==" 9410 "ATTRS {bcdDevice} ==" 0122 "ATTRS {bDeviceClass  } == "00" ATTRS {bDeviceSubClass} == "00" ATTRS {bDeviceProtocol} == "00" ATTRS {bNumConfigurations} == "1" ATTRS {bMaxPacketSize0} == "8" ATTRS {speed} == "1.5  "ATTRS {busnum} ==" 3 "ATTRS {devnum} ==" 3 "ATTRS {devpath} ==" 2.3 "ATTRS {версия} ==" 1.10 "ATTRS {maxchild} ==" 0 "ATTRS {quirks}  == "0x0" ATTRS {avoid_reset_quirk} == "0" ATTRS {author} == "1" ATTRS {производитель} == "KINESIS FREESTYLE KB700" ATTRS {product} == "KB700 Kinesis Freestyle"  [  ! d24] 

Итак, теперь у нас достаточно информации для написания некоторых правил. Используйте свой любимый редактор для создания /etc/udev/rules.d/10-local.rules и введите:

  BUS == «usb», ATTRS {  продукт} == "KB700 Kinesis Freestyle", ACTION == "add", RUN + = "/ usr / bin / numlockx on" BUS == "usb", ATTRS {product} == "KB700 Kinesis Freestyle", ACTION ==  «remove», RUN + = «/ usr / bin / numlockx off»  

Снова введите здесь свою клавиатуру и ATTRS, если она отличается. Тогда это должно работать:)

Примечание. Я не смог проверить это, хотя я запустил все команды до создания файла правил. Источники в случае, если вам нужно провести еще несколько исследований:

13
ответ дан 10 August 2018 в 10:49

Сначала установите numlockx ( нажмите здесь, чтобы установить numlockx ). В основном это позволяет писать сценарии, чтобы установить состояние Num Lock. Подробнее см. В странице man numlockx .

Затем нам нужно начать вникать в удовольствие от правил udev. Сначала нам нужно выяснить, как идентифицируется клавиатура. Вы можете сделать это с помощью

  ls / dev / input / by-id /  

Это должно дать вам некоторые правдоподобные имена файлов (которые являются мягкими ссылками к нечитаемому истинному имени). Моя клавиатура была

  / dev / input / by-id / usb-KINESIS_FREESTYLE_KB700_KB700_Kinesis_Freestyle-event-kbd  

Итак, нам нужно узнать всю информацию о клавиатуре. Я сделал

  udevadm info -a -p $ (udevadm info -q path -n / dev / input / by-id / usb-KINESIS_FREESTYLE_KB700_KB700_Kinesis_Freestyle-event-kbd)  

Но, конечно, введите свой собственный путь. Вы получите много информации, но вы хотите посмотреть на первый блок, который называет клавиатуру и имеет SUBSYSTEMS == "usb" . (Вместо USB-контроллера или что-то еще). В моем случае это было:

  глядя на родительское устройство '/devices/pci0000:00/0000:00:1a.0/usb3/3-2/3-2.3': KERNELS ==  "3-2.3" SUBSYSTEMS == "usb" DRIVERS == "usb" ATTRS {configuration} == "" ATTRS {bNumInterfaces} == "2" ATTRS {bConfigurationValue} == "1" ATTRS {bmAttributes} == "  a0 "ATTRS {bMaxPower} ==" 50mA "ATTRS {urbnum} ==" 6284 "ATTRS {idVendor} ==" 058f "ATTRS {idProduct} ==" 9410 "ATTRS {bcdDevice} ==" 0122 "ATTRS {bDeviceClass  } == "00" ATTRS {bDeviceSubClass} == "00" ATTRS {bDeviceProtocol} == "00" ATTRS {bNumConfigurations} == "1" ATTRS {bMaxPacketSize0} == "8" ATTRS {speed} == "1.5  "ATTRS {busnum} ==" 3 "ATTRS {devnum} ==" 3 "ATTRS {devpath} ==" 2.3 "ATTRS {версия} ==" 1.10 "ATTRS {maxchild} ==" 0 "ATTRS {quirks}  == "0x0" ATTRS {avoid_reset_quirk} == "0" ATTRS {author} == "1" ATTRS {производитель} == "KINESIS FREESTYLE KB700" ATTRS {product} == "KB700 Kinesis Freestyle"  [  ! d24] 

Итак, теперь у нас достаточно информации для написания некоторых правил. Используйте свой любимый редактор для создания /etc/udev/rules.d/10-local.rules и введите:

  BUS == «usb», ATTRS {  продукт} == "KB700 Kinesis Freestyle", ACTION == "add", RUN + = "/ usr / bin / numlockx on" BUS == "usb", ATTRS {product} == "KB700 Kinesis Freestyle", ACTION ==  «remove», RUN + = «/ usr / bin / numlockx off»  

Снова введите здесь свою клавиатуру и ATTRS, если она отличается. Тогда это должно работать:)

Примечание. Я не смог проверить это, хотя я запустил все команды до создания файла правил. Источники в случае, если вам нужно провести еще несколько исследований:

13
ответ дан 13 August 2018 в 17:23
  • 1
    Большое спасибо, отлично. Честно говоря, я не ожидал получить ответ, близкий к таким информативным. Хотелось бы, чтобы я мог присудить ему больше, чем просто правильно и +1. Я надеюсь, что все, кто снялся и проголосовал за мой вопрос, также будут награждать вас. – Ivan 6 October 2010 в 07:44

Если вы используете оболочку Gnome3.

Установите numlockx

, затем запустите настройки приложения для запуска gnome-session-properties

Изображение (новые пользователи не могут создавать изображения :))

Нажмите Добавить

Напиши что-нибудь в поле имени и в поле команды скопируйте это: numlockx on

Изображение (новые пользователи могут ' t post images:))

1
ответ дан 26 May 2018 в 01:13

Я не уверен, что я делаю по-другому, потому что мой numlock на этой клавиатуре не работает (это Mac Pro Алюминиевая клавиатура). Здесь есть некоторые инструкции, которые должны сделать трюк.

Надеюсь, что это поможет!

0
ответ дан 26 May 2018 в 01:13

Если вы используете gnome-shell, тогда вы можете установить Numlock & amp; Состояние Capslock на панели расширения «Блокировка клавиш». Пожалуйста, найдите его здесь

0
ответ дан 26 May 2018 в 01:13

Я не уверен, что я делаю по-другому, потому что мой numlock на этой клавиатуре не работает (это Mac Pro Алюминиевая клавиатура). Здесь есть некоторые инструкции, которые должны сделать трюк.

Надеюсь, что это поможет!

0
ответ дан 25 July 2018 в 23:09

Если вы используете оболочку Gnome3.

Установите numlockx

, затем запустите настройки приложения для запуска gnome-session-properties

Изображение (новые пользователи не могут создавать изображения :))

Нажмите Добавить

Напиши что-нибудь в поле имени и в поле команды скопируйте это: numlockx on

Изображение (новые пользователи могут ' t post images:))

1
ответ дан 25 July 2018 в 23:09

Если вы используете gnome-shell, тогда вы можете установить Numlock & amp; Состояние Capslock на панели расширения «Блокировка клавиш». Пожалуйста, найдите его здесь

0
ответ дан 25 July 2018 в 23:09

Я не уверен, что я делаю по-другому, потому что мой numlock на этой клавиатуре не работает (это Mac Pro Алюминиевая клавиатура). Здесь есть некоторые инструкции, которые должны сделать трюк.

Надеюсь, что это поможет!

0
ответ дан 27 July 2018 в 03:04

Если вы используете оболочку Gnome3.

Установите numlockx

, затем запустите настройки приложения для запуска gnome-session-properties

Изображение (новые пользователи не могут создавать изображения :))

Нажмите Добавить

Напиши что-нибудь в поле имени и в поле команды скопируйте это: numlockx on

Изображение (новые пользователи могут ' t post images:))

1
ответ дан 27 July 2018 в 03:04

Если вы используете gnome-shell, тогда вы можете установить Numlock & amp; Состояние Capslock на панели расширения «Блокировка клавиш». Пожалуйста, найдите его здесь

0
ответ дан 27 July 2018 в 03:04

Я не уверен, что я делаю по-другому, потому что мой numlock на этой клавиатуре не работает (это Mac Pro Алюминиевая клавиатура). Здесь есть некоторые инструкции, которые должны сделать трюк.

Надеюсь, что это поможет!

0
ответ дан 31 July 2018 в 10:45

Если вы используете оболочку Gnome3.

Установите numlockx

, затем запустите настройки приложения для запуска gnome-session-properties

Изображение (новые пользователи не могут создавать изображения :))

Нажмите Добавить

Напиши что-нибудь в поле имени и в поле команды скопируйте это: numlockx on

Изображение (новые пользователи могут ' t post images:))

1
ответ дан 31 July 2018 в 10:45

Если вы используете gnome-shell, тогда вы можете установить Numlock & amp; Состояние Capslock на панели расширения «Блокировка клавиш». Пожалуйста, найдите его здесь

0
ответ дан 31 July 2018 в 10:45

Я не уверен, что я делаю по-другому, потому что мой numlock на этой клавиатуре не работает (это Mac Pro Алюминиевая клавиатура). Здесь есть некоторые инструкции, которые должны сделать трюк.

Надеюсь, что это поможет!

0
ответ дан 31 July 2018 в 11:50

Если вы используете оболочку Gnome3.

Установите numlockx

, затем запустите настройки приложения для запуска gnome-session-properties

Изображение (новые пользователи не могут создавать изображения :))

Нажмите Добавить

Напиши что-нибудь в поле имени и в поле команды скопируйте это: numlockx on

Изображение (новые пользователи могут ' t post images:))

1
ответ дан 31 July 2018 в 11:50

Если вы используете gnome-shell, тогда вы можете установить Numlock & amp; Состояние Capslock на панели расширения «Блокировка клавиш». Пожалуйста, найдите его здесь

0
ответ дан 31 July 2018 в 11:50

Если вы используете gnome-shell, тогда вы можете установить Numlock & amp; Состояние Capslock на панели расширения «Блокировка клавиш». Пожалуйста, найдите здесь

0
ответ дан 2 August 2018 в 04:29

Я не уверен, что я делаю по-другому, потому что мой numlock на этой клавиатуре не работает (это Mac Pro Aluminium). Есть несколько инструкций здесь , которые должны сделать трюк.

Надеюсь, что это поможет!

0
ответ дан 2 August 2018 в 04:29

Если вы используете оболочку Gnome3.

Установите numlockx

, затем запустите настройки приложения для запуска gnome-session-properties

Изображение (новые пользователи не могут размещать изображения:))

Нажмите Добавить

Напишите что-нибудь в поле имени и в поле команды скопируйте это: numlockx on

Изображение

1
ответ дан 2 August 2018 в 04:29

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

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