Gscreen - a GTK / Glade / Python based screen
- andypugh
- 
				  
- Offline
- Moderator
- 
				  
		Less
		More
		
			
	
		- Posts: 19677
- Thank you received: 4554
			
	
						04 Feb 2014 21:42				#43539
		by andypugh
	
	
		
			
				
It sounds like the arrows are being captured as jog commands by the GUI rather than being passed on to the system.
At a guess it is something in git.linuxcnc.org/gitweb?p=linuxcnc.git;a...33d76c802143;hb=HEAD
but possibly the generic GladeVCP key-forwarder: git.linuxcnc.org/gitweb?p=linuxcnc.git;a...f9fb95c95731;hb=HEAD
					
	
			
			 		
													
	
				Replied by andypugh on topic Gscreen - a GTK / Glade / Python based screen			
			The shop supervisor noticed something on this build that the up, down arrow keys do not work while in edit mode, making it a little interesting trying to make multiple edits to a long program.
Any Ideas?
It sounds like the arrows are being captured as jog commands by the GUI rather than being passed on to the system.
At a guess it is something in git.linuxcnc.org/gitweb?p=linuxcnc.git;a...33d76c802143;hb=HEAD
but possibly the generic GladeVCP key-forwarder: git.linuxcnc.org/gitweb?p=linuxcnc.git;a...f9fb95c95731;hb=HEAD
Please Log in or Create an account to join the conversation.
- LAIR82
- Offline
- Elite Member
- 
				  
		Less
		More
		
			
	
		- Posts: 197
- Thank you received: 3
			
	
						13 Feb 2014 23:08				#43829
		by LAIR82
	
	
		
			
	
			
			 		
													
	
				Replied by LAIR82 on topic Gscreen - a GTK / Glade / Python based screen			
			
				So if I went into this file,
[linuxcnc.git] / src / emc / usr_intf / gscreen / keybindings.py
and modified
45 self.Up = 'YPOS'
46 self.Down = 'YNEG'
47 self.Left = 'XPOS'
48 self.Right = 'XNEG'
to something along the lines of
45 self.Up = 'cursor up'
Would that change the outcome and make the cursor move up, down, left, and right?
Or am I out in left field? ( left field in a different ball diamond probably)
Rick
					[linuxcnc.git] / src / emc / usr_intf / gscreen / keybindings.py
and modified
45 self.Up = 'YPOS'
46 self.Down = 'YNEG'
47 self.Left = 'XPOS'
48 self.Right = 'XNEG'
to something along the lines of
45 self.Up = 'cursor up'
Would that change the outcome and make the cursor move up, down, left, and right?
Or am I out in left field? ( left field in a different ball diamond probably)
Rick
Please Log in or Create an account to join the conversation.
- cmorley
- Away
- Moderator
- 
				  
		Less
		More
		
			
	
		- Posts: 7230
- Thank you received: 2106
			
	
						14 Feb 2014 12:32				#43842
		by cmorley
	
	
		
			
				
No.
The self.Up = "YPOS" sets 'Up' (that's the key - the cursor up key) to a binding called YPOS and YPOS calls 'on_keycall_YPOS'
which is a function to move the Y axis in the positive direction.
It's not clear to me what you are trying to do. You want to move a cursor with the cursor keys ? Do you mean the mouse pointer?
Chris M
					
	
			
			 		
													
	
				Replied by cmorley on topic Gscreen - a GTK / Glade / Python based screen			
			So if I went into this file,
[linuxcnc.git] / src / emc / usr_intf / gscreen / keybindings.py
and modified
45 self.Up = 'YPOS'
46 self.Down = 'YNEG'
47 self.Left = 'XPOS'
48 self.Right = 'XNEG'
to something along the lines of
45 self.Up = 'cursor up'
Would that change the outcome and make the cursor move up, down, left, and right?
Or am I out in left field? ( left field in a different ball diamond probably)
Rick
No.
The self.Up = "YPOS" sets 'Up' (that's the key - the cursor up key) to a binding called YPOS and YPOS calls 'on_keycall_YPOS'
which is a function to move the Y axis in the positive direction.
It's not clear to me what you are trying to do. You want to move a cursor with the cursor keys ? Do you mean the mouse pointer?
Chris M
Please Log in or Create an account to join the conversation.
- cmorley
- Away
- Moderator
- 
				  
		Less
		More
		
			
	
		- Posts: 7230
- Thank you received: 2106
			
	
						14 Feb 2014 12:47		 -  14 Feb 2014 12:48		#43844
		by cmorley
	
	
		
			
	
	
			 		
													
	
				Replied by cmorley on topic Gscreen - a GTK / Glade / Python based screen			
			
				Sorry I missed the posts above your question.
Andy is right keyboard jogging is stealing the cursor keys.
in Gscreen look for
Remove the 'True' after the 'return' (all of them) and test.
Do you use any of the keyboard controls?
Chris M
					Andy is right keyboard jogging is stealing the cursor keys.
in Gscreen look for
def on_key_event(self,widget, event,state):
        CNTRL = SHIFT = ALT = 0
        keyname = gtk.gdk.keyval_name(event.keyval)
        print("Key %s (%d) was pressed state: %d last: %s" % (keyname, event.keyval,state, self.data.key_event_last))
        if event.state & gtk.gdk.CONTROL_MASK:
            CNTRL = 1
            self.verbosely_print("Control was being held down")
        if event.state & gtk.gdk.MOD1_MASK:
            ALT = 1
            self.verbosely_print("Alt was being held down")
        if event.state & gtk.gdk.SHIFT_MASK:
            SHIFT = 1
            self.verbosely_print("Shift was being held down")
        if keyname in( "Shift_L","Shift_R"): return True # ignore shift key press
        if self.data.key_event_last[0] == keyname and self.data.key_event_last[1] == state : return True
        self.data.key_event_last = keyname,state
        try:
            method = self.keylookup.convert(keyname)
            if method:
                try:
                    self.handler_instance[method](state,SHIFT,CNTRL,ALT)
                    return True
                except:
                    self[method](state,SHIFT,CNTRL,ALT) 
                    return True                             
        except:
            self.show_try_errors()Remove the 'True' after the 'return' (all of them) and test.
Do you use any of the keyboard controls?
Chris M
		Last edit: 14 Feb 2014 12:48  by cmorley.			
			Please Log in or Create an account to join the conversation.
- LAIR82
- Offline
- Elite Member
- 
				  
		Less
		More
		
			
	
		- Posts: 197
- Thank you received: 3
			
	
						14 Feb 2014 20:41				#43854
		by LAIR82
	
	
		
			
	
			
			 		
													
	
				Replied by LAIR82 on topic Gscreen - a GTK / Glade / Python based screen			
			
				Since I use a RIP config, do I need to re-compile after I make those changes? I found that section, made the changes and had no effect.
We don't really use the keyboard for anything other than program editing and changing tool "wear" offsets, lots and lots of tool "wear" offset changes.
But, now that I'm in this deep with it, and have seen these internals, if I change the labeling around for those arrow keys in relation to which axis they jog, in the keybindings.py file will it change which axis jogs? Reason I ask is, I have told the operators of the lathes that the keyboard jog doesn't correlate like it should with the z axis using pg up and pg dwn.
Its always something with me,
Thanks
Rick
					We don't really use the keyboard for anything other than program editing and changing tool "wear" offsets, lots and lots of tool "wear" offset changes.
But, now that I'm in this deep with it, and have seen these internals, if I change the labeling around for those arrow keys in relation to which axis they jog, in the keybindings.py file will it change which axis jogs? Reason I ask is, I have told the operators of the lathes that the keyboard jog doesn't correlate like it should with the z axis using pg up and pg dwn.
Its always something with me,
Thanks
Rick
Please Log in or Create an account to join the conversation.
- andypugh
- 
				  
- Offline
- Moderator
- 
				  
		Less
		More
		
			
	
		- Posts: 19677
- Thank you received: 4554
			
	
						14 Feb 2014 20:50				#43856
		by andypugh
	
	
		
			
				
However, you have to make sure that you edited the correct file, you probably have an installed file in /usr/ and a rip file in ~/linuxcnc-dev/
					
	
	
			 		
													
	
				Replied by andypugh on topic Gscreen - a GTK / Glade / Python based screen			
			No, as Python is interpreted not compiled.Since I use a RIP config, do I need to re-compile after I make those changes?
However, you have to make sure that you edited the correct file, you probably have an installed file in /usr/ and a rip file in ~/linuxcnc-dev/
		The following user(s) said Thank You: LAIR82 	
			Please Log in or Create an account to join the conversation.
- LAIR82
- Offline
- Elite Member
- 
				  
		Less
		More
		
			
	
		- Posts: 197
- Thank you received: 3
			
	
						14 Feb 2014 21:04				#43860
		by LAIR82
	
	
		
			
	
			
			 		
													
	
				Replied by LAIR82 on topic Gscreen - a GTK / Glade / Python based screen			
			
				I made the changes to files in the linuxcnc-dev folder.
I will try again and see if maybe I goofed up somewhere,
Do I need to open the file thru the terminal window using sudo?
Rick
					I will try again and see if maybe I goofed up somewhere,
Do I need to open the file thru the terminal window using sudo?
Rick
Please Log in or Create an account to join the conversation.
- cmorley
- Away
- Moderator
- 
				  
		Less
		More
		
			
	
		- Posts: 7230
- Thank you received: 2106
			
	
						15 Feb 2014 00:46				#43864
		by cmorley
	
	
		
			
	
	
			 		
													
	
				Replied by cmorley on topic Gscreen - a GTK / Glade / Python based screen			
			
				You need to re make so the file is copied over to usr/bin.
Yes changing those entries around will change the key binding.
Please let me know how they want it for a lathe and I'll fix it properly layer.
					Yes changing those entries around will change the key binding.
Please let me know how they want it for a lathe and I'll fix it properly layer.
		The following user(s) said Thank You: LAIR82 	
			Please Log in or Create an account to join the conversation.
- LAIR82
- Offline
- Elite Member
- 
				  
		Less
		More
		
			
	
		- Posts: 197
- Thank you received: 3
			
	
						15 Feb 2014 02:28				#43867
		by LAIR82
	
	
		
			
	
			
			 		
													
	
				Replied by LAIR82 on topic Gscreen - a GTK / Glade / Python based screen			
			
				Works like a champ now in edit mode, Thank You
I have it set now as follows to correlate with a back tool slant bed lathe.
arrow left: Z negative
arrow right: Z positive
arrow up: X positive
arrow down: X negative
Thank You guys again for all of the help
Rick
					I have it set now as follows to correlate with a back tool slant bed lathe.
arrow left: Z negative
arrow right: Z positive
arrow up: X positive
arrow down: X negative
Thank You guys again for all of the help
Rick
Please Log in or Create an account to join the conversation.
- cmorley
- Away
- Moderator
- 
				  
		Less
		More
		
			
	
		- Posts: 7230
- Thank you received: 2106
			
	
						21 Feb 2014 14:54				#44033
		by cmorley
	
	
		
			
	
			
			 		
													
	
				Replied by cmorley on topic Gscreen - a GTK / Glade / Python based screen			
			
				Just a heads up - I pushed code to have Gscreen check the preference file for key binding info.
By editing the preference file on can change the the bindings of the default key calls to any other key.
jogging, increments, power and estop are defined.
Not as handy as on screen selection but I'm pressed for time right now.
Lair82: If you update linuxcnc again this is the way to reset your keybindings. The last hack i had you use won't work after that.
You'll recognize the names and they are under the heading [KEYCODES]
They are case sensitive - type them exactly.
Chris M
					By editing the preference file on can change the the bindings of the default key calls to any other key.
jogging, increments, power and estop are defined.
Not as handy as on screen selection but I'm pressed for time right now.
Lair82: If you update linuxcnc again this is the way to reset your keybindings. The last hack i had you use won't work after that.
You'll recognize the names and they are under the heading [KEYCODES]
They are case sensitive - type them exactly.
Chris M
Please Log in or Create an account to join the conversation.
		Time to create page: 0.178 seconds	
