diff --git a/briar-gtk/briar_gtk/containers/add_contact.py b/briar-gtk/briar_gtk/containers/add_contact.py
index 0609319911e6dd15dcef3777ee216ca8ae2bdb78..492850055d6ed020968a4f7907ff4fcd27325cf7 100644
--- a/briar-gtk/briar_gtk/containers/add_contact.py
+++ b/briar-gtk/briar_gtk/containers/add_contact.py
@@ -29,7 +29,7 @@ class AddContactContainer(Container):
 
         self._setup_add_contact_flow_stack()
         self._setup_add_contact_flow_headers()
-        self._setup_link_keystroke_listener()
+        self._setup_link_enter_listener()
 
     def _load_content(self):
         contacts = Contacts(APP().api)
@@ -46,15 +46,12 @@ class AddContactContainer(Container):
         add_contact_flow_headers.show_all()
         APP().window.set_titlebar(add_contact_flow_headers)
 
-    def _setup_link_keystroke_listener(self):
+    def _setup_link_enter_listener(self):
         their_link_entry = self.builder.get_object("their_link_entry")
-        their_link_entry.connect("key-press-event",
-                                 self._link_keystroke)
+        their_link_entry.connect("activate", self._on_link_enter)
 
     # pylint: disable=unused-argument
-    def _link_keystroke(self, widget, event):
-        if event.hardware_keycode != 36 and event.hardware_keycode != 104:
-            return
+    def _on_link_enter(self, widget):
         self.on_links_next_pressed(None)
 
     # pylint: disable=unused-argument
@@ -90,20 +87,18 @@ class AddContactContainer(Container):
         self.add_contact_flow_stack.set_visible_child(alias_page)
 
         self._focus_alias_entry()
-        self._setup_alias_keystroke_listener()
+        self._setup_alias_enter_listener()
 
     def _focus_alias_entry(self):
         alias_entry = self.builder.get_object("alias_entry")
         alias_entry.grab_focus()
 
-    def _setup_alias_keystroke_listener(self):
+    def _setup_alias_enter_listener(self):
         alias_entry = self.builder.get_object("alias_entry")
-        alias_entry.connect("key-press-event", self._alias_keystroke)
+        alias_entry.connect("activate", self._on_alias_enter)
 
     # pylint: disable=unused-argument
-    def _alias_keystroke(self, widget, event):
-        if event.hardware_keycode != 36 and event.hardware_keycode != 104:
-            return
+    def _on_alias_enter(self, widget):
         self.on_add_contact_pressed(None)
 
     # pylint: disable=unused-argument
diff --git a/briar-gtk/briar_gtk/containers/login.py b/briar-gtk/briar_gtk/containers/login.py
index ea35cb912a6a858e33960ff365824889f8a328e7..3d36f56fa5f9321b207a5a383ab791fbee52e4cd 100644
--- a/briar-gtk/briar_gtk/containers/login.py
+++ b/briar-gtk/briar_gtk/containers/login.py
@@ -25,7 +25,7 @@ class LoginContainer(Container):
 
         self._setup_login_flow_stack()
         self._setup_login_flow_headers()
-        self._setup_keystroke_listener()
+        self._setup_enter_listener()
 
     def _setup_login_flow_stack(self):
         self.login_flow_stack = self.builder.get_object(self.STACK_NAME)
@@ -37,15 +37,12 @@ class LoginContainer(Container):
         login_flow_headers.show_all()
         self._window.set_titlebar(login_flow_headers)
 
-    def _setup_keystroke_listener(self):
+    def _setup_enter_listener(self):
         password_entry = self.builder.get_object("password_entry")
-        password_entry.connect("key-press-event",
-                               self._password_keystroke)
+        password_entry.connect("activate", self._on_password_enter)
 
     # pylint: disable=unused-argument
-    def _password_keystroke(self, widget, event):
-        if event.hardware_keycode != 36 and event.hardware_keycode != 104:
-            return
+    def _on_password_enter(self, widget):
         self.on_login_pressed(None)
 
     # pylint: disable=unused-argument