<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ghostty.git/src/input/function_keys.zig, branch main</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.
</subtitle>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/ghostty.git/'/>
<entry>
<title>input: use std.Io.Writer for key encoder, new API, expose via libghostty</title>
<updated>2025-10-05T03:19:39+00:00</updated>
<author>
<name>Mitchell Hashimoto</name>
<email>m@mitchellh.com</email>
</author>
<published>2025-10-04T22:04:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/ghostty.git/commit/?id=44496df8994640975720938fb150a67e7d111663'/>
<id>44496df8994640975720938fb150a67e7d111663</id>
<content type='text'>
This modernizes `KeyEncoder` to a new `std.Io.Writer`-based API.
Additionally, instead of a single struct, it is now an `encode` function
that takes a series of more focused options. This is more idiomatic Zig
while also making it easier to expose via libghostty-vt.

libghostty-vt also gains access to key encoding APIs.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This modernizes `KeyEncoder` to a new `std.Io.Writer`-based API.
Additionally, instead of a single struct, it is now an `encode` function
that takes a series of more focused options. This is more idiomatic Zig
while also making it easier to expose via libghostty-vt.

libghostty-vt also gains access to key encoding APIs.
</pre>
</div>
</content>
</entry>
<entry>
<title>Zig 0.15: zig build test </title>
<updated>2025-10-03T14:10:43+00:00</updated>
<author>
<name>Mitchell Hashimoto</name>
<email>m@mitchellh.com</email>
</author>
<published>2025-10-01T20:10:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/ghostty.git/commit/?id=cb295b84a0ec274a43da59041fa4a199e799798d'/>
<id>cb295b84a0ec274a43da59041fa4a199e799798d</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>input: remove translated</title>
<updated>2025-05-09T17:01:05+00:00</updated>
<author>
<name>Mitchell Hashimoto</name>
<email>m@mitchellh.com</email>
</author>
<published>2025-05-08T15:47:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/ghostty.git/commit/?id=a3462dd2bd541af6372855917c6ccb5643aeda93'/>
<id>a3462dd2bd541af6372855917c6ccb5643aeda93</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Lots of 0.14 changes</title>
<updated>2025-03-12T16:55:52+00:00</updated>
<author>
<name>Mitchell Hashimoto</name>
<email>m@mitchellh.com</email>
</author>
<published>2025-03-12T16:55:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/ghostty.git/commit/?id=0f4d2bb2375c707182dba8cf2dd7723a2e918e79'/>
<id>0f4d2bb2375c707182dba8cf2dd7723a2e918e79</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Change to F3 legacy encoding with modifiers (#3019)</title>
<updated>2024-12-20T16:25:30+00:00</updated>
<author>
<name>Mitchell Hashimoto</name>
<email>m@mitchellh.com</email>
</author>
<published>2024-12-20T16:25:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/ghostty.git/commit/?id=0f588d72c70c7e0f4e29ffb23ae41b59220e03b2'/>
<id>0f588d72c70c7e0f4e29ffb23ae41b59220e03b2</id>
<content type='text'>
The [fixterms](http://www.leonerd.org.uk/hacks/fixterms/) "Really
Special Keypresses" section suggests using CSI 1 ; Ps R for F3, but this
is also a valid cursor position report. The intention was to make
back-compatible changes, so this is fairly considered a specification
bug.

This changes F3 in legacy mode to send CSI 13 ; Ps ~ instead, this is a
variant listed in fixterms, is what kitty protocol uses, and lacks the
problematic overlap with cursor positions.

The KeyEncoder.zig unit test has been changed accordingly, and all tests
pass on my machine.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The [fixterms](http://www.leonerd.org.uk/hacks/fixterms/) "Really
Special Keypresses" section suggests using CSI 1 ; Ps R for F3, but this
is also a valid cursor position report. The intention was to make
back-compatible changes, so this is fairly considered a specification
bug.

This changes F3 in legacy mode to send CSI 13 ; Ps ~ instead, this is a
variant listed in fixterms, is what kitty protocol uses, and lacks the
problematic overlap with cursor positions.

The KeyEncoder.zig unit test has been changed accordingly, and all tests
pass on my machine.</pre>
</div>
</content>
</entry>
<entry>
<title>Change to F3 legacy encoding with modifiers</title>
<updated>2024-12-19T22:05:29+00:00</updated>
<author>
<name>Sam Atman</name>
<email>atmanistan@gmail.com</email>
</author>
<published>2024-12-19T22:05:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/ghostty.git/commit/?id=8cadc7030ce7f8c5d06c5bf56eedd24128bf3455'/>
<id>8cadc7030ce7f8c5d06c5bf56eedd24128bf3455</id>
<content type='text'>
The [fixterms](http://www.leonerd.org.uk/hacks/fixterms/) "Really
Special Keypresses" section suggests using CSI 1 ; Ps R for F3, but this
is also a valid cursor position report.  The intention was to make back-
compatible changes, so this is fairly considered a specification bug.

This changes F3 in legacy mode to send CSI 13 ; Ps ~ instead, this is a
variant listed in fixterms, is what kitty protocol uses, and lacks the
problematic overlap with cursor positions.

The KeyEncoder.zig unit test has been changed accordingly, and all tests
pass on my machine.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The [fixterms](http://www.leonerd.org.uk/hacks/fixterms/) "Really
Special Keypresses" section suggests using CSI 1 ; Ps R for F3, but this
is also a valid cursor position report.  The intention was to make back-
compatible changes, so this is fairly considered a specification bug.

This changes F3 in legacy mode to send CSI 13 ; Ps ~ instead, this is a
variant listed in fixterms, is what kitty protocol uses, and lacks the
problematic overlap with cursor positions.

The KeyEncoder.zig unit test has been changed accordingly, and all tests
pass on my machine.
</pre>
</div>
</content>
</entry>
<entry>
<title>Docfix: correct comment for modifyOtherKeys sequence</title>
<updated>2024-12-19T21:51:28+00:00</updated>
<author>
<name>Sam Atman</name>
<email>atmanistan@gmail.com</email>
</author>
<published>2024-12-19T21:51:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/ghostty.git/commit/?id=d885a266d4c513a97121f1467d4cbe9c453da6bc'/>
<id>d885a266d4c513a97121f1467d4cbe9c453da6bc</id>
<content type='text'>
The comment in `function_keys.zig` was missing the `&gt;` character for the
sequence.  I've confirmed that this was just the comment, Ghostty treats
the original as an SGR sequence, which it is.  Conversely, it does treat
`\x1b[&gt;4:2m` as activating modifyOtherKeys.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The comment in `function_keys.zig` was missing the `&gt;` character for the
sequence.  I've confirmed that this was just the comment, Ghostty treats
the original as an SGR sequence, which it is.  Conversely, it does treat
`\x1b[&gt;4:2m` as activating modifyOtherKeys.
</pre>
</div>
</content>
</entry>
<entry>
<title>chore: clean up typos</title>
<updated>2024-08-05T11:56:57+00:00</updated>
<author>
<name>Łukasz Niemier</name>
<email>lukasz@niemier.pl</email>
</author>
<published>2024-08-05T11:56:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/ghostty.git/commit/?id=f9be02a20f9f77649efad3f6fda3dd15639ef252'/>
<id>f9be02a20f9f77649efad3f6fda3dd15639ef252</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>input: missing kp_begin encoding entry</title>
<updated>2024-01-09T18:52:49+00:00</updated>
<author>
<name>Mitchell Hashimoto</name>
<email>mitchell.hashimoto@gmail.com</email>
</author>
<published>2024-01-09T18:52:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/ghostty.git/commit/?id=dcc3c177386a0375b34f195be115560ee899bfa6'/>
<id>dcc3c177386a0375b34f195be115560ee899bfa6</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>input: only send keypad events for keypad application mode</title>
<updated>2023-12-27T16:10:01+00:00</updated>
<author>
<name>Mitchell Hashimoto</name>
<email>mitchell.hashimoto@gmail.com</email>
</author>
<published>2023-12-27T16:10:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/ghostty.git/commit/?id=21db51ff9d50038cd37c502eb5c4bbce25cdf6d7'/>
<id>21db51ff9d50038cd37c502eb5c4bbce25cdf6d7</id>
<content type='text'>
Fixes #1099
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fixes #1099
</pre>
</div>
</content>
</entry>
</feed>
