<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ghostty.git/src/terminal/kitty/key.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>code style: use `@splat` where possible</title>
<updated>2025-05-28T03:55:28+00:00</updated>
<author>
<name>Qwerasd</name>
<email>qwerasd205@users.noreply.github.com</email>
</author>
<published>2025-05-28T03:55:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/ghostty.git/commit/?id=6f7e9d5bea9840627888a6c3c9e89056680ec721'/>
<id>6f7e9d5bea9840627888a6c3c9e89056680ec721</id>
<content type='text'>
As of Zig 0.14.0, `@splat` can be used for array types, which eliminates
a lot of redundant syntax and makes things generally cleaner.

I've explicitly avoided applying this change in the renderer files for
now since it would just create rebasing conflicts in my renderer rework
branch which I'll be PR-ing pretty soon.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
As of Zig 0.14.0, `@splat` can be used for array types, which eliminates
a lot of redundant syntax and makes things generally cleaner.

I've explicitly avoided applying this change in the renderer files for
now since it would just create rebasing conflicts in my renderer rework
branch which I'll be PR-ing pretty soon.
</pre>
</div>
</content>
</entry>
<entry>
<title>macos: do not send UTF-8 PUA codepoints to key events</title>
<updated>2025-05-12T18:42:05+00:00</updated>
<author>
<name>Mitchell Hashimoto</name>
<email>m@mitchellh.com</email>
</author>
<published>2025-05-12T18:12:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/ghostty.git/commit/?id=ecda5ec327288bae5e27c8d2ec1e7ac3a99b3087'/>
<id>ecda5ec327288bae5e27c8d2ec1e7ac3a99b3087</id>
<content type='text'>
Fixes #7337

AppKit encodes functional keys as PUA codepoints. We don't want to send
that down as valid text encoding for a key event because KKP uses that
in particular to change the encoding with associated text.

I think there may be a more specific solution to this by only doing this
within the KKP encoding part of KeyEncoder but that was filled with edge
cases and I didn't want to risk breaking anything else.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fixes #7337

AppKit encodes functional keys as PUA codepoints. We don't want to send
that down as valid text encoding for a key event because KKP uses that
in particular to change the encoding with associated text.

I think there may be a more specific solution to this by only doing this
within the KKP encoding part of KeyEncoder but that was filled with edge
cases and I didn't want to risk breaking anything else.
</pre>
</div>
</content>
</entry>
<entry>
<title>test</title>
<updated>2025-03-12T17:04:17+00:00</updated>
<author>
<name>Mitchell Hashimoto</name>
<email>m@mitchellh.com</email>
</author>
<published>2025-03-12T17:04:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/ghostty.git/commit/?id=43467690f310e79629c43926cb13a3fb51b50394'/>
<id>43467690f310e79629c43926cb13a3fb51b50394</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Zig 0.14</title>
<updated>2025-03-11T21:39:04+00:00</updated>
<author>
<name>Mitchell Hashimoto</name>
<email>m@mitchellh.com</email>
</author>
<published>2025-03-11T21:33:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/ghostty.git/commit/?id=7e2286eb8c603ade782a3970911531595d57e280'/>
<id>7e2286eb8c603ade782a3970911531595d57e280</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>terminal: yeet usingnamespace</title>
<updated>2024-08-16T17:32:43+00:00</updated>
<author>
<name>Mitchell Hashimoto</name>
<email>mitchell.hashimoto@gmail.com</email>
</author>
<published>2024-08-16T17:32:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/ghostty.git/commit/?id=d8f43b34ba6ecf7b878f6be7bc4f96c771b3c1fc'/>
<id>d8f43b34ba6ecf7b878f6be7bc4f96c771b3c1fc</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>terminal: move kitty keyboard protocol to its own file</title>
<updated>2023-08-21T05:03:19+00:00</updated>
<author>
<name>Mitchell Hashimoto</name>
<email>mitchell.hashimoto@gmail.com</email>
</author>
<published>2023-08-18T21:15:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/ghostty.git/commit/?id=fc7b3689fcdd3cb3ac0e1074e81ad2e07b178f11'/>
<id>fc7b3689fcdd3cb3ac0e1074e81ad2e07b178f11</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
