首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >DVORAK键盘布局

DVORAK键盘布局
EN

Code Golf用户
提问于 2014-03-03 11:43:08
回答 6查看 1.9K关注 0票数 11

这是一个有趣的挑战..。

我希望你的高尔夫代码,当执行时,将允许您的输入被转换为模拟输出,就像您正在键入一个DVORAK键盘布局。

其目的是模仿美国简化的Dvorak键盘( US :SDK)

相比之下,这里是标准的美国QWERTY布局:

键盘模拟必须同时适用大写字母和小写字母以及移位键,例如,如果我点击键盘上的q (未移位)键,则Dvorak代码应该会在屏幕上弹出一个'字符。如果我点击c (未移位)按钮,我应该得到一个j (也是未移位)作为响应,C (移位)将得到J (移位)等等。

当然,我只专注于上面图表中的白键。标签,帽子和其他灰色键应该正常工作.

有什么问题吗?现在不行吗?很好..。

我将不允许已经对布局进行编码的外部资源,也不会引入任何可以对布局进行编码的文件。代码在本质上必须是QWERTY INPUT -> (DVORAK RE-CODING) -> DVORAK OUTPUT。没有愚蠢的Esolangs是理论性的,或者只是说“这个程序将接受QWERTY输入并在DVORAK中重新编码。这是程序。”或者这样的废话..。认真对待这个挑战..。所以Brainfuck程序员们我欢迎你们。

请注意,这不是一个字符串转换程序。对于您按下的每一个QWERTY键,必须输出相应的DVORAK字符.

最短的代码获胜..。

EN

回答 6

Code Golf用户

回答已采纳

发布于 2014-03-03 12:42:01

Shell: Unix tr(1),94

代码语言:javascript
复制
tr \''"+-/:-[]_b-{}' "-_}w[vzSsW]VZ@AXJE>UIDCHTNMBRL\"POYGK<QF:/={xje.uidchtnmbrl'poygk,qf;?+"

此命令在stdin上使用QWERTY,在stdout上输出DVORAK。

票数 7
EN

Code Golf用户

发布于 2014-03-03 15:04:51

C -144个字符

代码语言:javascript
复制
main(c){putch((c=getch())>33?c:"_#$%&-()*}w[vz0123456789SsW]VZ@AXJE>UIDCHTNMBRL\"POYGK<QF:/\\
=^{`axje.uidchtnmbrl'poygk,qf?|+~"[c-34]);main(0);}
票数 8
EN

Code Golf用户

发布于 2014-03-03 15:13:12

C#,360个字符

可能不是最短的,但它完全符合你的要求:

代码语言:javascript
复制
using System;class A{static void Main(){string[] q={"-=qwertyuiop[]sdfghjkl;'zxcvbnm,./","_+QWERTYUIOP{}SDFGHJKL:\"ZXCVBNM<>?","[]',.pyfgcrl/=oeuidhtns-;qjkxbmwvz","{}\"<>PYFGCRL?+OEUIDHTNS_:QJKXBMWVZ"};while(true){var c=Console.ReadKey(true);var a=c.KeyChar;int i,w=c.Modifiers==ConsoleModifiers.Shift?1:0;Console.Write((i=q[w].IndexOf(a))>-1?q[w+2][i]:a);}}}

如果您按下QWERTY键盘上的一个键,则控制台中将显示正确的DVORAK字符。

票数 4
EN
页面原文内容由Code Golf提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://codegolf.stackexchange.com/questions/22704

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档