A control interface and adjustment mechanism for an endoscope or exoscope, comprising: at least one button (10a, 10b, 10c, 10d) comprising: a touch surface; and a magnet disposed adjacent to the touch surface; an inertial measurement unit, including: a magnetometer detecting ambient magnetic fields, a gyroscope, and at at least one accelerometer; and a control processor connected to the inertial measurement unit, receiving signals from the magnetometer, and orientation signals from the gyroscope, and wherein the orientation signals are corrected based on the ambient magnetic fields detected by the magnetometer, and wherein the control processor is connected to at least one peripheral component and controls the at least one peripheral component, wherein the control processor filters received first field information from the magnetometer to determine if the received first field information matches a specific stored button vector of at least one button vector stored in memory, and wherein if the received first field information matches the specific stored button vector, the at least one peripheral component is controlled based on the first field information received by the control processor, wherein the magnet of the at least one button (10a, 10b, 10c, 10d) is depressed when the touch surface is pressed by a user, the magnet being depressed such that the magnetometer detects a magnetic field shift as part of the first field information, and wherein, if the first field information does not match the specific stored button vector, the first field information is ignored or interpreted as movement of the endoscope or exoscope. at least one button (10a, 10b, 10c, 10d) comprising: a touch surface; and a magnet disposed adjacent to the touch surface; a touch surface; and a magnet disposed adjacent to the touch surface; an inertial measurement unit, including: a magnetometer detecting ambient magnetic fields, a gyroscope, and at at least one accelerometer; and a control processor connected to the inertial measurement unit, receiving signals from the magnetometer, and orientation signals from the gyroscope, and wherein the orientation signals are corrected based on the ambient magnetic fields detected by the magnetometer, and wherein the control processor is connected to at least one peripheral component and controls the at least one peripheral component, a magnetometer detecting ambient magnetic fields, a gyroscope, and at at least one accelerometer; and a control processor connected to the inertial measurement unit, receiving signals from the magnetometer, and orientation signals from the gyroscope, and wherein the orientation signals are corrected based on the ambient magnetic fields detected by the magnetometer, and wherein the control processor is connected to at least one peripheral component and controls the at least one peripheral component, wherein the control processor filters received first field information from the magnetometer to determine if the received first field information matches a specific stored button vector of at least one button vector stored in memory, and wherein if the received first field information matches the specific stored button vector, the at least one peripheral component is controlled based on the first field information received by the control processor, wherein the magnet of the at least one button (10a, 10b, 10c, 10d) is depressed when the touch surface is pressed by a user, the magnet being depressed such that the magnetometer detects a magnetic field shift as part of the first field information, and wherein, if the first field information does not match the specific stored button vector, the first field information is ignored or interpreted as movement of the endoscope or exoscope.