# Can the full features of Blender be used with a trackpad?

I'm not interested recommendations for the best hardware, but whether Blender's full functionality-- all that zooming and selecting stuff-- can be realized with only a trackpad.

• Short answer, yes, but it gets quite cumbersome. Best to invest in a mouse and use the emulation settings available. – iKlsR Aug 9 '13 at 16:01
• I work with a trackpad all the time, but I am getting a mouse soon because it is definitely easier to use. – JakeD Oct 16 '16 at 20:32

You can use it to an extent, but from experience, it quickly becomes quite cumbersome. You tend to lose a lot of precision as the space to move in is a bit cramped and overall it is not worth taking the time to get adjusted to and or customizing it to work better.

For example: To zoom, I have to swipe the edge of the trackpad, this quickly gets annoying and it often passes the point where I want to stop.

I highly recommend investing in a mouse instead and using the Emulate 3 Button Mouse option in the user preferences.

Related:

• I think you are incorrect regarding zooming. Zooming is performed using pinching. – Jonny Aug 22 '14 at 6:57
• @Jonny I was using an example, on my laptop, I have to swipe the trackpad. – iKlsR Aug 22 '14 at 15:20
• Just saying that I am using pinching all the time in Blender on my Mac. It's possible that older OSes and Macs don't support the gesture. – Jonny Aug 25 '14 at 0:57
• What does the emulate 3 button mouse do? – Anson Savage May 1 '15 at 14:42
• @AnsonSavage It lets alt + LMB act like the MMB (left and middle mouse buttons). – JakeD Oct 16 '16 at 20:18

On modern Mac OS X, it seems you can:

• Two-finger vertical scroll to rotate along horizontal axis perpendicular to view
• Two-finger "spin" to rotate around up axis or Two-finger horizontal scroll to rotate around up axis
• Two-finger pinch to zoom
• or CTRL + two-finger vertical/horizontal scroll to zoom
• SHIFT + two-finger vertical scroll to pan along up axis
• SHIFT + two-finger vertical scroll to pan along horizontal axis perpendicular to view
• RIGHT click and drag to translate selected object
• CTRL click and drag to lasso select
• This is now (as of 2015) the best answer. Tested in blender 2.74 and works like a charm. Wish I had had this years ago. @Alec is there also a good mapping now for what was the numpad functions? – Paul Ryan Jun 23 '15 at 15:10

Just wanted to add to @Alec's answer that there is a checkbox for "Natural Trackpad Direction". You can find this in the preferences panel, inside the Input tab. This option seems to invert the direction in which the rotation happens when you do a two-finger scroll.

It seems to be off by default, but to me it made more sense with it on. It feels more consistent with the way the mouse rotates.

• Wish I had seen this earlier. Spent way too much time figuring out how to do this. – Doug Nov 1 '18 at 3:12

Simplest solution I've found so far (and I've done this on Windows too) is User Preferences > Input > 3D View > Rotate View and Move view. Remap the "Center Mouse" to ~ (tilde) and ⇧ Shift~ respectively.

In addition to @alec Karabiner Elements can be useful to access the numpad. Here is part of my preferences.json file which causes fn+1..0 to send 1..0 from the numpad so views can be selected in Blender without a physical numpad or always using the menus:

            "simple_modifications": [
{
"from": {
"key_code": "1",
"modifiers": {
"mandatory": [
"fn"
]
}
},
"to": {
}
},
{
"from": {
"key_code": "2",
"modifiers": {
"mandatory": [
"fn"
]
}
},
"to": {
}
},
{
"from": {
"key_code": "3",
"modifiers": {
"mandatory": [
"fn"
]
}
},
"to": {
}
},
{
"from": {
"key_code": "4",
"modifiers": {
"mandatory": [
"fn"
]
}
},
"to": {
}
},
{
"from": {
"key_code": "5",
"modifiers": {
"mandatory": [
"fn"
]
}
},
"to": {
}
},
{
"from": {
"key_code": "6",
"modifiers": {
"mandatory": [
"fn"
]
}
},
"to": {
}
},
{
"from": {
"key_code": "7",
"modifiers": {
"mandatory": [
"fn"
]
}
},
"to": {
}
},
{
"from": {
"key_code": "8",
"modifiers": {
"mandatory": [
"fn"
]
}
},
"to": {
}
},
{
"from": {
"key_code": "9",
"modifiers": {
"mandatory": [
"fn"
]
}
},
"to": {
}
},
{
"from": {
"key_code": "0",
"modifiers": {
"mandatory": [
"fn"
]
}
},
"to": {