Горячие клавиши в EMC2
Горячие клавиши в EMC2
Подключил дополнительную цифровую клавиатуру. Очень удобно. Но чтобы стало еще удобней хочется вынести на нее еще несколько клавиш - "запуск программы", "пауза", "продолжить".
По умолчанию в EMC2 запуск, например, производиться клавишей "R", а хочется "+" на доп. клавиатуре. Как это сделать?
По умолчанию в EMC2 запуск, например, производиться клавишей "R", а хочется "+" на доп. клавиатуре. Как это сделать?
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: Горячие клавиши в EMC2
Интересный вопрос .
А каким ты пользуешься GUI? Axis?
А каким ты пользуешься GUI? Axis?
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: Горячие клавиши в EMC2
Есть простое решение - xmodmap.
xmodmap - utility for modifying keymaps and pointer button mappings in X
при помощи xmodmap можно заменить любую клавишу или комбинацию клавиш на любую другую.
---------------------------
Update.
В домашней директории должен быть файл ~/.axis_preferences . в нем описаны настройки Axis осталось понять как там задать hotkeys.
xmodmap - utility for modifying keymaps and pointer button mappings in X
при помощи xmodmap можно заменить любую клавишу или комбинацию клавиш на любую другую.
---------------------------
Update.
В домашней директории должен быть файл ~/.axis_preferences . в нем описаны настройки Axis осталось понять как там задать hotkeys.
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: Горячие клавиши в EMC2
Вот, нашел:
Согласно примеру, если добавить такую строчку, то на "-" будет запускаться обработка
root_window.bind("-", commands.task_run)
Хотя, я не уверен на счет правильного описания клавиши... Сейчас уточню...
Содержимое файла ~/.axisrc, если он существует, выполняется как скрипт Python прямо перед показом AXIS gui.If it exists, the contents of ~/.axisrc are executed as Python source code just before the AXIS gui
is displayed. The details of what may be written in the axisrc are subject to change during the
development cycle.
The following adds Control-Q as a keyboard shortcut for Quit and turns on "Distance to go" by
default.
root_window.bind("<Control-q>", "destroy .")
help2.append(("Control-Q", "Quit"))
vars.show_distance_to_go.set(1)
Согласно примеру, если добавить такую строчку, то на "-" будет запускаться обработка
root_window.bind("-", commands.task_run)
Хотя, я не уверен на счет правильного описания клавиши... Сейчас уточню...
-
- Новичок
- Сообщения: 14
- Зарегистрирован: 20 ноя 2010, 05:07
- Репутация: 0
- Контактная информация:
Re: Горячие клавиши в EMC2
Наверное который Axis.root писал(а):Интересный вопрос .
А каким ты пользуешься GUI? Axis?
Спасибо!
Завтра буду пробовать.
Последний раз редактировалось kaa39518 22 ноя 2010, 04:01, всего редактировалось 2 раза.
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: Горячие клавиши в EMC2
Нашел правильные названия клавиш для numpad. Причем у них есть разные значения при включенном и выключенном numlock:
KP_0 90 65438 0 on the keypad
KP_1 87 65436 1 on the keypad
KP_2 88 65433 2 on the keypad
KP_3 89 65435 3 on the keypad
KP_4 83 65430 4 on the keypad
KP_5 84 65437 5 on the keypad
KP_6 85 65432 6 on the keypad
KP_7 79 65429 7 on the keypad
KP_8 80 65431 8 on the keypad
KP_9 81 65434 9 on the keypad
KP_Add 86 65451 + on the keypad
KP_Begin 84 65437 The center key (same key as 5) on the keypad
KP_Decimal 91 65439 Decimal (.) on the keypad
KP_Delete 91 65439 delete on the keypad
KP_Divide 112 65455 / on the keypad
KP_Down 88 65433 ↓ on the keypad
KP_End 87 65436 end on the keypad
KP_Enter 108 65421 enter on the keypad
KP_Home 79 65429 home on the keypad
KP_Insert 90 65438 insert on the keypad
KP_Left 83 65430 ← on the keypad
KP_Multiply 63 65450 × on the keypad
KP_Next 89 65435 PageDown on the keypad
KP_Prior 81 65434 PageUp on the keypad
KP_Right 85 65432 → on the keypad
KP_Subtract 82 65453 - on the keypad
KP_Up 80 65431 ↑ on the keypad
Next 105 65366 PageDown
Num_Lock 77 65407 NumLock
KP_0 90 65438 0 on the keypad
KP_1 87 65436 1 on the keypad
KP_2 88 65433 2 on the keypad
KP_3 89 65435 3 on the keypad
KP_4 83 65430 4 on the keypad
KP_5 84 65437 5 on the keypad
KP_6 85 65432 6 on the keypad
KP_7 79 65429 7 on the keypad
KP_8 80 65431 8 on the keypad
KP_9 81 65434 9 on the keypad
KP_Add 86 65451 + on the keypad
KP_Begin 84 65437 The center key (same key as 5) on the keypad
KP_Decimal 91 65439 Decimal (.) on the keypad
KP_Delete 91 65439 delete on the keypad
KP_Divide 112 65455 / on the keypad
KP_Down 88 65433 ↓ on the keypad
KP_End 87 65436 end on the keypad
KP_Enter 108 65421 enter on the keypad
KP_Home 79 65429 home on the keypad
KP_Insert 90 65438 insert on the keypad
KP_Left 83 65430 ← on the keypad
KP_Multiply 63 65450 × on the keypad
KP_Next 89 65435 PageDown on the keypad
KP_Prior 81 65434 PageUp on the keypad
KP_Right 85 65432 → on the keypad
KP_Subtract 82 65453 - on the keypad
KP_Up 80 65431 ↑ on the keypad
Next 105 65366 PageDown
Num_Lock 77 65407 NumLock
- NightV
- Почётный участник
- Сообщения: 6599
- Зарегистрирован: 30 дек 2011, 09:14
- Репутация: 2279
- Настоящее имя: Владимир Айрапетян
- Откуда: Israel
- Контактная информация:
Re: Горячие клавиши в EMC2
команды по умолчанию, содраны из usr/bin/axis
тоесть там-же их можно и изменить, из под root (не забываем делать резервную копию файла)
тоесть там-же их можно и изменить, из под root (не забываем делать резервную копию файла)
Код: Выделить всё
root_window.bind("<Escape>", commands.task_stop)
root_window.bind("l", commands.toggle_override_limits)
root_window.bind("o", commands.open_file)
root_window.bind("s", commands.task_resume)
root_window.bind("t", commands.task_step)
root_window.bind("p", commands.task_pause)
root_window.bind("v", commands.cycle_view)
root_window.bind("<Alt-p>", "#nothing")
root_window.bind("r", commands.task_run)
root_window.bind("<Control-r>", commands.reload_file)
root_window.bind("<Control-s>", commands.save_gcode)
root_window.bind_class("all", "<Key-F1>", commands.estop_clicked)
root_window.bind("<Key-F2>", commands.onoff_clicked)
root_window.bind("<Key-F7>", commands.mist_toggle)
root_window.bind("<Key-F8>", commands.flood_toggle)
root_window.bind("<Key-F9>", commands.spindle_forward_toggle)
root_window.bind("<Key-F10>", commands.spindle_backward_toggle)
root_window.bind("<Key-F11>", commands.spindle_decrease)
root_window.bind("<Key-F12>", commands.spindle_increase)
root_window.bind("B", commands.brake_on)
root_window.bind("b", commands.brake_off)
root_window.bind("<Control-k>", commands.clear_live_plot)
root_window.bind("x", lambda event: activate_axis(0))
root_window.bind("y", lambda event: activate_axis(1))
root_window.bind("z", lambda event: activate_axis(2))
root_window.bind("a", lambda event: activate_axis(3))
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))
root_window.bind("c", lambda event: jogspeed_continuous())
root_window.bind("d", lambda event: widgets.rotate.invoke())
root_window.bind("i", lambda event: jogspeed_incremental())
root_window.bind("I", lambda event: jogspeed_incremental(-1))
root_window.bind("!", "set metric [expr {!$metric}]; redraw")
root_window.bind("@", commands.toggle_display_type)
root_window.bind("#", commands.toggle_coord_type)
root_window.bind("$", commands.toggle_joint_mode)
root_window.bind("<Home>", commands.home_axis)
root_window.bind("<KP_Home>", kp_wrap(commands.home_axis, "KeyPress"))
root_window.bind("<Control-Home>", commands.home_all_axes)
root_window.bind("<Shift-Home>", commands.set_axis_offset)
root_window.bind("<End>", commands.touch_off)
root_window.bind("<Control-KP_Home>", kp_wrap(commands.home_all_axes, "KeyPress"))
root_window.bind("<Shift-KP_Home>", kp_wrap(commands.set_axis_offset, "KeyPress"))
root_window.bind("<KP_End>", kp_wrap(commands.touch_off, "KeyPress"))
widgets.mdi_history.bind("<Configure>", "%W see end" )
widgets.mdi_history.bind("<ButtonRelease-1>", commands.mdi_history_butt_1)
widgets.mdi_history.bind("<Double-Button-1>", commands.mdi_history_double_butt_1)
widgets.mdi_command.unbind("<Control-h>")
widgets.mdi_command.bind("<Control-m>", commands.clear_mdi_history)
widgets.mdi_command.bind("<Control-h>", commands.mdi_history_hist2clip)
widgets.mdi_command.bind("<Control-Shift-H>", commands.mdi_history_clip2hist)
widgets.mdi_command.bind("<Key-Return>", commands.send_mdi)
widgets.mdi_command.bind("<Up>", commands.mdi_up_cmd)
widgets.mdi_command.bind("<Down>", commands.mdi_down_cmd)
widgets.mdi_command.bind("<Key-KP_Enter>", commands.send_mdi)
widgets.mdi_command.bind("<KP_Up>", commands.mdi_up_cmd)
widgets.mdi_command.bind("<KP_Down>", commands.mdi_down_cmd)
widgets.mdi_command.bind("<KeyRelease-minus>", "break")
widgets.mdi_command.bind("<KeyRelease-equal>", "break")
Всё просто! если знаешь КАК!
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: Горячие клавиши в EMC2
лучше через ~/.axisrc, так при обновлении ничего не пропадет .
- NightV
- Почётный участник
- Сообщения: 6599
- Зарегистрирован: 30 дек 2011, 09:14
- Репутация: 2279
- Настоящее имя: Владимир Айрапетян
- Откуда: Israel
- Контактная информация:
Re: Горячие клавиши в EMC2
я знаю, просто это как пример написания дал, ну и как список уже существующих
Всё просто! если знаешь КАК!
- mantra
- Кандидат
- Сообщения: 71
- Зарегистрирован: 07 апр 2018, 15:11
- Репутация: 4
- Настоящее имя: Дмитрий
- Контактная информация:
Re: Горячие клавиши в EMC2
Подскажите плз, правильный синтакс.
Хочу забиндить клавиши нумпада - и + для уменьшения и повышения скорости перемещения осей в ручную.
По умолчания стоят <, > decrement or increment axis speed
bind ManualBindings <KeyPress-comma> {decrJogSpeed}
bind ManualBindings <KeyPress-period> {incrJogSpeed}
Еще интересует вопрос можно ли назначать горячие клавиши для самостоятельно созданных панелей-кнопок?
Хочу забиндить клавиши нумпада - и + для уменьшения и повышения скорости перемещения осей в ручную.
По умолчания стоят <, > decrement or increment axis speed
bind ManualBindings <KeyPress-comma> {decrJogSpeed}
bind ManualBindings <KeyPress-period> {incrJogSpeed}
Еще интересует вопрос можно ли назначать горячие клавиши для самостоятельно созданных панелей-кнопок?