Bitfocus AS
logo
logo
Bitfocus AS
logo
logo
Sign upSign in

Loading...

Bitfocus

Subscribe to our newsletter

The latest news, articles, and resources, sent to your inbox.

FacebookInstagramGitHubYouTubeLinkedIn

Products

  • Buttons
  • Companion

Integrations

  • Supported Devices
  • Developer Community
  • Connection Development

Support

  • Support Overview
  • Documentation
  • Video Tutorials
  • Community Forum

Sales

  • Resellers & Integrators
  • Buttons Pricing

Updates

  • Case Studies
  • Events & Trade Shows
  • Press Releases
  • Product Updates
  • Webinars

Legal

  • Legal Overview
  • Privacy Policy
  • Buttons EULA
  • Terms & Cookie Policy

Company

  • About us
  • Press kit
  • Careers

© 2026 Bitfocus AS. All rights reserved.

Device orientation
Docs for
Overview
Getting started
What is Bitfocus Buttons?
Install Buttons and get started
Manage your Buttons license
Activate Buttons offline
Find your way around Buttons
Create your first backup
Add an ATEM connection
Choose a control method
Choose an installation path
Install Buttons on Debian or Ubuntu
Understand HA clustering
Kubernetes HA
Update or remove Buttons
Positions
Understand positions
Create a position
Add controls and sections to a position
Create your first button
Use a connection's presets
Build more capable button actions
Add more feedback to a button
Organize controls in a section
Shift Section
Organize controls with a Folder Section
Add a Popover Section
Build and reuse a Shared Section
Build a Router Section
Understand Custom Routers
Custom Router panel
Surfaces
Surface compatibility
Add and attach a surface
Device orientation
Connections
Update a connection's module safely
Monitor and troubleshoot a connection
Router integrations
VideoHub and AJA KUMO
Utah Scientific BPS
Generic SW-P-08
Nevion VideoIPath
Arkona BLADE//runner
Routing
Physical routing
Configure ports and labels
Take a physical route
Understand route status
Topology graph
Routing Presets
Get started with virtual routing
Configure Nested Shapes
Reverse routing
Tielines
Routing Projects
Routing settings
Troubleshoot a route
Tally
Understand the Tally system
Send ATEM tally and labels to a UMD
Interpret Active Tally state
TSL/UMD connections
Diagnose tally problems
NMOS
Understand NMOS in Buttons
Connect Buttons to an NMOS Registry
Built-in Registry Server
Configure NMOS connections
Discover and adopt
Browse the NMOS inventory
Manage NMOS multicast addresses
Diagnose NMOS problems
Understand Cuelists
Build a Cuelist
Read and advance a running Cuelist
Control a Cuelist from a Position
Workflows
Understand workflows
Build your first workflow
Reuse a group of workflow nodes safely
Troubleshoot a workflow
Recipes
Sequence a timed automation
Call an HTTP endpoint from a workflow
REST endpoint
Use variables
Understand variable scope
Understand nested variables
Update expressions for v1.8
Plan and use Tags
Access
Create and manage users
Create roles and assign permissions
Grant access to specific resources
Show different controls by role
Sessions
Set up PIN and NFC sign-in
SSO
Get started with SSO
Connect a generic OIDC provider
Connect LDAP or Active Directory
Map identity claims to roles
Secure a Buttons deployment
Integrations
External control
Connect to Bitfocus Listener
USB Relay
Install USB Relay on Windows
Install USB Relay on macOS
Install USB Relay on Linux
Install USB Relay on a Raspberry Pi
Get started with the Control API
Secure and monitor the Control API
Control API reference
API reference
Administration
Enable and manage installable features
Services and health
Configure and monitor scheduled backups
Restore a backup and verify it
Export or import Buttons configuration
Store and rotate connection secrets
Replace the HTTPS certificate
HA backup and recovery
Settings
Collect support information
Reference
Glossary
Button Inspector reference
Network ports reference
Expressions
Internal actions reference
Routing Presets panel reference
Startup configuration reference
Workflow nodes
Connection workflow nodes
Workflow workflow nodes
Internal workflow nodes
Position workflow nodes
API workflow nodes
Utility workflow nodes

Loading...

Previous
← Add and attach a surface
Next
Connections →
Contact support →
You are viewing documentation for Buttons 1.8.See the docs for Buttons 1.6
Buttons/Surfaces/Device orientation

Device orientation

When a control panel needs to be mounted sideways, upside down, or at an angle, Device orientation (and, on a Stream Deck Studio, Viewing Angle) tells Buttons how it's actually mounted so button and encoder mapping (and on-screen icons) stay correct without you having to rebuild the layout.

Before you begin#

  • The surface already adopted and attached to a Position, see Add and attach a surface.
  • A sense of the physical mounting angle you're installing at.

Set device orientation#

  1. Open the surface's settings.
  2. Set Device orientation to match how the unit is physically mounted: Normal, Rotated clockwise, Upside-down, or Rotated counter clockwise.
This option isn't available for every surface type: it only appears for physical hardware and third-party devices, not for a Custom Web View or an iPad Mini browser surface, since those render in whatever orientation their browser window already has.
Buttons handles the remapping for you: rotating the device reassigns which physical button or encoder corresponds to which cell in the Position's grid, and rotates each key's rendered icon so it displays upright: you don't need to rebuild the layout or re-place any elements after changing this setting.

Set Viewing Angle (Stream Deck Studio only)#

A Stream Deck Studio's screen-based keys can also be tilted to counteract the angle it's physically mounted at. Set Viewing Angle using its slider, from -45 to 45 degrees.
Viewing Angle only applies when Device orientation is Normal or Upside-down: the slider is disabled for Rotated clockwise or Rotated counter clockwise, since a sideways mount doesn't use the same tilt correction.

Verify placement after mounting#

Buttons doesn't have a dedicated per-button or per-encoder verification mode: confirm placement is correct the direct way:
  1. Use Identify on the surface to confirm you're looking at the right physical unit, especially if several are mounted nearby.
  2. Press a button or turn an encoder in each corner of the panel and confirm each one triggers what you expect from that position in the Position's layout.
  3. If anything is mapped unexpectedly, double check Device orientation matches the unit's actual physical mounting rather than trying to fix it by rearranging elements in the Position: the layout itself doesn't need to change for rotation.

Know the limits#

Changing orientation automatically grows the Position's canvas if the rotated device no longer fits, but it doesn't shrink the canvas back down if you later rotate back to a smaller footprint, and it doesn't warn you if a new orientation would make this surface's footprint overlap another surface already placed on the same Position. If you rotate a device that shares a Position with others, double-check for overlap yourself afterward.

If you get stuck#

What you see
What to try
Pressing a button in a corner doesn't do what you expect.
Confirm Device orientation actually matches how the unit is physically mounted: the remapping is automatic once this is set correctly.
Device orientation doesn't appear in the surface's settings.
This setting isn't available for Custom Web View or iPad Mini surfaces: they follow their browser window's own orientation instead.
Viewing Angle is greyed out.
It only applies when orientation is Normal or Upside-down: it's disabled for the two sideways rotations.
The Position's canvas looks larger than expected after rotating a device back.
Canvas growth from a rotation is automatic, but it doesn't shrink back down afterward: resize the Position manually if you need to reclaim the space.
Two surfaces on the same Position now visually overlap after a rotation.
This isn't caught automatically: reposition one of the surfaces' assigned areas yourself.

Where to go next#

  • Add and attach a surface

Was this helpful?

Was this helpful?

0 of 0 users found this page helpful