Meta Stack Exchange is where users like you discuss bugs, features, and support issues that affect the software powering all 155 Stack Exchange communities.

What is meta?
Here's how it works:
  1. Any Stack Exchange user can ask a question
  2. The community provides support, votes on ideas, and reports bugs
  3. Your voice helps shape the way Stack Exchange operates

Please make the enter key send messages in mobile chat. It's how desktop chat works on SE and perhaps more importantly it's how mobile chat systems almost always work on iOS and Android.

Requiring people to tap Send instead is disorienting and annoying.

share|improve this question
3  
This worked way in the beginning; we disabled it because on small devices it's very easy to accidentally hit enter. – balpha Apr 7 '12 at 19:36
    
@balpha Any chance of revisiting that? Four years on, and we're seeing a lot of mobile devices with rather large screens (4.3" was large in 2012, now 5.5"+ is common). Is accidentally hitting enter still a significant issue? (It also wouldn't affect swipe-typing users.) – Bob Jan 18 at 3:07
    
How do we type line breaks then? – uɐɯsO uɐɥʇɐN Jan 18 at 5:55
    
@Bob Yeah, I talked to the Tavern about that recently, It may indeed make sense to revisit it. – balpha Jan 18 at 6:32
    
@uɐɯsO uɐɥʇɐN That's a good point. In that case, we might be stuck with the suboptimal behaviour (flickering keyboard in a browser, unlike other dedicated messenger apps). An alternative would be something like what gitter.im does in its desktop mode: have a toggle button for multiline messages - because, really, how often do you type multiline messages, especially on mobile? End of the day, it does end up being more complex to implement - but nicer to use. (while we're at it, how do we type your name?!) – Bob Jan 18 at 6:41
1  
@Bob Regarding your last question -- even though it's not quite obvious, his name begins with a plain ol' lowercase "u". So if you type @u, the autocomplete will list him. If the first letter were anything more crazy, you'd have him pop up in the autocomplete as soon as you type the @. – balpha Jan 18 at 7:36
    
@balpha Huh, that's pretty cool. I think I subconsciously noticed those names being easily found, but didn't know it was an intentional feature. (And, yea, should've tried u first.) – Bob Jan 18 at 9:41

If you can run JS (bookmarklet?), then you can add the enter event handler yourself:

$("#input").keydown(function(e) {
    if (!e.shiftKey && ((e.key || e.keyIdentifier) === 'Enter' || e.keyCode === 13)) {
        $("#sayit-button").click();
        e.preventDefault();
    }
});

Unfortunately, I can't think of a way (that isn't XSS, which gets blocked by most browsers) to do this so it works without manually executing JS.

Here's a userscript version for anyone wanting this on a desktop browser (perhaps you want a small window; I do that) or Firefox Mobile (usi):

// ==UserScript==
// @name          SEMobileChatEnter
// @namespace     http://vulpin.com/
// @description   Makes the enter key work properly on mobile chat
// @match         *://chat.stackexchange.com/*
// @match         *://chat.stackoverflow.com/*
// @version       1.0.1
// @grant         none
// ==/UserScript==

(function() {
var Program = {
    main: function() {
        window.removeEventListener('load', mainEventListener, false);

        // only activate on mobile chat
        if (!$('body.mob').length) {
            return;
        }

        $('#input').keydown(function(e) {
            if (!e.shiftKey && ((e.key || e.keyIdentifier) === 'Enter' || e.keyCode === 13)) {
                $('#sayit-button').click();
                e.preventDefault();
            }
        });
    }
};

var mainEventListener = Program.main.bind(Program);

window.addEventListener('load', mainEventListener, false);
})();
share|improve this answer
1  
Perhaps proxy chat pages, which would allow JS injection on the proxy server side... – Bob Feb 19 '13 at 1:23
1  
Uhm. Ok. I honestly don't see a reason for the downvote. If the script doesn't work, please tell me so I can fix it! – Bob May 22 '13 at 10:12

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .