<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>以梦喂马</title><link>https://www.hwdef.org/</link><description>Recent content on 以梦喂马</description><generator>Hugo</generator><language>zh</language><lastBuildDate>Fri, 02 May 2025 13:38:39 +0800</lastBuildDate><atom:link href="https://www.hwdef.org/index.xml" rel="self" type="application/rss+xml"/><item><title>fedora安装视频解码器</title><link>https://www.hwdef.org/post/fedora-install-video-codecs/</link><pubDate>Fri, 02 May 2025 13:38:39 +0800</pubDate><guid>https://www.hwdef.org/post/fedora-install-video-codecs/</guid><description>&lt;p&gt;因为一些法律、专利的原因，fedora没有内置很多视频解码器，导致视频不能播放，安装了即可。&lt;/p&gt;
&lt;p&gt;首先启用 &lt;a href="https://rpmfusion.org/Configuration"&gt;rpm fusion&lt;/a&gt;&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-bash"&gt;sudo dnf install https://mirrors.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm https://mirrors.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;接着安装解码器和其他组件&lt;/p&gt;</description></item><item><title>为什么要写博客</title><link>https://www.hwdef.org/post/why-write-blog/</link><pubDate>Wed, 23 Apr 2025 01:25:39 +0800</pubDate><guid>https://www.hwdef.org/post/why-write-blog/</guid><description>&lt;p&gt;源链接：https://andysblog.uk/why-blog-if-nobody-reads-it/&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;让我们坦率一点吧，你写了一篇博客，根本就没有人读。&lt;/p&gt;</description></item><item><title>在wsl2中安装官方archlinux</title><link>https://www.hwdef.org/post/install-official-archlinux-wsl2/</link><pubDate>Mon, 21 Apr 2025 00:07:44 +0800</pubDate><guid>https://www.hwdef.org/post/install-official-archlinux-wsl2/</guid><description>&lt;h2 id="背景"&gt;背景&lt;/h2&gt;
&lt;p&gt;archlinux 在最近由官方提供了对于 wsl 的支持 &lt;a href="https://github.com/microsoft/WSL/pull/12818"&gt;https://github.com/microsoft/WSL/pull/12818&lt;/a&gt;，此前也有在 wsl 使用 archlinux 的方式，不过都是由社区提供的一些方案，例如：https://github.com/yuk7/ArchWSL。&lt;/p&gt;</description></item><item><title>使用whisper+ollama+ffmpeg为视频添加中文字幕</title><link>https://www.hwdef.org/post/whisper-ollama-ffmpeg-chinese-subtitles/</link><pubDate>Mon, 16 Dec 2024 18:27:11 +0800</pubDate><guid>https://www.hwdef.org/post/whisper-ollama-ffmpeg-chinese-subtitles/</guid><description>&lt;h2 id="简介"&gt;简介&lt;/h2&gt;
&lt;p&gt;在日常学习生活中，许多有价值的资料都是非中文的，例如 Andrej Karpathy 推出的几个与大模型相关的视频，例如经久不衰的 MIT 6.824 分布式系统课程，这些视频系统地讲解了特定领域的知识，时长较长，往往从一小时起步。如果逐句翻译，将耗费大量时间。然而，随着大型模型技术的快速发展，我们可以利用这些技术来翻译和学习这些视频，使我们的学习之路更加顺畅。本文将介绍如何使用 Whisper、Ollama 和 FFmpeg 组建一套完善的非中文视频翻译流程。&lt;/p&gt;</description></item><item><title>Lima下的docker使用私有镜像仓库</title><link>https://www.hwdef.org/post/lima-docker-private-registry/</link><pubDate>Fri, 07 Jul 2023 02:38:43 +0000</pubDate><guid>https://www.hwdef.org/post/lima-docker-private-registry/</guid><description>&lt;p&gt;lima 是一个在 mac 上运行虚拟的开源项目，它内置了许多模版，可以很方便的运行 docker、containerd、podman等容器管理工具，也可以运行 archlinux、almalinux 等 linux 系统。&lt;/p&gt;</description></item><item><title>共享内存</title><link>https://www.hwdef.org/post/shared-memory/</link><pubDate>Thu, 06 Jul 2023 06:46:13 +0000</pubDate><guid>https://www.hwdef.org/post/shared-memory/</guid><description>&lt;p&gt;进程间通信最快的方式是什么？&lt;/p&gt;
&lt;p&gt;通过共享内存&lt;/p&gt;
&lt;p&gt;那么共享内存是什么？&lt;/p&gt;
&lt;p&gt;简单说，就是可以被多个进程访问的同一块内存。&lt;/p&gt;
&lt;p&gt;具体使用上，在 Linux 中，有个设备，路径是 /dev/shm，这个路径不在硬盘上，而是在内存上，程序如果需要使用共享内存，直接使用这个目录就可以了。&lt;/p&gt;</description></item><item><title>Kubelet在windows下获取的cpu数量不正确</title><link>https://www.hwdef.org/post/kubelet-windows-incorrect-cpu-count/</link><pubDate>Wed, 14 Apr 2021 17:09:42 +0800</pubDate><guid>https://www.hwdef.org/post/kubelet-windows-incorrect-cpu-count/</guid><description>&lt;p&gt;在 window 系统中，如果 cpu 的核心数量超过 64 个，那么 windows 会对 cpu 进行&lt;a href="https://docs.microsoft.com/en-us/windows/win32/procthread/processor-groups"&gt;分组&lt;/a&gt;。例如 72 核的 cpu，会被分为两个 36 核的 cpu 组。分组是为了更好的性能，但是分组也会带来其他的问题。&lt;/p&gt;</description></item><item><title>树莓派安装k8s注意事项</title><link>https://www.hwdef.org/post/raspberry-pi-k8s-installation-notes/</link><pubDate>Mon, 14 Dec 2020 13:53:45 +0800</pubDate><guid>https://www.hwdef.org/post/raspberry-pi-k8s-installation-notes/</guid><description>&lt;p&gt;树莓派 4b 已经有了 8g 版本，不只是 k3s，就算运行 k8s 也是可以了。我分别在 2g 和 8g 版本的树莓派上，使用 raspberry pi OS 和 ubuntu server 尝试了 k3s 和 k8s，有一些注意事项，在这里记录。&lt;/p&gt;</description></item><item><title>解决社区贡献时遇到的冲突</title><link>https://www.hwdef.org/post/resolve-community-contribution-conflicts/</link><pubDate>Fri, 03 Jul 2020 11:18:43 +0800</pubDate><guid>https://www.hwdef.org/post/resolve-community-contribution-conflicts/</guid><description>&lt;p&gt;在 github/kubernetes 社区做贡献，可能遇到很久都没人 approve 的情况，如果别人提交的代码与你的代码产生了冲突，就会提示你解决冲突，并且 rebase。&lt;/p&gt;
&lt;p&gt;网页上操作还是不习惯，写一下怎么在本地操作。&lt;/p&gt;</description></item><item><title>配置多个ssh密钥</title><link>https://www.hwdef.org/post/configure-multiple-ssh-keys/</link><pubDate>Fri, 12 Jun 2020 15:20:58 +0800</pubDate><guid>https://www.hwdef.org/post/configure-multiple-ssh-keys/</guid><description>&lt;p&gt;一般一个 ssh 密钥就可以满足需求，去 clone github 的代码，但是有些时候，可能需要多个 ssh 密钥，例如 github 用一个密钥，工作上用另一个密钥，这时候就需要做一些配置。&lt;/p&gt;
&lt;p&gt;首先在生成的时候，需要指定一下文件名，避免重名导致原有的 ssh 密钥被覆盖。例如可以像下面一样，加一个 work 后缀。之后一路按 enter。&lt;/p&gt;</description></item><item><title>配置linux服务器免密登录</title><link>https://www.hwdef.org/post/configure-linux-ssh-key-login/</link><pubDate>Thu, 11 Jun 2020 14:52:55 +0800</pubDate><guid>https://www.hwdef.org/post/configure-linux-ssh-key-login/</guid><description>&lt;p&gt;每次通过 ssh 登录 linux 服务器都要输密码，很麻烦。&lt;/p&gt;
&lt;p&gt;可以通过将本机的 ssh 公钥放到 linux 服务器中，就可以免密登录。&lt;/p&gt;
&lt;p&gt;具体操作为&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;先找到本机的 ssh 公钥，一般都在 .ssh 文件夹下，文件后缀为 &lt;code&gt;.pub&lt;/code&gt;，复制文件的全部内容&lt;/p&gt;</description></item><item><title>Kubeadm指定镜像源</title><link>https://www.hwdef.org/post/kubeadm-specify-image-repository/</link><pubDate>Fri, 29 May 2020 11:14:10 +0800</pubDate><guid>https://www.hwdef.org/post/kubeadm-specify-image-repository/</guid><description>&lt;p&gt;kubeadm 默认使用的镜像源是谷歌的，众所周知的原因，使用体验并不好。&lt;/p&gt;
&lt;p&gt;解决方法无非就是两个：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;科学上网&lt;/li&gt;
&lt;li&gt;换源&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;kubeadm 换源的方式很方便，只需在 init 的时候使用 &lt;code&gt;--image-repository&lt;/code&gt; 参数，后面加镜像源。国内一般用阿里云的，或者 azure 的。&lt;/p&gt;</description></item><item><title>更改sddm的键盘布局</title><link>https://www.hwdef.org/post/change-sddm-keyboard-layout/</link><pubDate>Wed, 27 May 2020 10:32:43 +0800</pubDate><guid>https://www.hwdef.org/post/change-sddm-keyboard-layout/</guid><description>&lt;p&gt;&lt;a href="https://wiki.archlinux.org/index.php/SDDM_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)"&gt;sddm&lt;/a&gt; 全名是 Simple Desktop Display Manager， 是 KDE 推荐的显示管理器&lt;/p&gt;
&lt;p&gt;我的系统使用的是 dvorak 键位，体验很好，在 KDE 桌面中，只需要在&lt;code&gt;设置 -&amp;gt; 输入设备 -&amp;gt; 键盘 -&amp;gt; 布局&lt;/code&gt;中更改&lt;code&gt;变体&lt;/code&gt;为 dvorak 就可以。
但是有一个让我感觉割裂的地方，就是在开机启动系统的时候，键位并不是 dvorak ，而是普通的 qwerty ，因为刚启动时，界面还停留在 sddm，没进入到 KDE 的环境。那么就需要修改 sddm 的键位。&lt;/p&gt;</description></item><item><title>去除k8s节点的污点（taint）</title><link>https://www.hwdef.org/post/remove-k8s-node-taint/</link><pubDate>Thu, 02 Jan 2020 22:30:02 +0800</pubDate><guid>https://www.hwdef.org/post/remove-k8s-node-taint/</guid><description>&lt;p&gt;首先查看 node 的对应规则&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-shell"&gt;kubectl describe node master |grep -E '(Roles|Taints)'
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;其中 master 为对应 node 的名字。&lt;/p&gt;
&lt;p&gt;之后修改查询出来的规则&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-shell"&gt;kubectl taint node master node-role.kubernetes.io/master-
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;同样，master 也是名字，最后的&lt;code&gt;-&lt;/code&gt;代表去除规则&lt;/p&gt;
&lt;p&gt;输出应该是类似 untaint 之类的。&lt;/p&gt;</description></item><item><title>Archlinux更新软件，出现与curl有关的错误的解决办法</title><link>https://www.hwdef.org/post/archlinux-update-curl-error-solution/</link><pubDate>Wed, 11 Dec 2019 13:47:23 +0800</pubDate><guid>https://www.hwdef.org/post/archlinux-update-curl-error-solution/</guid><description>&lt;p&gt;今天下载软件的时候，因为网络问题，速度一直为0，就ctrl C 强行停止了，&lt;/p&gt;
&lt;p&gt;之后再继续更新的时候就报错，与 curl 有关，如下&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-shell"&gt;HTTP server doesn't seem to support byte ranges. Cannot resume.
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;查了一圈之后发现也有其他人遇到这个问题，&lt;/p&gt;</description></item><item><title>我对一些linux发行版的印象</title><link>https://www.hwdef.org/post/impressions-of-linux-distributions/</link><pubDate>Fri, 08 Nov 2019 16:41:24 +0800</pubDate><guid>https://www.hwdef.org/post/impressions-of-linux-distributions/</guid><description>&lt;p&gt;从高一开始第一次接触 linux，我也多多少少装过几十个 linux 的发行版了，其中有的毫无特点，装完就格式化了，有些让我感到惊艳，也有一些发行版，通过各种方式折磨我，由此在我心中留下了深深的烙印。&lt;/p&gt;</description></item><item><title>Yoda Condition</title><link>https://www.hwdef.org/post/yoda-condition/</link><pubDate>Tue, 05 Nov 2019 10:32:05 +0800</pubDate><guid>https://www.hwdef.org/post/yoda-condition/</guid><description>&lt;p&gt;使用 golang 静态检查的时候遇了一个没听过的词汇&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;Yoda condition
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;查了一下&lt;a href="https://zh.wikipedia.org/wiki/%E5%B0%A4%E9%81%94%E6%A2%9D%E4%BB%B6%E5%BC%8F"&gt;维基百科&lt;/a&gt;,&lt;/p&gt;
&lt;p&gt;这里的 Yoda 就是星球大战中的尤达大师，因为他以非标准语法讲英语。&lt;/p&gt;
&lt;p&gt;Yoda condition 是指表达式的两个部分与条件语句中的典型顺序相反，&lt;/p&gt;</description></item><item><title>K8s删除核心组件的pod</title><link>https://www.hwdef.org/post/k8s-delete-core-component-pods/</link><pubDate>Thu, 31 Oct 2019 17:21:07 +0800</pubDate><guid>https://www.hwdef.org/post/k8s-delete-core-component-pods/</guid><description>&lt;p&gt;kubernetes 有很多核心组件，例如 etcd 和 apiserver ，这些核心组件都可以用下面的命令查到。&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-shell"&gt;kubectl get pods --all-namespaces
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;这些组件都在 &lt;code&gt;kube-system&lt;/code&gt; 的 namespace 下，&lt;/p&gt;
&lt;p&gt;那么如果你自己更改了这些组件的代码，然后想将自己的代码部署到 kubernetes 上应该怎么做呢？&lt;/p&gt;</description></item><item><title>解决screen会话状态为Attached状态无法连接的方法</title><link>https://www.hwdef.org/post/fix-screen-session-attached-cannot-connect/</link><pubDate>Mon, 28 Oct 2019 11:20:24 +0800</pubDate><guid>https://www.hwdef.org/post/fix-screen-session-attached-cannot-connect/</guid><description>&lt;p&gt;有时 screen 会话状态为 Attached 状态，使用 screen -r 无法链接&lt;/p&gt;
&lt;p&gt;&lt;img src="https://i.loli.net/2019/10/28/rYE9nAuok6fwVBM.png" alt="2019-10-28 112244.png"&gt;&lt;/p&gt;
&lt;p&gt;导致这种问题的原因是因为前一个用户的占用，解决方法是踢掉前一个用户&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-shell"&gt;screen -D -r 会话名称
&lt;/code&gt;&lt;/pre&gt;</description></item><item><title>Centos7用kubeadm部署k8s集群踩坑</title><link>https://www.hwdef.org/post/centos7-k8s-cluster-deployment-troubleshooting/</link><pubDate>Fri, 11 Oct 2019 10:21:40 +0800</pubDate><guid>https://www.hwdef.org/post/centos7-k8s-cluster-deployment-troubleshooting/</guid><description>&lt;p&gt;将 k8s 集群从 ubuntu 换到了 centos，用 kubeadm 部署遇到了几个坑，记录一下&lt;/p&gt;
&lt;h3 id="1epel"&gt;1.epel&lt;/h3&gt;
&lt;p&gt;centos 默认源里什么都没有，安装 epel 是必须的。&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-shell"&gt;sudo yum install epel-release
&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id="2hostname"&gt;2.hostname&lt;/h3&gt;
&lt;h4 id="21"&gt;2.1&lt;/h4&gt;
&lt;p&gt;centos 特别坑的一点是，hostname 不会根据 username 自动设置，正常情况下影响不大，但是遇到 k8s 之后，这就是个留给新手的大坑，&lt;/p&gt;</description></item><item><title>Linux常用命令</title><link>https://www.hwdef.org/post/linux-common-commands/</link><pubDate>Fri, 31 May 2019 20:53:18 +0800</pubDate><guid>https://www.hwdef.org/post/linux-common-commands/</guid><description>&lt;p&gt;&lt;code&gt;top&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;查看系统资源状态&lt;/p&gt;
&lt;p&gt;&lt;code&gt;htop&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;top的高级版&lt;/p&gt;
&lt;p&gt;&lt;code&gt;free&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;查看内存的使用情况&lt;/p&gt;
&lt;p&gt;&lt;code&gt;whereis&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;查找命令、二进制文件的位置&lt;/p&gt;
&lt;p&gt;&lt;code&gt;chmod&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;对文件或文件夹进行权限操作，r 表示可读取，w 表示可写入，x 表示可执行，也可用数字代表，例如&lt;code&gt;chmod u+x filename&lt;/code&gt;或者&lt;code&gt;chmod 777 filename&lt;/code&gt;,&lt;/p&gt;</description></item><item><title>Golang实现md5加密</title><link>https://www.hwdef.org/post/golang-md5-implementation/</link><pubDate>Tue, 14 May 2019 21:40:02 +0800</pubDate><guid>https://www.hwdef.org/post/golang-md5-implementation/</guid><description>&lt;pre&gt;&lt;code class="language-go"&gt;import (
	&amp;quot;crypto/md5&amp;quot;
	&amp;quot;fmt&amp;quot;
	&amp;quot;io&amp;quot;
)

func main() {
	str := &amp;quot;abc123&amp;quot;
	a := cymd5(str)
	fmt.Println(a)
}

func cymd5(str string) string {
	md5n := md5.New() //初始化md5对象
	_, err := io.WriteString(md5n, str)//将str写入md5n
	if err != nil {
		panic(err)
	}
	res := fmt.Sprintf(&amp;quot;%x&amp;quot;,md5n.Sum(nil))//将md5n里的hash.Hash格式转为[]byte格式
	return res
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;输出为&lt;/p&gt;</description></item><item><title>Github下fork后如何同步源的新更新内容</title><link>https://www.hwdef.org/post/sync-fork-with-upstream-github/</link><pubDate>Wed, 09 Jan 2019 10:51:58 +0800</pubDate><guid>https://www.hwdef.org/post/sync-fork-with-upstream-github/</guid><description>&lt;p&gt;本文是整理自知乎回答，&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.zhihu.com/question/28676261/answer/44606041"&gt;gitlab或github下fork后如何同步源的新更新内容？&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;就当做个笔记，防止自己忘记。&lt;/p&gt;
&lt;h5 id="1查看远端状态"&gt;1.查看远端状态&lt;/h5&gt;
&lt;p&gt;&lt;code&gt;git remote -v&lt;/code&gt;&lt;/p&gt;
&lt;h5 id="2添加远端"&gt;2.添加远端&lt;/h5&gt;
&lt;p&gt;&lt;code&gt;git remote add upstream &amp;lt;远端仓库地址&amp;gt;&lt;/code&gt;&lt;/p&gt;
&lt;h5 id="3再次查看远端状态检查远端是否添加成功"&gt;3.再次查看远端状态，检查远端是否添加成功&lt;/h5&gt;
&lt;p&gt;&lt;code&gt;git remote -v&lt;/code&gt;&lt;/p&gt;
&lt;h5 id="4从上游仓库-fetch-分支和提交点提交给本地-master并会被存储在一个本地分支-upstreammaster"&gt;4.从上游仓库 fetch 分支和提交点，提交给本地 master，并会被存储在一个本地分支 upstream/master&lt;/h5&gt;
&lt;p&gt;&lt;code&gt;git fetch upstream&lt;/code&gt;&lt;/p&gt;</description></item><item><title>leetcode笔记(python)</title><link>https://www.hwdef.org/post/leetcode-notes-python/</link><pubDate>Thu, 27 Dec 2018 00:02:22 +0800</pubDate><guid>https://www.hwdef.org/post/leetcode-notes-python/</guid><description>&lt;h2 id="1大小写转换"&gt;1.大小写转换&lt;/h2&gt;
&lt;p&gt;str.upper() # 把所有字符中的小写字母转换成大写字母&lt;/p&gt;
&lt;p&gt;str.lower() # 把所有字符中的大写字母转换成小写字母&lt;/p&gt;
&lt;p&gt;str.capitalize() # 把第一个字母转化为大写字母，其余小写&lt;/p&gt;
&lt;p&gt;str.title() # 把每个单词的第一个字母转化为大写，其余小写&lt;/p&gt;</description></item><item><title>给visual studio code 写语言插件</title><link>https://www.hwdef.org/post/vscode-extension-guide/</link><pubDate>Sat, 09 Jun 2018 14:14:44 +0800</pubDate><guid>https://www.hwdef.org/post/vscode-extension-guide/</guid><description>&lt;p&gt;朋友开发了一个基于.net的语言，要写个vscode的插件，达到代码高亮，代码块折叠的效果，网上的资料很少，毕竟这不是大多数人的需求，这篇文章一是为了备忘，二是给可能有这个需求的人看。&lt;/p&gt;</description></item><item><title>Git pull 拉取远程内容强制覆盖本地文件</title><link>https://www.hwdef.org/post/git-pull-force-overwrite-local/</link><pubDate>Wed, 06 Jun 2018 00:27:06 +0800</pubDate><guid>https://www.hwdef.org/post/git-pull-force-overwrite-local/</guid><description>&lt;p&gt;git fetch &amp;ndash;all&lt;/p&gt;
&lt;p&gt;git reset &amp;ndash;hard origin/master&lt;/p&gt;
&lt;p&gt;git pull&lt;/p&gt;</description></item><item><title>github pages使用自定义域名访问出现404 not found</title><link>https://www.hwdef.org/post/github-pages-custom-domain-404/</link><pubDate>Wed, 06 Jun 2018 00:02:27 +0800</pubDate><guid>https://www.hwdef.org/post/github-pages-custom-domain-404/</guid><description>&lt;p&gt;解析正常&lt;/p&gt;
&lt;p&gt;dns也正常&lt;/p&gt;
&lt;p&gt;一切看起来都正常&lt;/p&gt;
&lt;p&gt;最后没办法了，把CNAME文件删了，通过仓库的setting页面设置的自定义域名。&lt;/p&gt;
&lt;p&gt;错误的原因不知道，但是问题解决了。&lt;/p&gt;</description></item><item><title>Windows更改dvorak键位</title><link>https://www.hwdef.org/post/windows-change-dvorak-layout/</link><pubDate>Sat, 02 Jun 2018 21:59:22 +0800</pubDate><guid>https://www.hwdef.org/post/windows-change-dvorak-layout/</guid><description>&lt;p&gt;在网上找了很多教程，有的很麻烦，有的没用。&lt;/p&gt;
&lt;p&gt;其实很简单&lt;/p&gt;
&lt;p&gt;注册表定位到&lt;/p&gt;
&lt;p&gt;&lt;code&gt;计算机\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layouts\00000804&lt;/code&gt;&lt;/p&gt;</description></item></channel></rss>