Dlaczego `(backtick) pojawia się dopiero po naciśnięciu innego klawisza?

16

Na stronach Stackexchange często używam krzyżyka, który można uzyskać zwykle jako klawisz obok 1 (lewa strona), ale kiedy go naciskam po raz pierwszy, `nie pojawia się, dopóki nie nacisnę go ponownie (w tym momencie dostaję `` (2) lub jeśli naciskam inny klawisz, np. spację.

Czy jest to historyczny powód, czy to tylko moja klawiatura?

Toby Allen
źródło
4
Może to być układ klawiatury .
user1686
Uwaga: miałem problem na Androidzie z klawiaturą Samsung, w którym naciśnięcie klawisza Wstecz, a następnie spacji / strzałki w prawo na układzie klawiatury w stylu międzynarodowym w USA, 'MODIFIER LETTER GRAVE ACCENT' (U+02CB)który pokazuje się jako lewy, ale nie jest. Prawdopodobnie jest to błąd, ale zajęło mi trochę czasu, aby dowiedzieć się, dlaczego mój wbudowany kod nagle nie został już zrenderowany. Zmień układ na amerykański, tak mówię!
Maarten Bodewes

Odpowiedzi:

19

To jest twoja klawiatura lub używane oprogramowanie (nie widzimy tego stąd). Nie dotyczy to stron StackExchange.

Dzieje się tak, ponieważ oprogramowanie obsługuje inną funkcję: naciśnięcie apostrofu lub znaku strzałki w tył, a następnie innej litery (najczęściej samogłoski) to łatwy sposób na pisanie znaków diakrytycznych, takich jak éi è.

Ze względu na tę funkcję oprogramowanie nie może natychmiast wyświetlić apostrofu lub backsticka, musi poczekać na następny znak, aby ustalić, jaki jest twój zamiar. Dopiero gdy naciśniesz następny backtick, wie, że zamierzasz wprowadzić backtick.

Nie jest to samo w sobie złe: pamiętaj tylko, aby dwukrotnie wpisać kursor, następnie nacisnąć kursor w lewo, a następnie wpisać między nimi. W ten sposób nie zapomnisz zamykającego backticka.

Jest to podobne do wpisywać { }nawiasów w języku programowania C pierwszy przed wejściem na kod, który przechodzi pomiędzy. Tam ważniejsze jest posiadanie zamka zamykającego we właściwej lokalizacji.

Odbywa się to nie tylko za pomocą apostrofu i odwrotu, ale np. Również za pomocą podwójnych cudzysłowów („e daje” ë), a nawet spółgłosek ((a C daje Ç)).

Jan Doggen
źródło
6
Jest to rzeczywiście bardzo prawdopodobne ustawienie układu klawiatury. Domyślnie są ustawione 2 układy na język, a prosty CTRL+ SHIFTzmienia układ. Dodatkowo, jeśli dodasz język, ALT+ zmienisz SHIFTustawienia języka klawiatury. Korzystając z usługi US International, rzeczywiście uzyskujesz zachowanie od pytania. Ustawienie go w Stanach Zjednoczonych spowoduje jego usunięcie.
LPChip
Apostrof („)” i „backtick” („) to dwa różne symbole. Pierwszy z nich to rzeczywisty symbol, który ma się wyróżniać, drugi to to, co można nazwać niewłaściwym użyciem znaku diakrytycznego, który zwykle pojawia się wyłącznie w połączeniu z innymi znakami. Klawisz apostrofa często nie jest skonfigurowany jako klawisz martwy, ponieważ apostrof może doskonale oznaczać się sam (chociaż niektóre układy klawiatury, które muszą pomieścić wiele znaków akcentowanych mogą się różnić), dlatego naciśnięcie klawisza apostrofu powoduje natychmiastowe napisanie apostrofu.
LUB Mapper
@ORMapper: Czy są dostępne układy klawiatury, które zachowują się normalnie dla znaków ASCII, ale nadal umożliwiają rozsądne pisanie znaków akcentowanych? Macintosh mógłby to zrobić 30 lat temu, używając opcji + grób jako martwego klucza „grób”, Option + apostrofu jako martwego klucza „aigu”, a Option + shift + apostrof jako martwego klucza „umlaut”; czy coś tak sensownego byłoby poza zrozumieniem Microsoftu?
supercat
@ superupat: Nie rozumiem, co masz na myśli. Posiadanie apostrofu jako nie-martwego klucza, który nie łączy się z postaciami, oraz ostrego i poważnego akcentu zarówno jako martwych klawiszy, które łączą się z postaciami, to rozsądny sposób na dopuszczenie znaków akcentowanych, prawda? To powiedziawszy, nic nie stoi na przeszkodzie, aby tworzyć własne układy klawiatury dla systemu Windows .
LUB Mapper
@ORMapper: Na klasycznym układzie klawiatury Macintosha (nie wiem, czy został zmieniony), opcja + apostrof, opcja + shift + apostrof i opcja + grave to martwe klawisze, ale klawisze bez opcji po prostu wpisują normalne kody ASCII.
supercat
3

Inne odpowiedzi wspominały, że może to być układ klawiatury, ale czułem, że konkretny przykład może być przydatny, więc:

W systemie Windows zazwyczaj używam układu klawiatury „ English (UK) Extended ”, który lepiej obsługuje pisanie znaków akcentowanych, ale oznacza, że ​​muszę dwukrotnie nacisnąć klawisz wstecz, aby uzyskać znak „. Jeśli przełączę się na podstawowy układ klawiatury „ angielski (brytyjski) ”, muszę nacisnąć tylko raz przycisk Wstecz. Ta ostatnia klawiatura jest więc prawdopodobnie lepsza do niektórych zastosowań (takich jak kodowanie), nawet jeśli rozszerzona wersja jest lepsza do innych zastosowań (takich jak pisanie).

Nick F.
źródło
To zasługuje na więcej pozytywnych opinii, ponieważ (choć główna odpowiedź jest prawidłowa), pomoże to konkretniej większości użytkowników w rozwiązaniu tego problemu.
Brondahl