A Backspace az a billentyűzetbillentyű (gyakran jelölve: ←), amely eredetileg az írógépen egy pozícióval hátrébb tolta a kocsit; a modern számítógépes környezetekben a kurzort egy pozícióval visszafelé mozgatja és törli az előtte álló karaktert, a mögötte lévő szöveget pedig egy pozícióval előrébb tolja. A működés lényege tehát: a kurzor előtti karakter eltávolítása.

Történeti háttér és diakritikus jelek

Az írógépeken például gyakran alkalmazták az úgynevezett overstrike-módszert: ha a gépíró egy kisbetűs "a" betűre akarta tenni a hegyes ékezetet (á), először beütötte az "a"-t, majd backspace-szel visszatolta a kocsit és beütötte az ékezetet. Ez az eljárás adta az alapot a korai számítógépes karakterkészletekben szereplő távolságmódosítóknak, például az ASCII caret (^) jeléhez kapcsolódó megoldásoknak. A backspace-alapú összeállítás ma már nem igazán működik a digitális kijelzők és a modern tördelőrendszerek esetén.

A backspace megoldás részben felváltásra került az Unicode kombináló diakritikus jeleinek mechanizmusával, amelyek külön karakterként adják meg az ékezetet, és vizuálisan az előző alapkarakterhez kapcsolódnak. Ennek azonban vannak kompatibilitási és betűtípus-problémái, ezért sok helyen továbbra is előkomponált karaktereket (pl. á, é, ő) használnak. Egyes rendszerek és szoftverek — például a TeX, vagy Microsoft Windows, a diakritikus jelek kezelésekor — fordított megközelítést alkalmaznak: előbb az ékezetet, majd az alapbetűt helyezik el az adott pozícióban.

Vezérlőkódok, terminálok és a caret-jelzés

A backspace billentyű lenyomása egy hagyományos számítógépes terminálon a 0x08-as (10-es helyiértéken: 8) ASCII-kódot (BS, Backspace) generálja, amely a kurzor előtti karakter törlésére szolgál. Ugyanezt a vezérlőkódot elő lehet állítani a Control‑H lenyomásával is, mivel az H a latin ábécé nyolcadik betűje (a vezérlőkarakterek jelölésekor az A=^A, B=^B, … H=^H megfeleltetés használatos).

Régebbi terminálokon, ahol a backspace-kód nem volt megfelelően kezelve, a backspace lenyomásakor a képernyőn a ^H karakterpár jelent meg (caret és H). Ezt a ^H-szekvenciát a számítógépes kultúrában a mai napig humorosan használják arra, hogy egy színlelt hibát „töröljenek” — hasonlóan az áthúzáshoz vagy önironikus korrekcióhoz.

Példa:

A rabszolga-dri^H^H^H^H^H^H^H^H^H^H^H^H^H^H főnököm úgy döntött, hogy elakasztja a projektet.

A terminálisoknál és Unix-szerű rendszereken gyakoriak a további gyorsbillentyűk is: a ^W az előző szó törlésére szolgál (Berkeley Unix terminálhagyomány), egy ^W tehát gyakran helyettesíthet egy egész ^H-sorozatot. A Vi és más szövegszerkesztők is átvették ezeket a mozdulatokat. Kínosabb javításoknál a ^U (kill line) a teljes sor törlésére használható.

BS (0x08) vs. DEL (0x7F) és beállítások

A számítógépes történelemben két különböző „törlő” karakter alakult ki: a Backspace (BS, 0x08) és a Delete (DEL, 0x7F). A DEL eredetileg a lyukkártya/időszalagos időkben használt jellemző, melynek kódja 127 (0x7F) volt — azt tervezték, hogy „töröljön” egy karaktert az adathordozón. Ma azonban sok rendszerben a backspace billentyűt a DEL karakterre is leképezhetik (0x7F), miközben a funkció — a kurzor előtti karakter törlése — megmarad.

Unix-szerű rendszerekben a beviteli eszközök viselkedése konfigurálható: az stty parancs például megengedi az erase karakter beállítását (pl. stty erase '^H' vagy stty erase '^?'), ezért előfordulhat, hogy egy terminálon a Backspace más-más vezérlőkódot küld, és ennek megfelelően eltér a hatása. Emiatt a terminálprogramok és shell-ek beállításait gyakran módosítani kell, ha a billentyűzet és a távoli gép eltérően értelmezi a backspace-t.

Backspace vs. Delete — gyakorlati különbségek

  • Backspace általában a kurzor előtti karaktert törli (balra törlés).
  • Delete (a billentyűzeten gyakran Del néven) a kurzor mögötti, következő karaktert törli (jobbra törlés). Modern grafikus környezetekben a Delete billentyű gyakran általános parancsként is működik objektumok eltávolítására (például fájlok, képek), míg a backspace általában nem hat ilyen objektumokra.
  • Sok laptopon és különböző kiosztásban eltérően vannak felcímkézve a gombok: vannak gépek, ahol a backspace felirat helyett Delete vagy Erase szerepel, illetve csak balra mutató nyíllal jelölik a gombot. A Mac gépeken a billentyűzeten található delete feliratú billentyű alapvetően backspace-működésű (azaz balra töröl); a Mac-en a „forward delete” (jobb irányú törlés) külön billentyűvel vagy Fn+Delete kombinációval érhető el.

Grafikus felületek és böngészők

A backspace billentyűt a grafikus környezetekben gyakran használják navigációra: például fájlkezelőkben vagy webböngészőkben a Backspace (vagy a hozzá rendelt billentyűkombináció) visszalép a korábbi nézetre vagy előző oldalra. Ez a viselkedés azonban adatvesztéshez vezethetett (például ha űrlap kitöltése közben véletlenül lenyomták), ezért sok modern böngészőben ezt a funkciót megváltoztatták vagy opcióként kikapcsolhatóvá tették. (A pontos viselkedés böngészőfüggő és verziónként változik.)

Speciális alkalmazások és főkereskedők

Nagyszámítógépes környezetben a „backspace” kifejezés gyakran azt jelenti, hogy a mágnesszalagot visszafelé mozgatjuk az előző blokkhoz. Ezenkívül a különböző alkalmazásokban (szövegszerkesztők, terminálprogramok, IDE-k) a backspace viselkedése és a hozzá kapcsolódó gyorsparancsok eltérőek lehetnek; ezért hasznos ismerni az adott környezet beállításait és billentyűparancsait.

Összefoglalás és megjegyzések

A "backspace" megnevezés szabványosan a kurzortól balra lévő karakter törlésére szolgáló billentyűt jelöli, de a tényleges felirat és a generált vezérlőkód eszközönként és rendszerenként változhat. A caret-jel (pl. ^H) használata a természetes hibakorrigálás/paródia része maradt a számítástechnikai kultúrában. Ha terminál- vagy távoli kapcsolat során backspace-működési problémát tapasztal, ellenőrizze a helyi billentyűzetkiosztást, a terminál emulátor beállításait és az stty erase értékét.

Bár a kifejezés és a szóhasználat általában egységes, a részletek — kódok (BS vs DEL), billentyűfeliratok, és böngésző/alkalmazás-specifikus viselkedés — ismerete segít elkerülni a kellemetlen meglepetéseket.

Bár a "backspace" kifejezés a kurzortól balra lévő karaktert törlő billentyű szabványos neve, a tényleges billentyűt többféleképpen is jelölhetik, például delete, Erase (például az XO-1, One Laptop Per Child programban), vagy balra mutató nyíllal.