Обновление Ubuntu до конкретной версии

первым шагом будет выяснение физических кнопок. Я опишу процесс ремаппинга обычной игровой мыши, в моем случае saitek RAT3, но общие шаги применимы к любой мыши.

  1. xinput list, чтобы узнать ID вашей мыши и ее название
  2. xinput query-state {id}, чтобы узнать состояние всех кнопок. Используйте эту возможность для подсчета кнопок вашей мыши. Чтобы помочь этому процессу, запустите watch -n0 xinput query-state {id} для продолжения запроса.
  3. Определите все кнопки с особым поведением.
  4. запишите, у какой кнопки какой идентификатор.
  5. добавьте файл под названием 50-mousename в /usr/share/X11/xorg.conf.d/ и откройте его вашим любимым редактором. вставьте этот шаблон:

    Раздел "InputClass"
     Идентификатор "Mouse Remap"
     MatchProduct "{имя мыши}"
     MatchDevicePath "/dev/input/event*"
     Опция "ZAxisMapping" "4 5"
     Опция "ButtonMapping" "1 2 3 4 5 6 7 8 9 0 0 0 0 0"
     Опция "Resolution" "3200" #вам, вероятно, придется изменить это!
    

    важной строкой является эта: Опция "ButtonMapping" "1 2 3"... помните список кнопок, который вы составили ранее? Эта опция решает, какие физические кнопки соответствуют каким кнопочным событиям.

    "1 2 3" будет означать, что "физическая кнопка 1" - это "событие кнопки 1", "физическая кнопка 2" - это "событие кнопки 2" и так далее. Если бы вы хотели, скажем, переключить колесо прокрутки и правую кнопку мыши, вы бы изменили это на "3 2 1". Если это не имеет смысла, посмотрите на эту таблицу:

    | Физическая кнопка | Событие кнопки | нормальное действие |
    |-----------------|--------------|---------------|
    |Left | 1 | select |
    |Средняя | 2 | вставить/зависит |
    |Правая | 3 | контекстное меню |
    |Прокрутка вверх | 4 | контекстное меню |
    |Прокрутка вниз | 5 | контекстное меню |
    |Custom | 6+ | зависит |
    

    чтобы отключить кнопку, поставьте 0 на ее место, например, чтобы отключить среднюю кнопку мыши "1 0 3 4 5 6 7 8 9 ..."

Вам придется войти и выйти, чтобы это вступило в силу.

Поскольку мне показалось, что в моих словах мало смысла, позвольте мне показать вам процесс за меня.

username@hostname ~> xinput list
⎡ Virtual core pointer                      id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ Saitek Cyborg R.A.T.3 Mouse               id=12   [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)]
    ↳ Power Button                              id=8    [slave  keyboard (3)]
    ↳ Sleep Button                              id=9    [slave  keyboard (3)]
    ↳   USB Keyboard                            id=10   [slave  keyboard (3)]
    ↳   USB Keyboard                            id=11   [slave  keyboard (3)]

Итак, имя моего устройства - Saitek Cyborg R.A.T.3 Mouse с ID 12

notafile@notapc ~> xinput query-state 12
2 classes :
ButtonClass
    button[1]=up
    button[2]=up
    button[3]=up
    button[4]=up
    button[5]=up
    button[6]=up
    button[7]=up
    button[8]=up
    button[9]=up
    button[10]=down
    button[11]=up
    button[12]=up
    button[13]=up
    button[14]=up
    button[15]=up
    button[16]=up
    button[17]=up
    button[18]=up
ValuatorClass Mode=Relative Proximity=In
    valuator[0]=1351
    valuator[1]=403
    valuator[2]=-372

Итак, у моей мыши в общей сложности 18 кнопок. Вот маппинг, который я обнаружил:

| Number | Button      |
|--------|-------------|
| 1      | Left        |
| 2      | Middle      |
| 3      | Right       |
| 4      | scroll up   |
| 5      | scroll down |
| 8      | upper thumb |
| 9      | lower thumb |
| 10     | mode red    |
| 11     | mode blue   |
| 12     | mode purple |
| 13     | DPI up      |
| 14     | DPI down    |

у этой мыши есть несколько кнопок с особым поведением. Кнопки 10-12 всегда нажаты и не отпускаются, пока кнопка режима не будет нажата снова. Это можно исправить с помощью опции "AutoRelease", которую я не буду сейчас рассматривать, если только это не является проблемой для вас.

Итак, наше отображение должно быть довольно простым. Кнопки 1-5 - это обычные кнопки, 8 и 9 наши пользовательские кнопки, а 6-7 и 10+ - кнопки, которые нам не нужны. В результате карта выглядит следующим образом: "1 2 3 4 5 0 0 0 8 9 0 0 0 0 0 0 0 0 0". Не забудьте добавить в конец 0, чтобы количество элементов совпадало с количеством кнопок, в данном случае 18.

Я закончил! Теперь осталось вставить это в файл конфигурации по адресу /usr/share/X11/xorg.conf.d/50-saitek-rat3, выйти из системы и снова войти!

Вот мой окончательный конфиг:

Section "InputClass"
    Identifier     "Mouse Remap"
    MatchProduct   "Saitek Cyborg R.A.T.3 Mouse"
    MatchDevicePath "/dev/input/event*"
    Option         "ZAxisMapping" "4 5"
    Option         "ButtonMapping" "1 2 3 4 5 0 0 0 8 9 0 0 0 0 0 0 0 0 0"
    Option         "Resolution" "3200"
EndSection
5
17.08.2018, 10:13
2 ответа

Отвечая на ваш вопрос, я не думаю, что Ubuntu официально поддерживает обновления до выпусков, отличных от последнего выпуска или последней LTS. может быть возможно выполнить обновление до определенного выпуска, изменив соответствующее кодовое имя в /etc/apt/sources.listи запустив apt update && apt dist-upgrade, но при этом не будут учитываться какие-либо действия по обновлению, выполняемые инструментом do-release-upgrade. (если есть ).

Однако в вашем конкретном случае 17.04 не является LTS и уже не поддерживается . 16.04 по-прежнему поддерживается; если вы не хотите обновляться до 18.04, вам следует придерживаться 16.04.

6
27.01.2020, 20:39

Таким образом, очевидным другим ответом является создание загрузочного USB-накопителя версии, до которой вы хотите обновиться, и создание резервной копии вашего текущего домашнего каталога, восстановление его после завершения установки. Это не элегантно, но работает.

0
30.07.2020, 13:58

Теги

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