Request panning via keyboard

First of all I’m really impressed with KiCAD. It seems to be a very nice and capable software package. Thank you to all who develop it!

I did board layout with PADS some years ago. PADS had a navigation system that I became quite fond of. PADS had the following keyboard mappings:

Keypad (0) PADS Function
Keypad (0) Pan towards cursor
Keypad (1) Redraw
Keypad (2) Pan workspace down
Keypad (3) Zoom out at cursor
Keypad (4) Pan workspace left
Keypad (5) Starts zoom from center (NumLock only)
Keypad (6) Pan workspace right
Keypad (7) Zoom to board
Keypad (8) Pan workspace up
Keypad (9) Zoom in at cursor
Keypad (.) Starts zoom from corner (Zoom mode only)

I used this system as follows: I would use 7 and 9 the most… To navigate around the screen I would generally hit 7 once and then repeatedly hit 9 to zoom in (towards the mouse cursor) to the location/size I wanted. Occasionally panning would be done via 2, 4, 6, and 8 when shorter distance travel was needed. Navigating the screen was very fast.

In KiCAD by unchecking “Center and warp cursor on zoom” and reassigning keys as follows:

Keypad KiCAD Function
key 9 Zoom in
key 3 Zoom out
key 1 Zoom Redraw
key 5 Zoom Center
key 7 Fit on Screen

I came close to the familiar navigation style of my past. My request is for a way to assign panning to the keyboard. As of now I believe the only ways to pan are as follows:

crtl + mouse scroll wheel (left and right panning)
shift + mouse scroll wheel (up and down panning)
click mouse scroll wheel and drag
manually move scroll bars
zoom out with mouse wheel and zoom in at another location

The thing that all of these methods have in common is they require the mouse in some fashion. It would be really convenient to be able to decouple panning from the mouse and use some keys (i.e. numpad 2, 4, 8, and 6). I find this particularly nice when moving parts/items around. The mouse is used to move the part and the left hand does the navigation via the numpad. This separates the functions the two hands are doing instead of having the mouse hand do both.

A couple other minor items:

  1. It would be nice to be able to assign hotkeys to numpad keys separate from the regular numbers keys. i.e. numpad 3 could be different than normal 3. I think the software can distinguish between these keys or maybe use the numlock etc. Similiar to ctrl+C is different from just C.
  2. When performing a fit on screen action when “Center and warp cursor on zoom” is unchecked the mouse does not move to the center however the cross hairs do (BUG). Its mainly a visual annoyance because as soon as the mouse moves the cross hairs move back to the mouse.

You can pan using Shift+arrow keys, I use this quite a lot.

1 Like

KiCads warp and zoom feature is different enough that many first time users gripe about it. However, it really does work very well once a user gets familiar with it.

The only problem is that it really does work very well. It does not take long to get aggravated that other programs can not be made to work the same way.

1 Like

This function is already mapped to the Home key, which is conveniently keypad 7 when numlock is off. Other key mappings that already exist on the numeric keypad with numlock off (hopefully your keyboard already shows these):

  • 2,4,6,8 are arrow keys. These move your cursor around, and in Pcbnew when held with shift will pan the display. (At least on v5.0.2, I’m at work so I don’t have access to my computer at home that has a recent nightly so I don’t know if the panning has been added to Eeschema yet.)
  • 7 is Home (as mentioned above). This works in both Eeschema and Pcbnew.
  • 9 is Page Up. Makes F.Cu active layer (even on multiple layer boards) in Pcbnew. Does nothing in Eeschema 5.0.2.
  • 3 is Page Down. Maked B.Cu active layer in Pcbnew. Does nothing in Eeschema 5.0.2.
  • 1 is End. Opens properties dialog. This can get confusing in Pcbnew. If nothing is selected then the item under the cursor is selected and the properties is opened (and stays selected when the properties window is closed). If something is currently selected that item’s properties will open irregardless of what is under the cursor.
  • 0 is Insert. I can’t determine if this does anything yet.
  • . (decimal point) is Delete. Does the same as the regular delete button, deleting what is under the cursor or (in Pcbnew) selected.

Thanks I didn’t know about that one. I might be able to remap those with a special keyboard I have. Or may kicad could add that to the remappable list?

So I just tried the shift + arrow keys and apparently it only works in the pcbnew. It does nothing in eeschema.

Reported as a bug: https://bugs.launchpad.net/kicad/+bug/1819249

I understand the reasoning behind it, but in some places it is just too jarring for me. I think it depends on the circumstances. For example for zoom center I do not mind that the cursor warping to the center of the screen. The zoom center operation typically changes the whole screen location and you have to reorient yourself and in this circumstance the reposition of the cursor is just part of that reorientation. However cursor warp on zoom in/out annoys me to no end. I am so thankful it can be disabled.

When, an year ago, I first installed KiCad I was suprised with this behaviour (if I well understand the word “warp”). I have never seen it before, but in few minutes I found it beaing genius. You point interesting place you wont to work (even near the screen corner) an little move of mouse wheel and you have it centered. I like to have the place I am working on centered.
I found myself using only the mouse wheel to do any positioning tasks in KiCad, but I didn’t worked a lot with KiCad. May be in future I will use some keys to move around but now don’t see any need for it.

using arrow keys would require me letting go of the most important key. For me this is “e” as it does most of the tasks i need to do. (it always opens the properties dialog of whatever is below the mouse.)
other often used keys are x and v which are also on the left side of the keyboard.

Maybe moving pan to wsad would be an option. (so like a computer game.)

The key is have those keys on the list so they can be mapped. The way people prefer to do tasks varies from person to person. I doubt you’d find 2 people that have a system configured the same. So long as the keys can be mapped then we can all configure it how we prefer.

Part of what I could use is a definition of terms…for many…such as warp. I notice the discussion above centers on pan but nothing about scroll…isn’t that a question of horizontal versus vertical and why would one be more important than the other?

I wonder whether this forum could include more of a Wikipedia sort of (almost open) help document, with the benefit of quick and easy updates and the caveat that errors are possible?

For one I am a little bit stuck on scroll (or pan) because I use a marble mouse. (Center ball trackball.) I find that the vertical scrollbar in KiCad is too fast and the scroll buttons do not seem to work at all. I think that making the scroll buttons work would be a big help. Hotkeys are good for what I use all the time but I can only remember a few of them.

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.