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

Обсуждение установки, настройки и использования LinuxCNC. Вопросы по Gкоду.

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

Сообщение SONIC300077 » 22 янв 2020, 12:11

Немогу найти где внести измененя что бы вернуть управление осями а именно скоростями, деле в том что я работал на версии 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

Моежт кто знает как решить это? Зарание благодарю
http://sputnik3Dlit.ru/ - Литье черных и цветных металлов, модельная оснастка, мех обработка, 3Д печать.
SONIC300077
Кандидат
 
Сообщения: 71
Зарегистрирован: 07 апр 2013, 18:17
Репутация: 0

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

Сообщение nkp » 22 янв 2020, 12:35

Сечас ковыряю вот этот файл /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
nkp
Мастер
 
Сообщения: 8261
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1540
Медальки:

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

Сообщение SONIC300077 » 22 янв 2020, 16:59

Код: Выделить всёРазвернуть
[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-кодами то там не критично, а если приходится работать кучками то кнопки с заданными скоростями это очень круто, я прям без них и работать даже не могу ((
http://sputnik3Dlit.ru/ - Литье черных и цветных металлов, модельная оснастка, мех обработка, 3Д печать.
SONIC300077
Кандидат
 
Сообщения: 71
Зарегистрирован: 07 апр 2013, 18:17
Репутация: 0

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

Сообщение SONIC300077 » 22 янв 2020, 20:01

SONIC300077 писал(а):Сечас ковыряю вот этот файл /usr/bin/axis путем сровнения с версией 2,5,4


Перековырял весь файл нечего такого что касается этой проблемы в нем я необнаружил или что то упустил, хотя я пробовал заменял все содержимое с файла версии Linuxcnc2,6 все запустилось но вот работало также как и 2,7, даже незнаю что и думать где искать может есть тут кто хоть немного в этом направлении просвещен ?
http://sputnik3Dlit.ru/ - Литье черных и цветных металлов, модельная оснастка, мех обработка, 3Д печать.
SONIC300077
Кандидат
 
Сообщения: 71
Зарегистрирован: 07 апр 2013, 18:17
Репутация: 0

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

Сообщение nkp » 22 янв 2020, 21:36

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

=================
выложи их сюда
тогда можно будет их сравнить
nkp
Мастер
 
Сообщения: 8261
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1540
Медальки:

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

Сообщение SONIC300077 » 23 янв 2020, 19:48

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

Файлы смог прикрепить только с расширением .txt (выдает расширение AXIS запрещено)
Вложения
axis.txt
(123.07 Кб) Скачиваний: 287
axistcl.txt
(62.95 Кб) Скачиваний: 290
http://sputnik3Dlit.ru/ - Литье черных и цветных металлов, модельная оснастка, мех обработка, 3Д печать.
SONIC300077
Кандидат
 
Сообщения: 71
Зарегистрирован: 07 апр 2013, 18:17
Репутация: 0

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

Сообщение SONIC300077 » 23 янв 2020, 20:13

А вот эти с версии LnuxCnC 2.7.15
Вложения
axis.txt
(126 Кб) Скачиваний: 308
axistcl.txt
(64.53 Кб) Скачиваний: 285
http://sputnik3Dlit.ru/ - Литье черных и цветных металлов, модельная оснастка, мех обработка, 3Д печать.
SONIC300077
Кандидат
 
Сообщения: 71
Зарегистрирован: 07 апр 2013, 18:17
Репутация: 0

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

Сообщение nkp » 25 янв 2020, 19:34

наверно надо начать с того,что в версии 2.7.15 (самой свежей ) все работает как заявлено
Код: Выделить всёРазвернуть
    ("`, 1..9, 0", _("Set Feed Override from 0% to 100%")),
    (_(", and ."), _("Select jog speed")),
    (_("< and >"), _("Select angular jog speed")),

файлы ,выложенные от разных версий ,совершенно одинаковы
и в плане привязки клавишей ,и во всем остальном...
то есть - если что то работает не так как раньше,то привязка клавишей тут не при чем
nkp
Мастер
 
Сообщения: 8261
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1540
Медальки:

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

Сообщение SONIC300077 » 26 янв 2020, 14:12

Меня интересует вот эти два параметра,
в версиях 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
http://sputnik3Dlit.ru/ - Литье черных и цветных металлов, модельная оснастка, мех обработка, 3Д печать.
SONIC300077
Кандидат
 
Сообщения: 71
Зарегистрирован: 07 апр 2013, 18:17
Репутация: 0

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

Сообщение nkp » 26 янв 2020, 14:47

SONIC300077 писал(а):или объединить как было в старых версиях ?

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

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

Сообщение nkp » 26 янв 2020, 15:00

SONIC300077 писал(а):параметр "Изменить подачу" работает как в режиме выполнение УП так и для ручных перемещений,

ползун "Изменить подачу" (самый верхний ) как мне кажется никогда не влиял на скорость ручных перемещений
если у тебя "влиял" - то скорей всего это какой то баг или еще что то))
nkp
Мастер
 
Сообщения: 8261
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1540
Медальки:

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

Сообщение SONIC300077 » 26 янв 2020, 16:56

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

Да я тоже так подумал что это баг, но он работает в версиях от 2.5.3 до 2.6.13 причем я много раз ставил по разному разные версии на разные версии ОС убунту дебиан и баг это везде хорошо работает ))
http://sputnik3Dlit.ru/ - Литье черных и цветных металлов, модельная оснастка, мех обработка, 3Д печать.
SONIC300077
Кандидат
 
Сообщения: 71
Зарегистрирован: 07 апр 2013, 18:17
Репутация: 0

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

Сообщение SONIC300077 » 26 янв 2020, 17:01

Ну а насчет поменять эти параметры местами чтобы ручные переезды задавались кнопками (`, 1..9, 0) а подача (< >)
Возможно так сделать ? просто для меня это очень удобно, ну и думаю это оценят те кто много работает ручками !
http://sputnik3Dlit.ru/ - Литье черных и цветных металлов, модельная оснастка, мех обработка, 3Д печать.
SONIC300077
Кандидат
 
Сообщения: 71
Зарегистрирован: 07 апр 2013, 18:17
Репутация: 0

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

Сообщение nkp » 26 янв 2020, 23:09

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

теперь удобно редактировать их оба
nkp
Мастер
 
Сообщения: 8261
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1540
Медальки:

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

Сообщение SONIC300077 » 28 янв 2020, 18:47

nkp писал(а):теперь удобно редактировать их оба


Все сделал, файлы перенес прописал и проверил, файлы работают!
Да очень удобно! А вот с обновлениями, как эти файлы к обновлениям ?
я пока не сообразил как их отредактировать )
http://sputnik3Dlit.ru/ - Литье черных и цветных металлов, модельная оснастка, мех обработка, 3Д печать.
SONIC300077
Кандидат
 
Сообщения: 71
Зарегистрирован: 07 апр 2013, 18:17
Репутация: 0

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

Сообщение nkp » 28 янв 2020, 19:03

SONIC300077 писал(а):А вот с обновлениями, как эти файлы к обновлениям ?

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

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

Сообщение nkp » 28 янв 2020, 19:11

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)
nkp
Мастер
 
Сообщения: 8261
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1540
Медальки:

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

Сообщение alex030272 » 20 апр 2020, 17:52

Здравствуйте все, не болейте
Уже всю голову сломал и ничего не работает.
Требуется программно в 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 раз(а).
alex030272
Кандидат
 
Сообщения: 41
Зарегистрирован: 19 апр 2020, 21:11
Репутация: 2
Настоящее имя: Александр

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

Сообщение nkp » 20 апр 2020, 18:01

пока пост выше можешь редактировать,попробуй код свой заключи в тег "Code"
так же будет гораздо смотрибельней
как только это выйдет ,так сразу и всё остальное получится :)
мышкой выдели то ,что нужно и кликни на кнопочке "Code"
nkp
Мастер
 
Сообщения: 8261
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1540
Медальки:

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

Сообщение alex030272 » 20 апр 2020, 18:55

Сделал
alex030272
Кандидат
 
Сообщения: 41
Зарегистрирован: 19 апр 2020, 21:11
Репутация: 2
Настоящее имя: Александр

Пред.След.

Вернуться в LinuxCNC

Кто сейчас на конференции

Зарегистрированные пользователи: Bing [Bot], CybSys, gess05, Google [Bot], Majestic-12 [Bot], nik1, niksooon, pegas13, savo, smart4on, vasilevs, Yandex [bot]

Reputation System ©'