Keyboard re-mapping (key binding)
- ioiotutu
- Offline
- Senior Member
- Posts: 56
- Thank you received: 1
Please Log in or Create an account to join the conversation.
- BigJohnT
- Offline
- Administrator
- Posts: 7330
- Thank you received: 1177
John
Please Log in or Create an account to join the conversation.
- andypugh
- Offline
- Moderator
- Posts: 23560
- Thank you received: 4858
Otherwise you would have to modify axis.py to change the key bindings. I scanned through the 3400 lines of code and nothing jumped out at me.
Is this thing on?
www.linuxcnc.org/component/option,com_ku.../lang,english/#14678
Please Log in or Create an account to join the conversation.
- BigJohnT
- Offline
- Administrator
- Posts: 7330
- Thank you received: 1177
John
Please Log in or Create an account to join the conversation.
- andypugh
- Offline
- Moderator
- Posts: 23560
- Thank you received: 4858
thread.gmane.org/gmane.linux.distributio...er/12638/focus=12642
Please Log in or Create an account to join the conversation.
- BigJohnT
- Offline
- Administrator
- Posts: 7330
- Thank you received: 1177
AXIS doesn't pay attention to jog keys with modifier keys pressed
because this had some bad interactions with using the numeric keypad as
digits in MDI mode.
You can put magic incantations in the file ~/.axisrc that customize the
jog keys and also get rid of this behavior of ignoring the key if a
modifier key is pressed.
Here is an example which changes the keys that jog the active axis, and
the keys that jog the A axis:
# -- cut here
# Bind ; and ' to jog active axis
root_window.bind("<semicolon>", commands.jog_minus)
root_window.bind("<apostrophe>", commands.jog_plus)
root_window.bind("<KeyRelease-semicolon>", commands.jog_stop)
root_window.bind("<KeyRelease-apostrophe>", commands.jog_stop)
# Bind ( and ) to jog axis 3 (0=X, 1=Y, 2=Z, 3=A, 4=B, ...)
root_window.bind("<parenleft>", lambda e: jog_on(3, -get_jog_speed(3)))
root_window.bind("<parenright>", lambda e: jog_on(3, get_jog_speed(3)))
root_window.bind("<KeyRelease-parenleft>", lambda e: jog_off(3))
root_window.bind("<KeyRelease-parenright>", lambda e: jog_off(3))
# -- cut here
To edit your ~/.axisrc file, open a terminal window (Applications > Accessories >
Terminal). Then type "gedit .axisrc". Paste the lines above into the file,
then click save, then close the application.
The next time you run emc, the settings in the .axisrc file will take effect.
To edit it again, just do the same thing: "gedit .axisrc" in the
terminal.
If you want to use different keys, here's how to figure out what to use instead
of "parenleft" and so on: In the terminal, type "xev". A new window
will pop up. Click on it, but keep an eye on the terminal window. When
you press a key, it will print several lines of information on the
terminal. The one that matters is this one:
state 0x0, keycode 34 (keysym 0x5b, bracketleft), same_screen YES,
^^^^^^^^^^^
that keysym string is the one to put in your .axisrc file.
Jeff
Please Log in or Create an account to join the conversation.
- ioiotutu
- Offline
- Senior Member
- Posts: 56
- Thank you received: 1
I'll try.
Thanks.
Please Log in or Create an account to join the conversation.
- ioiotutu
- Offline
- Senior Member
- Posts: 56
- Thank you received: 1
with this code in axisrc all work fine:
#swap bind key
# Bind ( and ) to jog axis 3 (0=X, 1=Y, 2=Z, 3=A, 4=B, ...)
root_window.bind("<Up>", lambda e: jog_on(0, -get_jog_speed(0)))
root_window.bind("<Down>", lambda e: jog_on(0, +get_jog_speed(0)))
root_window.bind("<KeyRelease-Up>", lambda e: jog_off(0))
root_window.bind("<KeyRelease-Down>", lambda e: jog_off(0))
root_window.bind("<Left>", lambda e: jog_on(1, -get_jog_speed(1)))
root_window.bind("<Right>", lambda e: jog_on(1, +get_jog_speed(1)))
root_window.bind("<KeyRelease-Left>", lambda e: jog_off(1))
root_window.bind("<KeyRelease-Right>", lambda e: jog_off(1))
Please Log in or Create an account to join the conversation.
- mrchar
- Offline
- New Member
- Posts: 5
- Thank you received: 0
I have 2.7.11 linuxcnc
thank you
Please Log in or Create an account to join the conversation.
- andypugh
- Offline
- Moderator
- Posts: 23560
- Thank you received: 4858
Create it with the system text editor (probably Mousepad or Gedit) in your home folder.
Please Log in or Create an account to join the conversation.