From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Date: Tue, 21 Sep 2010 12:43:16 +0400 From: "George V. Kouryachy" To: devel@lists.altlinux.org Message-ID: <20100921084316.GA20379@imap.altlinux.org> Mail-Followup-To: devel@lists.altlinux.org Mime-Version: 1.0 Content-Type: text/plain; charset=koi8-r Content-Disposition: inline Content-Transfer-Encoding: 8bit User-Agent: Mutt/1.4.2.3i Subject: [devel] =?koi8-r?b?WHRlcm0gIzIxNzMxIC0tIF5IIMnMySBePw==?= X-BeenThere: devel@lists.altlinux.org X-Mailman-Version: 2.1.12 Precedence: list Reply-To: ALT Linux Team development discussions List-Id: ALT Linux Team development discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Sep 2010 08:43:18 -0000 Archived-At: List-Archive: List-Post: Привет всем. Разгребая баги (да-да, меня не было в этой реальности quite a lot) наткнулся вот на такую, доставшуюся мне по наследству вместе с XTerm. https://bugzilla.altlinux.org/show_bug.cgi?id=21731 Обсуждение можно не читать, суть такая, что в Linux xterm почему-то обязан при нажатии клавиши BackSpace возвращать не символ BackSpace (^H), а Delete (^?). Это прописано в terminfo (см infocmp xterm): соответственно, экранные программы ожидают, что KBS будет ^?. Это устанавливается в терминальной линии (см. stty -a). Один только xterm не желает с этим считаться, и по умолчанию при нажатии на BaskSpace посылает BackSpace. Потому что так делается во всём цивилизованном мире :). Способы лечения. 1. Нажимать вместо BaskSpace Ctrl+BaskSpace :) 2. stty erase=^H 3. Ctrl+левая кнопка мыши -> BackArrow key (BS/DEL) 4. Перебить системный ресурс backArrowKey, чтобы всегда был ^? Потеряется совместимость с другими системами 5. Перебить системный ресурс backarrowKeyIsErase, чтобы при старте XTerm-а backarrow принимала значение, равное stty-му erase. Потеряется совместимость с другими системами, появится момент неопределённости Лично я за последний вариант. Мало ли что. А если кому-то хочется, чтобы Erase был всё-таки ^H, используйте xterm -tn xterm-color, для него в terminfo kbs=^H. А stty делайте сами :). У меня стоит в .zshrc: stty erase `echotc kb` Если никто не против, я попатчу app-defaults/XTerm. -- George V. Kouryachy (aka Fr. Br. George) mailto:george at altlinux_org