Переназначение клавиш

Обсуждение установки, настройки и использования LinuxCNC. Вопросы по Gкоду.
SONIC300077
Опытный
Сообщения: 131
Зарегистрирован: 07 апр 2013, 18:17
Репутация: 0
Настоящее имя: Сергей
Контактная информация:

Re: Переназначение клавиш

Сообщение SONIC300077 »

Немогу найти где внести измененя что бы вернуть управление осями а именно скоростями, деле в том что я работал на версии Linuxcnc 2,5,4. и привык к тому что подача и скорости ручных перемещений задается кнопками ("`, 1..9, 0", _("Set Feed Override from 0% to 100%") для меня это очень удобно по каждой цифрой определеная скорость, осебенно мне это нужно для превязке инструмента да и когда работаешь в ручном режиме,
А в новых версиях Linuxcnc 2.7.15 разделили подачу и ручные ускоренные перемещения и когда двигаешь осями в ручную скорость приходится задавать кнопками "<Б" "Ю>" это очень неудобно, мне нежно хотябы 3-4 горячии клавиши с конкретно заданными скоростями!
Сечас ковыряю вот этот файл /usr/bin/axis путем сровнения с версией 2,5,4

Моежт кто знает как решить это? Зарание благодарю
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: Переназначение клавиш

Сообщение nkp »

Сечас ковыряю вот этот файл /usr/bin/axis путем сровнения с версией 2,5,4
да - это там прописано
но чтоб не лезть от рута,можно в .axisrc всё то же самое прописать
как пример:

Код: Выделить всё

def bind_axis(a, b, d):
    if d==0:
        root_window.bind("<KeyPress-%s>" % a, kp_wrap(lambda e: two_axis_r(d), "KeyPress"))
        root_window.bind("<KeyPress-%s>" % b, kp_wrap(lambda e: two_axis_l(d), "KeyPress"))
        root_window.bind("<Shift-KeyPress-%s>" % a, lambda e: two_axis_max_r(d))
        root_window.bind("<Shift-KeyPress-%s>" % b, lambda e: two_axis_max_l(d))      
        root_window.bind("<KeyRelease-%s>" % a, lambda e: two_axis_off(d))
        root_window.bind("<KeyRelease-%s>" % b, lambda e: two_axis_off(d))
    else:
        root_window.bind("<KeyPress-%s>" % a, kp_wrap(lambda e: jog_on(d, -get_jog_speed(d)), "KeyPress"))
        root_window.bind("<KeyPress-%s>" % b, kp_wrap(lambda e: jog_on(d, get_jog_speed(d)), "KeyPress"))
        root_window.bind("<Shift-KeyPress-%s>" % a, lambda e: jog_on(d, -get_max_jog_speed(d)))
        root_window.bind("<Shift-KeyPress-%s>" % b, lambda e: jog_on(d, get_max_jog_speed(d)))
        root_window.bind("<KeyRelease-%s>" % a, lambda e: jog_off(d))
        root_window.bind("<KeyRelease-%s>" % b, lambda e: jog_off(d))
еще этот файл (как по мне) удобней в папке конфига держать
прописываем его в ини
хоть так:

Код: Выделить всё

USER_COMMAND_FILE = gui.py
SONIC300077
Опытный
Сообщения: 131
Зарегистрирован: 07 апр 2013, 18:17
Репутация: 0
Настоящее имя: Сергей
Контактная информация:

Re: Переназначение клавиш

Сообщение SONIC300077 »

Код: Выделить всё

[quote="nkp"]да - это там прописано
но чтоб не лезть от рута,можно в .axisrc всё то же самое прописать
как пример:

Код: Выделить всё • Развернуть

    def bind_axis(a, b, d):
        if d==0:
            root_window.bind("<KeyPress-%s>" % a, kp_wrap(lambda e: two_axis_r(d), "KeyPress"))
            root_window.bind("<KeyPress-%s>" % b, kp_wrap(lambda e: two_axis_l(d), "KeyPress"))
            root_window.bind("<Shift-KeyPress-%s>" % a, lambda e: two_axis_max_r(d))
            root_window.bind("<Shift-KeyPress-%s>" % b, lambda e: two_axis_max_l(d))      
            root_window.bind("<KeyRelease-%s>" % a, lambda e: two_axis_off(d))
            root_window.bind("<KeyRelease-%s>" % b, lambda e: two_axis_off(d))
        else:
            root_window.bind("<KeyPress-%s>" % a, kp_wrap(lambda e: jog_on(d, -get_jog_speed(d)), "KeyPress"))
            root_window.bind("<KeyPress-%s>" % b, kp_wrap(lambda e: jog_on(d, get_jog_speed(d)), "KeyPress"))
            root_window.bind("<Shift-KeyPress-%s>" % a, lambda e: jog_on(d, -get_max_jog_speed(d)))
            root_window.bind("<Shift-KeyPress-%s>" % b, lambda e: jog_on(d, get_max_jog_speed(d)))
            root_window.bind("<KeyRelease-%s>" % a, lambda e: jog_off(d))
            root_window.bind("<KeyRelease-%s>" % b, lambda e: jog_off(d))


еще этот файл (как по мне) удобней в папке конфига держать
прописываем его в ини
хоть так:

Код: Выделить всё • Развернуть

    USER_COMMAND_FILE = gui.py[/quote]
О вот об этом я не знал, спасибо большое ото уже кучу изменений сделал в этом файле, как обновятся так мозги кипят, зато память тренируется ))
До теперь найти бы эти строки где это поменять, и спрашивается зачем это изменили ведь изначально все очень удобно, если конечно пользоваться только программными G-кодами то там не критично, а если приходится работать кучками то кнопки с заданными скоростями это очень круто, я прям без них и работать даже не могу ((
SONIC300077
Опытный
Сообщения: 131
Зарегистрирован: 07 апр 2013, 18:17
Репутация: 0
Настоящее имя: Сергей
Контактная информация:

Re: Переназначение клавиш

Сообщение SONIC300077 »

SONIC300077 писал(а):Сечас ковыряю вот этот файл /usr/bin/axis путем сровнения с версией 2,5,4
Перековырял весь файл нечего такого что касается этой проблемы в нем я необнаружил или что то упустил, хотя я пробовал заменял все содержимое с файла версии Linuxcnc2,6 все запустилось но вот работало также как и 2,7, даже незнаю что и думать где искать может есть тут кто хоть немного в этом направлении просвещен ?
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: Переназначение клавиш

Сообщение nkp »

найди в своей системе 2 файла:
axis (без расширения)
и
axis.tcl
-------------
и их же в старой версии емс
ищутся в линуксе командой в терминале
например

Код: Выделить всё

locate  axis.tcl
=================
выложи их сюда
тогда можно будет их сравнить
SONIC300077
Опытный
Сообщения: 131
Зарегистрирован: 07 апр 2013, 18:17
Репутация: 0
Настоящее имя: Сергей
Контактная информация:

Re: Переназначение клавиш

Сообщение SONIC300077 »

Вот эти файлы вытащил из версии LinuxCnC 2.6.13 в ней все работает как нужно мне!
Фалы взяты вот отсюда /user/share/axis/tcl/axis.tcl и /user/bin/axis

Файлы смог прикрепить только с расширением .txt (выдает расширение AXIS запрещено)
Вложения
axis.txt
(123.07 КБ) 498 скачиваний
axistcl.txt
(62.95 КБ) 495 скачиваний
SONIC300077
Опытный
Сообщения: 131
Зарегистрирован: 07 апр 2013, 18:17
Репутация: 0
Настоящее имя: Сергей
Контактная информация:

Re: Переназначение клавиш

Сообщение SONIC300077 »

А вот эти с версии LnuxCnC 2.7.15
Вложения
axis.txt
(126 КБ) 496 скачиваний
axistcl.txt
(64.53 КБ) 452 скачивания
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: Переназначение клавиш

Сообщение nkp »

наверно надо начать с того,что в версии 2.7.15 (самой свежей ) все работает как заявлено

Код: Выделить всё

    ("`, 1..9, 0", _("Set Feed Override from 0% to 100%")),
    (_(", and ."), _("Select jog speed")),
    (_("< and >"), _("Select angular jog speed")),
файлы ,выложенные от разных версий ,совершенно одинаковы
и в плане привязки клавишей ,и во всем остальном...
то есть - если что то работает не так как раньше,то привязка клавишей тут не при чем
SONIC300077
Опытный
Сообщения: 131
Зарегистрирован: 07 апр 2013, 18:17
Репутация: 0
Настоящее имя: Сергей
Контактная информация:

Re: Переназначение клавиш

Сообщение SONIC300077 »

Меня интересует вот эти два параметра,
в версиях LCNC 2,5 и,2,6 они работают так
параметр "Изменить подачу" работает как в режиме выполнение УП так и для ручных перемещений, и кнопки ("`, 1..9, 0", _("Set Feed Override from 0% to 100%")), работают как для подачи так и для ручных перемещения и процент берется от выставленного значения второго параметра "Скорость перемещений"
А в новой версии LCNC 2,7,15 все работает раздельно параметр "Изменить подачу" работает только для G1
А для ручных перемещений (стрелками) приходится использовать только две кнопки (_("< and >"), _("Select angular jog speed")),


А моно поменять эти параметры местами?
или объединить как было в старых версиях ?
Вложения
Снимок.png (4213 просмотров) <a class='original' href='./download/file.php?id=175648&sid=1c29084f7113a73f83037beb8dbdf0a8&mode=view' target=_blank>Загрузить оригинал (402.59 КБ)</a>
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: Переназначение клавиш

Сообщение nkp »

SONIC300077 писал(а):или объединить как было в старых версиях ?
если верить тем файлам ,что выше выложены для "старой" версии",
то там всё прописано (в отношении клавиш) как и для "новой" версии
файлы одинаковые
работать (по идее) должны одинаково
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: Переназначение клавиш

Сообщение nkp »

SONIC300077 писал(а):параметр "Изменить подачу" работает как в режиме выполнение УП так и для ручных перемещений,
ползун "Изменить подачу" (самый верхний ) как мне кажется никогда не влиял на скорость ручных перемещений
если у тебя "влиял" - то скорей всего это какой то баг или еще что то))
SONIC300077
Опытный
Сообщения: 131
Зарегистрирован: 07 апр 2013, 18:17
Репутация: 0
Настоящее имя: Сергей
Контактная информация:

Re: Переназначение клавиш

Сообщение SONIC300077 »

ползун "Изменить подачу" (самый верхний ) как мне кажется никогда не влиял на скорость ручных перемещений
если у тебя "влиял" - то скорей всего это какой то баг или еще что то))

Да я тоже так подумал что это баг, но он работает в версиях от 2.5.3 до 2.6.13 причем я много раз ставил по разному разные версии на разные версии ОС убунту дебиан и баг это везде хорошо работает ))
SONIC300077
Опытный
Сообщения: 131
Зарегистрирован: 07 апр 2013, 18:17
Репутация: 0
Настоящее имя: Сергей
Контактная информация:

Re: Переназначение клавиш

Сообщение SONIC300077 »

Ну а насчет поменять эти параметры местами чтобы ручные переезды задавались кнопками (`, 1..9, 0) а подача (< >)
Возможно так сделать ? просто для меня это очень удобно, ну и думаю это оценят те кто много работает ручками !
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: Переназначение клавиш

Сообщение nkp »

SONIC300077 писал(а):Ну а насчет поменять эти параметры местами чтобы ручные переезды задавались кнопками (`, 1..9, 0) а подача (< >)
Возможно так сделать ? просто для меня это очень удобно, ну и думаю это оценят те кто много работает ручками !
конечно это возможно сделать,но как мне показалось - не изменением пары строк...
одна привязка в файле axis
другая - в axis.tcl
(пока) могу сказать - удобней (мне) ,когда оба этих файла находятся в папке конфига
кладем их туда ,
axis делаем исполняемым
в INI подправляем чтоб было:

Код: Выделить всё

DISPLAY =             ./axis
в самом коде axis добавляем путь к axis.tcl:

Код: Выделить всё

try:
    nf.source_lib_tcl(root_window,"/home/nkp/linuxcnc/configs/gear/axis.tcl")
except TclError:
    print root_window.tk.call("set", "errorInfo")
    raise
теперь удобно редактировать их оба
SONIC300077
Опытный
Сообщения: 131
Зарегистрирован: 07 апр 2013, 18:17
Репутация: 0
Настоящее имя: Сергей
Контактная информация:

Re: Переназначение клавиш

Сообщение SONIC300077 »

nkp писал(а): теперь удобно редактировать их оба
Все сделал, файлы перенес прописал и проверил, файлы работают!
Да очень удобно! А вот с обновлениями, как эти файлы к обновлениям ?
я пока не сообразил как их отредактировать )
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: Переназначение клавиш

Сообщение nkp »

SONIC300077 писал(а):А вот с обновлениями, как эти файлы к обновлениям ?
никак)
эти файлы обновление не затрагивает ...
axis вообще (скорей всего) не будет обновляться - автор "ушел на покой"(объявил об этом официально))
,а остальным он не интересен
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: Переназначение клавиш

Сообщение nkp »

SONIC300077 писал(а):я пока не сообразил как их отредактировать )
только небольшие подсказки:
вот плзун скорость jog (файл axis.tcl)

Код: Выделить всё

bind . , [regsub %W [bind Scale <Left>] ${pane_top}.jogspeed.s]
bind . . [regsub %W [bind Scale <Right>] ${pane_top}.jogspeed.s]
вот ползун подача(файл axis)

Код: Выделить всё

root_window.bind("`", lambda event: activate_axis_or_set_feedrate(0))
root_window.bind("1", lambda event: activate_axis_or_set_feedrate(1))
root_window.bind("2", lambda event: activate_axis_or_set_feedrate(2))
root_window.bind("3", lambda event: activate_axis_or_set_feedrate(3))
root_window.bind("4", lambda event: activate_axis_or_set_feedrate(4))
root_window.bind("5", lambda event: activate_axis_or_set_feedrate(5))
root_window.bind("6", lambda event: activate_axis_or_set_feedrate(6))
root_window.bind("7", lambda event: activate_axis_or_set_feedrate(7))
root_window.bind("8", lambda event: activate_axis_or_set_feedrate(8))
root_window.bind("9", lambda event: set_feedrate(90))
root_window.bind("0", lambda event: set_feedrate(100))
тут две функции,потому как клавишами теми же можно и ось выбирать в добавок
теперь и иди по функциям:
activate_axis_or_set_feedrate

Код: Выделить всё

def activate_axis_or_set_feedrate(n):
    # XXX: axis_mask does not apply if in joint mode
    if manual_ok() and s.axis_mask & (1<<n):
        activate_axis(n)
    else:
        set_feedrate(10*n)
alex030272
Кандидат
Сообщения: 41
Зарегистрирован: 19 апр 2020, 21:11
Репутация: 2
Настоящее имя: Александр
Контактная информация:

Re: Переназначение клавиш

Сообщение alex030272 »

Здравствуйте все, не болейте
Уже всю голову сломал и ничего не работает.
Требуется программно в AXIS поменять местами кнопки клавиатуры Up и Down управляющие передвижением оси Y.
Пробовал в файле ~.axisrc это, но не помогает

Код: Выделить всё

root_window.bind("<Up>", lambda e: jog_on(1, -get_jog_speed(1)))
root_window.bind("<Down>", lambda e: jog_on(1, +get_jog_speed(1)))
root_window.bind("<KeyRelease-Up>", lambda e: jog_off(1))
root_window.bind("<KeyRelease-Down>", lambda e: jog_off(1))
также не работает

Код: Выделить всё

if lathe:
bind_axis("Up", "Down", 1)
else:
bind_axis("Down", "Up", 1)
и вот здесь предлагали

Код: Выделить всё

def bind_axis(a, b, d):
if d==0:
root_window.bind("<KeyPress-%s>" % a, kp_wrap(lambda e: two_axis_r(d), "KeyPress"))
root_window.bind("<KeyPress-%s>" % b, kp_wrap(lambda e: two_axis_l(d), "KeyPress"))
root_window.bind("<Shift-KeyPress-%s>" % a, lambda e: two_axis_max_r(d))
root_window.bind("<Shift-KeyPress-%s>" % b, lambda e: two_axis_max_l(d))
root_window.bind("<KeyRelease-%s>" % a, lambda e: two_axis_off(d))
root_window.bind("<KeyRelease-%s>" % b, lambda e: two_axis_off(d))
else:
root_window.bind("<KeyPress-%s>" % a, kp_wrap(lambda e: jog_on(d, -get_jog_speed(d)), "KeyPress"))
root_window.bind("<KeyPress-%s>" % b, kp_wrap(lambda e: jog_on(d, get_jog_speed(d)), "KeyPress"))
root_window.bind("<Shift-KeyPress-%s>" % a, lambda e: jog_on(d, -get_max_jog_speed(d)))
root_window.bind("<Shift-KeyPress-%s>" % b, lambda e: jog_on(d, get_max_jog_speed(d)))
root_window.bind("<KeyRelease-%s>" % a, lambda e: jog_off(d))
root_window.bind("<KeyRelease-%s>" % b, lambda e: jog_off(d))
тоже не работает
Или я чего то не верно прописал?
Может кто поможет разобраться?
Последний раз редактировалось alex030272 20 апр 2020, 18:12, всего редактировалось 2 раза.
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: Переназначение клавиш

Сообщение nkp »

пока пост выше можешь редактировать,попробуй код свой заключи в тег "Code"
так же будет гораздо смотрибельней
как только это выйдет ,так сразу и всё остальное получится :)
мышкой выдели то ,что нужно и кликни на кнопочке "Code"
alex030272
Кандидат
Сообщения: 41
Зарегистрирован: 19 апр 2020, 21:11
Репутация: 2
Настоящее имя: Александр
Контактная информация:

Re: Переназначение клавиш

Сообщение alex030272 »

Сделал
Ответить

Вернуться в «LinuxCNC»