| ▲ | uhoh-itsmaciek 7 hours ago |
| In text boxes in some applications, enter submits the entered text, and ctrl-enter forces a newline (not at my computer, but I think Slack does this). In others, it's the other way around (pretty sure GitHub does this for comments). I don't know how we got here and I don't know how to fix it, but "bring back idiomatic design" doesn't help when we don't have enough idioms. I'm not even sure if those two behaviors are wrong to be inconsistent: you're probably more likely to want fancier formatting in a PR review comment than a chat message. But as a user, it's frustrating to have to keep track of which is which. |
|
| ▲ | layer8 6 hours ago | parent | next [-] |
| Decades ago, Return and Enter were two different keys for that reason: Return to insert a line break, Enter to submit your input. Given the reduction to a single key, the traditional GUI rule is that Enter in a multiline/multi-paragraph input doesn’t submit like it does in other contexts, but inserts a line break (or paragraph break), while Ctrl+Enter submits. Chat apps, where single-paragraph content is the typical case, tend to reverse this. Good apps make this configurable. |
| |
| ▲ | jeberle 5 hours ago | parent | next [-] | | Before that, page-mode terminals used <Return> to move to first field on a subsequent line (like a line-based <Tab>) and sent the page only on <Enter> or <Fn-key>. This made for quick navigation w/ zero ambiguity. | |
| ▲ | cratermoon 5 hours ago | parent | prev | next [-] | | don't get me started on backspace vs delete... | | |
| ▲ | PaulDavisThe1st 2 hours ago | parent | next [-] | | not just that ... plenty of web apps (and maybe desktop native ones too, though I don't notice it as much there) use "smart-delete" - if the cursor has a character after it, the delete key deletes it, but if not, it operates like backspace (which ought to be labelled "delete prev"). | |
| ▲ | m463 4 hours ago | parent | prev [-] | | ^H^H^H^H^?^?^? | | |
| |
| ▲ | irishcoffee 5 hours ago | parent | prev [-] | | Carriage return and line feed go way back. Tty stands for teletype. A computer was the job description of a person. It’s turtles all the way down. |
|
|
| ▲ | AgentEpsilon 6 hours ago | parent | prev | next [-] |
| Teams does both - normally it’s Enter to submit and Shift+Enter for a new line, but when you open the formatting tools it switches. They at least do have a message indicating which key combo inputs a new line, but it still gets me on occasion. |
| |
| ▲ | jimbokun 10 minutes ago | parent | next [-] | | I have a very mild jolt of anxiety every time I want to enter a new line in Teams or Slack, wondering if it will send a half completed message I will need to edit after the recipient has seen the half completed message, or it will enter a new line like I want it to. The behavior also changes if you start editing a numbered or unordered list. Maybe that enters the "formatting tools" mode you mention? | |
| ▲ | darrylb42 6 hours ago | parent | prev | next [-] | | Slack is similar Shift enter in normal text. Enter in a code block, shift enter sends in a code block. | |
| ▲ | andrepd 5 hours ago | parent | prev [-] | | The Signal desktop app does both too, I guess, but in a way that actually makes sense. Enter sends a message since IMs tend to be short one-liners. Shift-Enter inserts a line break. But if you click an arrow on the top of the text box, it expands to more than half of the height of the window, and now Enter does a line break and Shift-Enter sends. Which makes a lot of sense because now you're in "message composer" / "word processor" mode. |
|
|
| ▲ | physicles 6 hours ago | parent | prev | next [-] |
| In Slack it can get even worse. If you turn on Markdown formatting, shift+enter adds a new line, unless you’re in a multi-line code block started with three backticks, and then enter adds a new line and shift+enter sends the message. I can see why someone thought this was a good idea, but it’s just not. |
| |
|
| ▲ | cstrahan 40 minutes ago | parent | prev | next [-] |
| Slack requires shift+enter to create a new-line, while in JIRA shift+enter creates a new-line instead of new paragraph, creates all sorts of confusing layout issues, and because the difference is invisible, it's hard to to figure out where/when you've made this mistake of using shift+enter instead of just enter. Nearly drove me insane, until I developed separate muscle memory between the two apps/sites. |
|
| ▲ | yoz-y 44 minutes ago | parent | prev | next [-] |
| Today I’m thoroughly confident that if I sit in front of an AI chatbot/TUI/whatever. I will invariably fail at knowing which key combo sends the input and which enters a new line. It’s maddening. I don’t understand why we ever let plain Enter send a prompt out. |
|
| ▲ | Nemi 7 hours ago | parent | prev | next [-] |
| Thats funny because I thought it was shift-enter that creates a newline in a field where an enter submits. Just shows the fractured nature of this whole thing. |
| |
| ▲ | Izkata 3 hours ago | parent | next [-] | | I've found Shift+Enter to do this pretty reliably across systems whatever they've chosen Enter / Ctrl+Enter to do. It even works inside bullet points to add separate lines as part of the same bullet. | |
| ▲ | lytedev 6 hours ago | parent | prev | next [-] | | This is my thinking. Ctrl-Enter is usually "submit the form this input is a part of" in my experience, especially if you're in a multilinear text input (or textarea). | |
| ▲ | ryandrake 6 hours ago | parent | prev [-] | | I've seen Enter, Shift-Enter, Ctrl-Enter, and Alt-Enter, (and on macOS, Cmd-Enter and Option-Enter), depending on the application. Total circus. I think this is actually a weakness of the standard keyboard: Keyboards should at the very least separate "submit form / enter" from "newline / carriage return" with different physical keys, but good luck changing that one, given the strong legacy of combining these functions. |
|
|
| ▲ | numpad0 2 hours ago | parent | prev | next [-] |
| PSA: CJK input frameworks(IMEs) use both Space and Enter for doing Hanzi/Kanji. Naively rigging Enter in JS to send causes wrong homonyms and/or raw phonetic scripts to get sent. There are few ways to resolve this issue, of which the easiest is to just leave Enter to the operating system. |
|
| ▲ | the__alchemist an hour ago | parent | prev | next [-] |
| Sometimes it's shift enter too! I am having a hard time keeping this straight between applications. |
|
| ▲ | rightofcourse 7 hours ago | parent | prev | next [-] |
| For Slack at least you have the option to change that back to use Enter for new line (which is what I do), but other software is not that generous. I think Grafana introduced yet another way, Shift-Enter to submit, that I alway mix up. |
|
| ▲ | jmbwell 5 hours ago | parent | prev | next [-] |
| macOS is slightly more consistent among apps that use system controls, but the more custom the app, or the more React Native or Electron it is, the less predictable it is Infuriatingly, some apps try to be smart — only one line, return submits; more than one line, return is a new line, and command-return submits; but command-return on just one line beeps an error. Years of muscle memory are useless, so now I’m reaching for the mouse when I need to be clear about my intent So much is solved when developers just use the provided UI controls, so much well-studied and carefully implemented behavior comes for free |
| |
| ▲ | sheept an hour ago | parent [-] | | Using provided UI controls is consistent with how today's apps behave on mobile: - For single-line text fields, pressing enter is an alias for submitting the form.
- For multi-line text fields, pressing enter inserts a new line. There is no shortcut for submitting the form. In mobile chat apps, the enter key inserts a new line, so you have to press the non-keyboard submit button to send a message. In mobile browser address bars, since they are single-line text fields, the enter key becomes a submit button on the virtual keyboard. |
|
|
| ▲ | tomjen3 2 hours ago | parent | prev | next [-] |
| This one has bitten me plenty of times, but the solution is what slack does: write underneath what you are supposed to do. |
|
| ▲ | michaelmrose 6 hours ago | parent | prev | next [-] |
| Anything which supports multi-line input shouldn't submit on enter it should submit on button press so anyone can use it instantly without learning or remembering anything. Then make it easier for users to learn that they can enter more quickly with control+enter which you can advertise via tooltip or adjacent text. Better that 100% find it trivially usable even if only 75% learn they can do it faster |
| |
| ▲ | layer8 6 hours ago | parent [-] | | That isn’t workable for chat apps, at the very least on mobile. And that’s the most-used text entry interface that users nowadays grow up with. So I think you need to make an exception for such applications. | | |
| ▲ | debugnik 3 hours ago | parent [-] | | Mobile makes this much easier actually, send can be a different button on the UI than the newline button on the touch keyboard without having to teach this to users. That's exactly how my phone is currently configured at least. | | |
| ▲ | layer8 2 hours ago | parent [-] | | I don’t understand what difference you are seeing. On the desktop you would have a UI button as well, and likewise a key on the keyboard. The difference I’m referring to is that Ctrl+Enter is arguably acceptable on the desktop, but has no equivalent on touch keyboards on mobile. Regarding the UI button, the way many people chat they would consider it too much friction to have to tap a button above the keyboard for every send — more friction than Ctrl+Enter is on the desktop, | | |
| ▲ | debugnik 2 hours ago | parent [-] | | No one uses the UI button to send a message on the desktop though. Everyone just presses Return to send, which is the most common need, and then once in a while realise they need to enter a newline without sending, for which there isn't a button so they need to learn how. Mobile doesn't necessarily have this issue because it can show the send button and the newline button at the same time and they're equally accessible. Regarding your edit: > they would consider it too much friction to have to tap a button above the keyboard for every send My finger travels almost the same distance from the home row to hit the send button above the upper right corner of the keyboard as the newline button on the lower right. I've been doing this for ages. | | |
| ▲ | layer8 2 hours ago | parent [-] | | Actually, I do. Or at least I do in very similar situations where for some reason there is no keyboard shortcut to submit from the input field, so I press Tab (which moves the keyboard focus to the submit button next to the text field) and then press Return or Space to press the UI button. Regarding on mobile, I’m familiar with chat apps that require a UI button press to send, and consider it unnecessary friction. It’s a larger mental leap to have to leave the keyboard. | | |
| ▲ | debugnik 2 hours ago | parent [-] | | > It’s a larger mental leap to have to leave the keyboard. I find this interesting! I've never considered myself "leaving the keyboard" on the phone as if I were task switching. When I'm done typing I flow directly to the send button and let the keyboard go. The fact that the button is above the keyboard makes no difference to me as long as it stays accessible. |
|
|
|
|
|
|
|
| ▲ | carlosjobim 7 hours ago | parent | prev | next [-] |
| Apart from a chat interface, when should enter ever submit your text? |
| |
| ▲ | masswerk 27 minutes ago | parent | next [-] | | The new idiom: You are right, of course this is your account name! Do you want me to be keep you logged-in? > _ | |
| ▲ | JoshTriplett 3 hours ago | parent | prev | next [-] | | A single-line text box that has no possibility of multi-line text (so, not a chat interface), such as search, an address bar, something that's obviously "submit one item" (e.g. "submit a word"), etc. | |
| ▲ | binarymax 6 hours ago | parent | prev | next [-] | | In a multiline text box, enter should NOT submit the form. Chat interfaces violate this rule and it results in lots of premature chat submissions. | | | |
| ▲ | layer8 6 hours ago | parent | prev | next [-] | | In single-text-input contexts, like search fields and the browser address field, and things like Save As dialogs. It’s the general expectation for dialogs with an OK or default button, just like Escape cancels the dialog. | |
| ▲ | somehnguy 7 hours ago | parent | prev [-] | | A search box, I think |
|
|
| ▲ | ErigmolCt 4 hours ago | parent | prev [-] |
| [dead] |