diff --git a/scripts/.flake8 b/scripts/.flake8
index de75a936c7acec77595ab58ce170803ae7205cd2..f6c974480c4192afdbffa9c58c1b72a51d49339e 100644
--- a/scripts/.flake8
+++ b/scripts/.flake8
@@ -2,4 +2,4 @@
 ; ignorerer sjekk for lange linjer, ettersom dette gjøres i pylint
 ; vi vil tillate lange linjer som avsluttes med link, og dette er mulig i
 ; pylint, men såvidt vi vet ikke mulig i flake8
-ignore = E501
+ignore = E501,W503
diff --git a/soitool/modules/module_table.py b/soitool/modules/module_table.py
index e9d06a7502c15d4d859c0173eb39ccc7de5dd481..29adbce0881c19645afa7c8e0435eefc6748a197 100644
--- a/soitool/modules/module_table.py
+++ b/soitool/modules/module_table.py
@@ -1,5 +1,5 @@
 """Module containing subclassed SOIModule (QTableWidget, ModuleBase)."""
-from PySide2.QtWidgets import QTableWidget, QTableWidgetItem, QShortcut
+from PySide2.QtWidgets import QTableWidget, QTableWidgetItem
 from PySide2 import QtGui, QtCore
 from soitool.modules.module_base import ModuleBase
 
@@ -28,7 +28,13 @@ class TableModule(ModuleBase, QTableWidget, metaclass=Meta):
     """
 
     def set_pos(self, pos):
-        """Set position of widget."""
+        """Set position of widget.
+
+        Parameters
+        ----------
+        pos : QPoint
+            Position (x, y).
+        """
         self.move(pos)
 
     def __init__(self):
@@ -58,7 +64,31 @@ class TableModule(ModuleBase, QTableWidget, metaclass=Meta):
 
         self.cellChanged.connect(self.resize)
 
-        self.set_shortcuts()
+    def keyPressEvent(self, event):
+        """Launch actions when specific combinations of keys are pressed.
+
+        If the keys pressed are not related to a shortcut on this custom widget
+        the event is sent on to be handled by the superclass (for navigation
+        with arrow-keys for.eg.)
+
+        Parameters
+        ----------
+        event : QKeyEvent
+            event sent by Qt for us to handle
+        """
+        if event.key() == QtCore.Qt.Key_Question:
+            self.add_column()
+        elif (event.modifiers() == QtCore.Qt.ShiftModifier
+              and event.key() == QtCore.Qt.Key_Underscore):
+            self.remove_column()
+        elif (event.modifiers() == QtCore.Qt.ControlModifier
+              and event.key() == QtCore.Qt.Key_Plus):
+            self.add_row()
+        elif (event.modifiers() == QtCore.Qt.ControlModifier
+              and event.key() == QtCore.Qt.Key_Underscore):
+            self.remove_row()
+        else:
+            super(TableModule, self).keyPressEvent(event)
 
     def set_header_item(self, column, text):
         """Insert item with header-style.
@@ -77,20 +107,6 @@ class TableModule(ModuleBase, QTableWidget, metaclass=Meta):
         item.setFont(HEADER_FONT)
         self.setItem(0, column, item)
 
-    def set_shortcuts(self):
-        """Set shortcuts for adding and removing rows and columns."""
-        # Create shortcuts
-        shortcut_add_col = QShortcut(QtGui.QKeySequence("Shift++"), self)
-        shortcut_rem_col = QShortcut(QtGui.QKeySequence("Shift+-"), self)
-        shortcut_add_row = QShortcut(QtGui.QKeySequence("Ctrl++"), self)
-        shortcut_rem_row = QShortcut(QtGui.QKeySequence("Ctrl+-"), self)
-
-        # Connect shortcuts to functions
-        shortcut_add_col.activated.connect(self.add_column)
-        shortcut_rem_col.activated.connect(self.remove_column)
-        shortcut_add_row.activated.connect(self.add_row)
-        shortcut_rem_row.activated.connect(self.remove_row)
-
     def add_column(self):
         """Add column to the right of selected column."""
         self.insertColumn(self.currentColumn() + 1)