CAPS LOCK को ब्लिंक करें


107

अधिकांश कंप्यूटर कीबोर्ड में एक छोटी एकीकृत एलईडी लाइट होती है, जो वर्तमान इनपुट मोड का संकेत देती है, जैसा कि CAPS LOCK बटन से नियंत्रित होता है।

यहाँ छवि विवरण दर्ज करें

आपका काम यह पलक झपकना है:

  • इसे चालू करो;
  • 0.5 (+/- 0.1) सेकंड के लिए प्रतीक्षा करें;
  • इसे फिर से बंद कर दें।

एलईडी निमिष के वीडियो फुटेज की बहुत सराहना की जाती है!

नियम

  • यदि आप चाहें तो एक अलग एलईडी (जैसे स्क्रॉल लॉक, न्यूम लॉक, वाई-फाई स्थिति आदि) को ब्लिंक कर सकते हैं, लेकिन यह आपके कीबोर्ड पर शारीरिक रूप से स्थित होना चाहिए;

  • यदि आपकी भाषा एक उप- sleepकमांड को याद कर रही है , तो आपका प्रोग्राम +2 बाइट्स (यानी 0.) के दंड के बजाय 1 सेकंड की देरी का उपयोग कर सकता है ;

  • आपके कार्यक्रम को कम से कम एक बार ब्लिंक करना चाहिए, उसके बाद क्या होता है, यह आपके ऊपर है, अर्थात यह ब्लिंक करना जारी रख सकता है (जिस स्थिति में आपको उसी देरी का इंतजार करना चाहिए, इसे फिर से चालू करने से पहले), या पड़ाव आदि;

  • यदि चयनित एलईडी आपके सिस्टम पर डिफ़ॉल्ट रूप से चालू है, तो आप मान सकते हैं कि प्रोग्राम चलने से पहले इसे स्पष्ट रूप से बंद कर दिया गया है (जैसे मैन्युअल रूप से);

  • यह , बाइट्स जीत में सबसे छोटा जवाब।

लीडरबोर्ड

var QUESTION_ID=110974,OVERRIDE_USER=61904;function answersUrl(e){return"https://api.stackexchange.com/2.2/questions/"+QUESTION_ID+"/answers?page="+e+"&pagesize=100&order=desc&sort=creation&site=codegolf&filter="+ANSWER_FILTER}function commentUrl(e,s){return"https://api.stackexchange.com/2.2/answers/"+s.join(";")+"/comments?page="+e+"&pagesize=100&order=desc&sort=creation&site=codegolf&filter="+COMMENT_FILTER}function getAnswers(){jQuery.ajax({url:answersUrl(answer_page++),method:"get",dataType:"jsonp",crossDomain:!0,success:function(e){answers.push.apply(answers,e.items),answers_hash=[],answer_ids=[],e.items.forEach(function(e){e.comments=[];var s=+e.share_link.match(/\d+/);answer_ids.push(s),answers_hash[s]=e}),e.has_more||(more_answers=!1),comment_page=1,getComments()}})}function getComments(){jQuery.ajax({url:commentUrl(comment_page++,answer_ids),method:"get",dataType:"jsonp",crossDomain:!0,success:function(e){e.items.forEach(function(e){e.owner.user_id===OVERRIDE_USER&&answers_hash[e.post_id].comments.push(e)}),e.has_more?getComments():more_answers?getAnswers():process()}})}function getAuthorName(e){return e.owner.display_name}function process(){var e=[];answers.forEach(function(s){var r=s.body;s.comments.forEach(function(e){OVERRIDE_REG.test(e.body)&&(r="<h1>"+e.body.replace(OVERRIDE_REG,"")+"</h1>")});var a=r.match(SCORE_REG);a&&e.push({user:getAuthorName(s),size:+a[2],language:a[1],link:s.share_link})}),e.sort(function(e,s){var r=e.size,a=s.size;return r-a});var s={},r=1,a=null,n=1;e.forEach(function(e){e.size!=a&&(n=r),a=e.size,++r;var t=jQuery("#answer-template").html();t=t.replace("{{PLACE}}",n+".").replace("{{NAME}}",e.user).replace("{{LANGUAGE}}",e.language).replace("{{SIZE}}",e.size).replace("{{LINK}}",e.link),t=jQuery(t),jQuery("#answers").append(t);var o=e.language;/<a/.test(o)&&(o=jQuery(o).text()),s[o]=s[o]||{lang:e.language,user:e.user,size:e.size,link:e.link}});var t=[];for(var o in s)s.hasOwnProperty(o)&&t.push(s[o]);t.sort(function(e,s){return e.lang>s.lang?1:e.lang<s.lang?-1:0});for(var c=0;c<t.length;++c){var i=jQuery("#language-template").html(),o=t[c];i=i.replace("{{LANGUAGE}}",o.lang).replace("{{NAME}}",o.user).replace("{{SIZE}}",o.size).replace("{{LINK}}",o.link),i=jQuery(i),jQuery("#languages").append(i)}}var ANSWER_FILTER="!t)IWYnsLAZle2tQ3KqrVveCRJfxcRLe",COMMENT_FILTER="!)Q2B_A2kjfAiU78X(md6BoYk",answers=[],answers_hash,answer_ids,answer_page=1,more_answers=!0,comment_page;getAnswers();var SCORE_REG=/<h\d>\s*([^\n,]*[^\s,]),.*?(\d+)(?=[^\n\d<>]*(?:<(?:s>[^\n<>]*<\/s>|[^\n<>]+>)[^\n\d<>]*)*<\/h\d>)/,OVERRIDE_REG=/^Override\s*header:\s*/i;
body{text-align:left!important}#answer-list,#language-list{padding:10px;width:290px;float:left}table thead{font-weight:700}table td{padding:5px}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <link rel="stylesheet" type="text/css" href="//cdn.sstatic.net/codegolf/all.css?v=83c949450c8b"> <div id="answer-list"> <h2>Leaderboard</h2> <table class="answer-list"> <thead> <tr><td></td><td>Author</td><td>Language</td><td>Size</td></tr></thead> <tbody id="answers"> </tbody> </table> </div><div id="language-list"> <h2>Winners by Language</h2> <table class="language-list"> <thead> <tr><td>Language</td><td>User</td><td>Score</td></tr></thead> <tbody id="languages"> </tbody> </table> </div><table style="display: none"> <tbody id="answer-template"> <tr><td>{{PLACE}}</td><td>{{NAME}}</td><td>{{LANGUAGE}}</td><td>{{SIZE}}</td><td><a href="{{LINK}}">Link</a></td></tr></tbody> </table> <table style="display: none"> <tbody id="language-template"> <tr><td>{{LANGUAGE}}</td><td>{{NAME}}</td><td>{{SIZE}}</td><td><a href="{{LINK}}">Link</a></td></tr></tbody> </table>


83
धोखा जवाब जो काफी काम नहीं करता है: लिनक्स सिस्टम पर, जानबूझकर कर्नेल को क्रैश करता है। लिनक्स के एक बीएसओडी के समकक्ष कैप्स लॉक लाइट को चमकता है, बस दुर्घटना में भी वीडियो हार्डवेयर को नीचे ले जाता है और आप बीएसओडी रिपोर्ट को ऑनस्क्रीन नहीं देख सकते हैं। दुर्भाग्य से, जहाँ तक मैं बता सकता हूँ कि यह एक योग्य उत्तर होने के लिए बहुत तेज़ी से चमकता है। यह (कुछ हद तक दुर्भावनापूर्ण) 14-बाइट समाधान की ओर ले जाएगा अगर इसे अनुमति दी गई थी।

57
अब इसे मोर्स कोड में ब्लिंक करें: "हेल्प, मैं एक कीबोर्ड फैक्टरी में फंस गया हूँ!"
mbomb007

12
@ ais523 मेरा लैपटॉप ऐसा करेगा कि अगर मैं इसे हिलाता हूं (0 बाइट)। बहुत तेजी से यद्यपि ...
टिम

18
C64 पर कैप्सलॉक कुंजी एक यांत्रिक स्विच है। निमिष थोड़ा मुश्किल हो सकता है ...
मार्क

8
अब मैं सोच रहा हूं कि क्या मेरे वायरलेस कीबोर्ड पर कम बैटरी एलईडी सही दर पर चमकती है। यदि ऐसा है: शून्य बाइट्स।
रोजर लिप्सकॉम्ब

जवाबों:


123

Befunge (BEF32), 390 334 305 बाइट्स

यह वास्तव में मूर्खतापूर्ण है, लेकिन जब तक यह साइट इस धारणा को स्वीकार करती है कि दुभाषिया भाषा को परिभाषित करता है , मैं नियम का दुरुपयोग कर सकता हूं। यह कोड केवल केविन Vigor के Win32 Befunge-93 कार्यान्वयन, संस्करण 1.01 (मुझे लगता है कि केवल उपलब्ध संस्करण) में काम करता है। आप यहां बाइनरी डाउनलोड कर सकते हैं

p55p99+5p65*5p")"5p"M"3*"I~q"+\3*3445"|"2*"lm"2v
v"y"*3\*2"e/n"4\5"nnIn"*833*2"mn"4\7"nnIn"*833*<
>2*"yO"4"DJG"3*\2*55*3"T"4"DLG"3*\2*55*3"/~M"+\3*4446"~A"+4v
>+00p9p:v:"l'"*2"^D"4"l3"*2"^D"4"l"*54*2"^D"4"l"*2+94*2"^D"<
^1:g00-4_5"u1"*-:1+:1+"@"\0p"%"5*\0p"P"\0p@
Sleep kernel32.dll keybd_event user32.dll

अब आम तौर पर आप इस तरह की चुनौती की उम्मीद नहीं करते हैं कि एक Befunge में संभव हो सकता है, लेकिन BEF32 संदर्भ कार्यान्वयन के बहुत पुराने संस्करण का एक Win32 पोर्ट है, और वापस तो p(पुट) कमांड पर कोई सीमा जाँच नहीं थी । यह हमें स्मृति में किसी भी स्थान पर प्रभावी रूप से लिखने की अनुमति देता है, जो अंततः दुभाषिया को मनमाने मशीन कोड को निष्पादित करने के लिए मजबूर करता है।

अब हम वास्तव में किसी भी मौजूदा कोड को बदल नहीं सकते, क्योंकि निष्पादन योग्य के .text अनुभाग में लिखने की अनुमति नहीं होगी। हालाँकि, हम उस पते को रनटाइम लाइब्रेरी के atexitटेबल में लिखकर (कम से कम मुझे संदेह है कि यह क्या है) में सिस्टम को ट्रैप कर सकते हैं । अंतिम परिणाम यह है कि जब दुभाषिया बाहर निकलता है तो हमारा कोड स्वचालित रूप से निष्पादित होता है।

यह तथ्य यह है कि निष्पादन एक निश्चित पते पर लोड किया जाता है पर निर्भर करता है, इसलिए हम जानते कि कोई चीज़ कहाँ स्मृति में है - यदि आप डिफ़ॉल्ट overrode यह assumedly कार्य नहीं करेगा ASLR सेटिंग्स। यह निष्पादन योग्य विशेषता सेट के न होने के बावजूद, .data अनुभाग के निष्पादन योग्य होने पर निर्भर करता है, इसलिए यदि आप डिफ़ॉल्ट DEP सेटिंग्स को ओवररोड करते हैं तो फिर से यह संभव नहीं होगा ।

कोड अनिवार्य रूप से मशीन कोड में अनुवादित मेगो की keybd_eventतकनीक की एक प्रति है :

6823B84000         push "keybd_event"
682FB84000         push "user32.dll"
6810B84000         push "Sleep"
6816B84000         push "kernel32.dll"
BB02000000         mov  ebx,2
               initloop:
89C7               mov  edi,eax
FF1594D14000       call LoadLibraryA
50                 push eax
FF1590D14000       call GetProcAddressA
4B                 dec  ebx
75EE               jnz  initloop
89C6               mov  esi,eax
               flashloop:
6A00               push 0
6A01               push 1
6A45               push 69
6A14               push 20
FFD6               call esi
6A00               push 0
6A03               push 3
6A45               push 69
6A14               push 20
FFD6               call esi
68F4010000         push 500
FFD7               call edi
EBE3               jmp  flashloop

कोड का यह संस्करण हमेशा के लिए चमकता रहता है (या कम से कम जब तक आप इस प्रक्रिया को नहीं मारते हैं), क्योंकि यह एक फ्लैश से गोल्फ के लिए आसान हो गया है।

और जब से हर कोई एनिमेशन पोस्ट कर रहा है, यह मेरे कीबोर्ड पर जैसा दिखता है उसका एक अनुमान है।

कैप्सलॉक लाइट चमकती का एनीमेशन


30
लोग आमतौर पर उनके लिए जीवन आसान बनाने के लिए नियमों का दुरुपयोग करते हैं, लेकिन वे बेफिजूल कोडर नहीं हैं :)
हारून

21
इस चुनौती के लिए एसोलंग के उत्तर की अपेक्षा कभी न करें +1
zeppelin

9
अब यह इस साइट पर मेरा पसंदीदा उत्तर है
क्रंचर

2
बहुत बढ़िया कार्यान्वयन!
डैनियल

3
@JamesHolderness तो? यह एक महान जवाब है, भले ही यह लंबा हो।
NoOneIsHere

72

ऑटोहॉटकी, 29 26 बाइट्स

3 बाइट बचाने के लिए @Dane का धन्यवाद

Loop{
Send,{VK14}
Sleep,500
}

मैंने मूल रूप से चुना NumLockक्योंकि यह एक चरित्र से कम है CapsLock। नीचे दिया गया GIF उस स्थिति को दर्शाता है। यह उपरोक्त कोड के समान प्रभाव है। मैं VK90ऊपर GIF के साथ अभी भी सटीक हो सकता है बनाने के लिए ऊपर जा सकता था, लेकिन मूल चुनौती के साथ संरेखित करना बेहतर लगा।

BlinkingNumLock


Mbomb007 की टिप्पणी के सम्मान में , यहाँ 239 बाइट्स में एक मोर्स कोड संदेश है :

s:=000090901009011091100110090111109111901090190110901109091000091001101909101191000911190190109100001090191010919111901091011
Loop,123{
StringMid,c,s,A_Index,1
IfEqual,c,9
{
Sleep,2000
Continue
}
Send,{NumLock}
Sleep,%c%500
Send,{NumLock}
Sleep,500
}

यहाँ उस संदेश के पहले 30 सेकंड हैं:

MorseCodeBlinking


3
send,{vk14}इसके बजाय 3 बाइट्स से दाढ़ी बनाने के लिए कैसे ? बोनस: आप कैप्सलॉक को ब्लिंक करेंगे।
डेन

35

जीएफए-बेसिक 3.51 (अटारी एसटी),  61 56 43  35 बाइट्स

यह कोड फ्लॉपी ड्राइव एलईडी ब्लिंक को हमेशा के लिए आवश्यक दर ( PAUSE 25= 25/50 सेकंड के लिए रोकें) कर देगा।

यह शायद असेंबली में छोटा होगा, लेकिन मेरे पास अपनी उंगलियों पर उपयुक्त उपकरण नहीं हैं। यह जीएफए-बेसिक लिस्टिंग का आकार है जो एक बार .LST फॉर्मेट में सेव हो जाता है और बेकार व्हाट्सएप को हटाने के लिए मैन्युअल रूप से एडिट हो जाता है, निर्देश को छोटे स्ट्रिंग्स में बदल देता है और प्रत्येक CR+LFको एक साधारण से बदल देता है CR। ध्यान दें कि एक अंतिम CRआवश्यकता है।

DO
i=i XOR2
SP &HFF8802,i
PA 25
LO

स्वतः ही विस्तारित हो जाएगा:

DO
  i=i XOR 2
  SPOKE &HFF8802,i
  PAUSE 25
LOOP

SPOKEएक सुपरचार्ज्ड है POKEजो पहले 68000 को पर्यवेक्षक मोड में रखता है, ताकि इसे प्रतिबंधित मेमोरी क्षेत्रों तक पहुंचने की अनुमति दी जाए (यहां: रजिस्टर YM2149 साउंडचिप का पता लिखें, जो कुछ अन्य I / O के लिए भी जिम्मेदार है)।

और हां: एलईडी शारीरिक रूप से कीबोर्ड पर स्थित है ... मुझे लगता है।

ST फ्लॉपी एलईडी

मेरे पास अभी एक वास्तविक एसटी तक पहुंच नहीं है, इसलिए यह सिर्फ एक मजाक है।


7
फ्लॉपी ड्राइव! वाह!
डेविड कॉनरेड

12
हाथ से खींचा गया लाल घेरा गायब ...
हेगन वॉन एटजेन

@HagenvonEitzen उम्मीद है कि अब लाल घेरे की ज़रूरत नहीं है। :-)
अरनॉल्ड

23

मछली + ckb , 56 54 बाइट्स

while cd;echo rgb (random)|tee /d*/*/*/c*;sleep .5;end

यादृच्छिक रंगों में मेरे पूरे कीबोर्ड को ब्लिंक करता है, हालांकि चूंकि संख्या 6 हेक्स अंकों की नहीं है, इसलिए यह थोड़ा सीमित है।

और हां, वह शेल ग्लोब संभावित खतरनाक है। मेरे मशीन ™ पर काम करता है

बोनस स्क्रिप्ट, 8 महीने बाद: यह सभी रंगों से गुजरेगा। गोल्फ नहीं है।

#!/usr/bin/fish
while true
        echo rgb (printf '%06x' (random 0 16777215)) | tee /dev/input/ckb*/cmd > /dev/null
        sleep 0.5
end

13
यह कौन सा कीबोर्ड है? lol
Mc कर्नेल

1
@ मेक कर्नेल टक्कर के रूप में क्या कीबोर्ड के रूप में अच्छी तरह से है
CraigR8806

3
कस्टम कीकैप के
Una

6
पूरे कीबोर्ड को ब्लिंक करके ऊपर और उससे आगे जाने के लिए बोनस अंक।
मस्त

tee /d*/*/*/c*? बोनस भविष्य में कुछ खराब sod के कंप्यूटर को ईंट करने के लिए उत्तरदायी होने के कारण, जब यह अनिवार्य रूप से कुछ महत्वपूर्ण हो जाता है। (ईएफआई किसी को भी /dev/efi/vars/cpu_type
चरता है

21

बैश + अमृत, 45 बाइट्स

a() { amixer set Master toggle
}
a;sleep .5;a

मेरे कीबोर्ड पर म्यूट लाइट को ब्लिंक करता है।


17
a()(amixer set Master toggle;sleep .5;a)या amixer set Master toggle;sleep .5;$0एक पूर्ण कार्यक्रम के रूप में थोड़ा छोटा है।
डेनिस

19

सी (विंडोज), 79 बाइट्स

#include<windows.h>
k(n){keybd_event(20,69,n,0);}f(){k(1);k(3);Sleep(500);f();}

व्याख्या

keybd_eventएक कीबोर्ड ईवेंट (कीप या कीडाउन) भेजने के लिए (अपग्रेड किया गया) विंडोज एपीआई फंक्शन है। 20कैप्स लॉक कुंजी के लिए कोड 69है, हार्डवेयर स्कैन कोड है (मुझे इसका कोई मतलब नहीं है कि इसका मतलब क्या है), और 1का 3मतलब है किडाउन और कीप। एक कीप को तुरंत एक कीपड घटना के द्वारा भेजा जाता है। कैप्स लॉक को चालू करने के लिए एक कीप भेजा जाता है, फिर प्रोग्राम 500 मिली सेकेंड के लिए सो जाता है, और फिर कैप्स लॉक को बंद करने के लिए एक और कीप भेजा जाता है।

सहेजे गए बाइट्स के एक समूह के लिए Steadybox के लिए धन्यवाद


1
यह देखते हुए कि int keybd_event();क्या आप घोषित नहीं कर सकते हैं ?
नील

@ नील यह होगा void keybd_event();, और मुझे भी इसकी आवश्यकता void Sleep();है windows.h। एक साथ उन दो घोषणाओं में शामिल से अधिक लंबी हैं।
मेगो

1
79 बाइट्स:#include<windows.h> k(n){keybd_event(20,69,n,0);}f(){k(1);k(3);Sleep(500);f();}
Steadybox

2
यकीन है, लेकिन आदिम प्रकारों के लिए, सी बेमेल के बारे में परवाह नहीं करता है यदि आप कभी भी परिणाम का उपयोग नहीं करते हैं।
नील

6
स्कैन कोड वह होता है जो आपका कीबोर्ड सबसे निचले स्तर पर तार पर भेजता है। उनके मान एक मानक लेआउट में पदों पर आधारित होते हैं क्योंकि ऐसा करने से उन्हें कीबोर्ड को जितना संभव हो सके उतना गूंगा बना दिया जाता है और प्रत्येक कुंजी को तार किए बिना इस डिज़ाइन की सीमाएं इस बात का हिस्सा होती हैं कि क्यों सस्ता कीबोर्ड केवल कुछ एक साथ कीस्ट्रोक्स लौटा सकता है - अंतर बेसलाइन USB कीबोर्ड इंटरफेस ने तब होस्ट कंप्यूटर पर ट्रांसलेशन स्टेप को ऑफलोड करने की कीमत पर लगभग 20 साल पहले कीबोर्ड के विशाल बहुमत में min std को डिजाइन किया)। en.wikipedia.org/wiki/Scancode
Dan Neely

16

MATLAB, 146 136 70

66 बाइट निकालने के लिए @ पोक का धन्यवाद !

r=java.awt.Robot;while 1
r.keyPress(20)
r.keyRelease(20)
pause(.5);end

यह जावा कक्षाओं को कॉल करने की मैटलैब की क्षमता का उपयोग करता है। क्रमिक रूप से दबाने और विमोचन के द्वारा एक लॉक में Num Lock लाइट को ब्लिंक किया जाता है Num Lock

वीडियो या ऐसा नहीं हुआ


9
के 144बजाय आप का उपयोग कर सकते हैं java.awt.event.KeyEvent.VK_NUM_LOCK? CAPS_LOCK होगा20
पोक

2
@ हाँ! वहाँ जाओ 66 बाइट्स !!
लुइस मेंडो

7
यह मजेदार है कि यह जावा उत्तर से छोटा है
मात्सेमन्न

15

पीसी के लिए x86 मशीन कोड (जैसे MS-DOS COM फ़ाइल), 27 बाइट्स

यह मशीन कोड (पीसी BIOS के सामान्य CP437 के यूनिकोड रेंडर के साथ यहां प्रदर्शित किया गया है) एक पीसी पर हमेशा के लिए CAPS LOCK इंडिकेटर को ब्लिंक करेगा:

j@▼î▐j`Z░φεê╪εÇ≤♦╞♦◙Ç<☺t∩δ∙

कोड बनाया गया है, इसलिए इसमें कोई NULL बाइट्स नहीं हैं, और इस प्रकार एक COM फाइल बनाने के लिए कीबोर्ड (विस्तारित वर्णों के लिए Alt + XXX ट्रिक का उपयोग करके) के साथ टाइप किया जा सकता है (उदाहरण के लिए, COPY CON blink.comMS-DOS के तहत कमांड का उपयोग करके , जिस स्थिति में आउटपुट फ़ाइल में एक नकली 28 वें बाइट को समाहित करना होगा , ^Z(EOF) वर्ण को कॉपी ऑपरेशन को रोकने के लिए आवश्यक है)।

एलईडी स्टेट को सेट करने के लिए पीसी (कीबोर्ड 60h) के कीबोर्ड कंट्रोलर को सीधे कमांड भेजकर प्रभाव प्राप्त किया जाता है (साइड-इफेक्ट के रूप में, यह रॉम लॉक और स्क्रॉल लॉक एल ई डी को एक यादृच्छिक गैर-ब्लिंकिंग अवस्था में सेट कर सकता है)। समय, निर्देशों की संख्या को कम करने के लिए, पते पर BIOS द्वारा बनाए गए उलटी गिनती टाइमर का उपयोग करके प्राप्त किया जाता है 0040:0040(यह हर 54.925 एमएस में घटता है, 9 चक्रों के साथ निमिष चक्र 494.3 एमएस है, जो अनुमत मार्जिन के भीतर है) - यह काउंटर आमतौर पर फ्लॉपी डिस्क मोटर को रोकने के लिए BIOS द्वारा उपयोग किया जाता है; चूंकि फ्लॉपी ड्राइव का उपयोग प्रोग्राम द्वारा नहीं किया जाता है और कोड को एकल-कार्य वातावरण (जैसे DOS) में चलाया जाता है, इसलिए फ्लॉपी मोटर टाइमर के साथ खेलना कोई समस्या नहीं है।

MS-DOS के तहत कोड ठीक चलता है (वर्चुअलबॉक्स के साथ आज़माया गया, इसे असली हार्डवेयर पर भी चलना चाहिए, हालाँकि मेरे पास बूट करने योग्य MS-DOS USB स्टिक बनाने के लिए अभी तक समय नहीं है)। जैसा कि यह किसी भी OS फ़ंक्शन पर निर्भर नहीं करता है, यह ऑपरेटिंग सिस्टम के बिना भी चल सकता है (उदाहरण के लिए, इसे डिस्क के बूट सेक्टर में रखकर)। इसे चलाने के लिए कम से कम 80186 प्रोसेसर की आवश्यकता होती है, क्योंकि कुछ बाइट्स के कोड को छोटा करने के लिए "तत्काल धक्का" निर्देशों का उपयोग किया जाता है।

विधानसभा स्रोत कोड:

  PUSH 0x40               ; pushes 0x0040 (BIOS data segment) on the stack
  POP DS                  ; pops it into DS segment selector
  MOV SI, DS              ; copies DS to SI (timer counter is nicely placed at 40:40)
  PUSH 0x60               ; pushes 0x0060 (kbd controller port) on the stack
  POP DX                  ; pops it to DX
loop:
  MOV AL, 0xED            ; 8042 keyboard controller 'set mode indicators' command
  OUT DX, AL              ; outputs the command to the keyboard contr oller
  MOV AL, BL              ; copy BL register to AL
  OUT DX, AL              ; outputs LED state to keyboard controller
  XOR BL, 4               ; toggles bit 2 (CAPS LOCK) for next iteration
  MOV BYTE PTR[SI], 0x0A  ; sets floppy motor countdown timer to 10
wait:
  CMP BYTE PTR[SI], 0x01  ; checks if timer reached 1
  JE loop                 ; if yes, time for next iteration
  JMP wait                ; if not, checks again

इकट्ठे कोड के हेक्साडेसिमल डंप:

6A 40 1F 8C DE 6A 60 5A B0 ED EE 88 D8 EE 80 F3 04 C6 04 0A 80 3C 01 74 EF EB F9

यहाँ परिणाम VirtualBox में MS-DOS के तहत चल रहा है (DosBox के साथ काम नहीं करता है, संभवतः क्योंकि कीबोर्ड नियंत्रक पूरी तरह से अनुकरण नहीं किया गया है):

पलक झपकते ढक्कन

(अस्थिर वीडियो के लिए खेद है)।


वास्तव में उपयोग करने का एक उदाहरण copy con program.exe: youtube.com/watch?v=iefuJ_jZAiQ
जेरी जेरेमियाह

13

स्माइलबासिक, 36 23 बाइट्स

XON MIC
WAIT 30XOFF MIC

माइक्रोफ़ोन स्थिति प्रकाश को झपकाता है। (वीडियो जल्द ही आ रहा है)


12

पायथन 2 - 108 बाइट्स

क्या कैप्सलॉक की कुंजी है। दिलचस्प है, यह वास्तव में कीबोर्ड को प्रभावित किए बिना या कुंजी दबाए बिना केवल एलईडी को चालू करता है। आप सुन्न 4करने के 2लिए अंत में बदल सकते हैं । 6दोनों करता है।

import fcntl,os,time;exec"fcntl.ioctl(os.open('/dev/console',os.O_NOCTTY),19250,%d);time.sleep(.5);"*2%(4,0)

लगता है कि मुझे एक त्रुटि मिली:Traceback (most recent call last): File "<stdin>", line 1, in <module> File "<string>", line 1, in <module> IOError: [Errno 25] Inappropriate ioctl for device
हायकम

@haykam आप विंडोज पर हैं?
माल्टीसेन

1
नहीं, मैं चालू हूं macOS Sierra Version 10.12.1 (16B2555)
हयकम

8

शेल + न्यूक्लॉक्स, 40 35 बाइट्स

[रयान के लिए 5 बाइट्स को सहेजा गया।]

लगातार यूनिक्स सिस्टम पर NumLock लाइट को ब्लिंक करता है।

numlockx toggle;sleep .5;exec sh $0

सिंगल ब्लिंक, 33 बाइट्स

numlockx on;sleep .5;numlockx off

1
आप 5 बाइट्स को बचाने के exec sh $0बजाय उपयोग कर सकते हैं while, या sh $0यदि हमेशा के लिए प्रक्रियाएं बनाना ठीक माना जाता है।
Ry-

2
watch -n0.5 numlockx toggle 27 बाइट्स के लिए।
तेजस काले

ऊपर के एक अलग स्वाद के लिए, इंटरैक्टिव गोले पर, आप numlockx toggle;sleep .5;!#एक पलक के लिए : (27 बाइट्स) टाइप कर सकते हैं । !#कमांड लाइन में अब तक टाइप की गई हर चीज की जगह इतिहास विस्तार घटना है।
init_js

सिंगल ब्लिंक कमांड में, onछोड़ा जा सकता है। यह डिफ़ॉल्ट है।
init_js

असाइनमेंट के साथ, कोई ट्रिक नहीं: f=numlockx;$f;sleep .5;$f off(29)। और (एक अवर) लय संस्करण का उपयोग पुनरावृत्ति: g(){ f=numlockx;$f toggle;sleep .5;g;};g(40)।
init_js

8

पॉवरशेल , 71 बाइट्स

for(){(New-Object -c WScript.Shell).SendKeys('{NUMLOCK}');sleep -m 500}

टिप्पणियाँ

  • पलक झपकते हमेशा के लिए
  • NUM LOCKएक बाइट को बचाने के लिए उपयोग करता है।

"अगर आपकी भाषा एक उपखंड नींद आदेश याद कर रही है ..." - यह लगता है जैसे यह PowerShell से गायब नहीं है।
डेन

@ मैंने पोस्टर को स्पष्टीकरण के लिए कहा है। यदि दंड को स्वीकार करने के लिए चुनाव की अनुमति नहीं है, तो मैं इसे वापस कर दूंगा।
ब्रितानी

@ डेन वापस लुढ़क गया।
ब्रितानी

नींद कैसे आती है .5 यहाँ काम नहीं करता है? मैंने इसे आज़माया और यह 5ms पर जाने के लिए लगता है, लेकिन मैंने डिफ़ॉल्ट रूप से सोचा (-s) तो यह 0.5 s होगा?
जेक हैरी

1
@JakeHarry: -Secondsपैरामीटर एक है int, इसलिए 0.5इसे परिवर्तित किया जाएगा int, जिसके परिणामस्वरूप 0(यहां तक ​​कि डिफ़ॉल्ट राउंडिंग मोड भी है)। तो आप बिल्कुल भी नहीं सो रहे हैं (परिणाम लगभग 1000 टिकों की देरी के कारण, इसलिए 10 all)। PowerShell में बहुत मूल रूपांतरण और पैरामीटर बाध्यकारी नियम।
जॉय

7

वीबीएस, 75 बाइट्स

do
wscript.sleep 500
Createobject("wscript.shell").sendkeys"{numlock}"
loop

बार-बार पलक झपकते ही न्यूम लॉक की, जैसा numlockकि 1 बाइट से कम है capslock


7

सी #, 215 202 198 195 185 बाइट्स

यह महसूस किए बिना कि मैंने @Mego द्वारा इस उत्तर के रूप में "समान" कोड किया है , इसे देखें!

[System.Runtime.InteropServices.DllImport("user32")]static extern void keybd_event(int v,int s,int f,int e);n=>{for(n=0;;System.Threading.Thread.Sleep(125))keybd_event(20,69,n++&2,0);};

सहेजे गए 13 बाइट्स @Metoniem की बदौलत @VisualMelon की बदौलत
10 बाइट्स बच गए

यहां एक पूर्ण स्वरूपित संस्करण दिखाया गया है जो इसे काम कर रहा है:

class P
{
    [System.Runtime.InteropServices.DllImport("user32")]
    static extern void keybd_event(int v, int s, int f, int e);

    static void Main()
    {
        System.Action<int> a = n =>
        {
            for (n = 0; ; System.Threading.Thread.Sleep(125))
                keybd_event(20, 69, n++ & 2, 0);
        };

        a(0);
    }
}

बोनस मज़ा के n++ & 2लिए n+=2 & 2और पर और बंद चमकती संख्या लॉक और कैप्स लॉक कुंजी वैकल्पिक देखने के लिए बदल जाते हैं। मुझे नहीं पता कि ऐसा क्यों होता है क्योंकि यह नहीं होना चाहिए लेकिन यह "शांत" दिखता है।


रुको, तुम हो, using System;लेकिन जहाँ तक मैं बता सकता हूँ कि तुम वास्तव में सिस्टम नामस्थान से सीधे कुछ भी उपयोग नहीं कर रहे हो? मुझे लगता है कि आप इसे हटा सकते हैं।
मेटोनीम

@Metoniem keybd_eventविधि के लिए हस्ताक्षर वास्तव में अच्छा है void keybd_event(byte bVk, byte bScan, uint dwFlags, UIntPtr dwExtraInfo);। मुझे लगता है कि मैं UIntPtrपोस्टिंग के बाद उन्हें हटा सकता हूं और उन्हें उपयोग के रूप में intनिकालना भूल गया हूं ।
TheLethalCoder

1
आह, मैं देख रहा हूँ, सामान ऐसा होता है! अच्छा जवाब आदमी :)
मेटोनीम

मुझे लगता है कि आपको वास्तव में दो 'कार्यों' का नाम और प्रकार देना चाहिए: आप kएक में संदर्भित करते हैं , लेकिन यह स्पष्ट रूप से अपरिभाषित है। चेक नहीं किया गया है, लेकिन मुझे लगता है कि आप लूप के लिए एक अनब्लॉक में keybd_event में एक कॉल करने से बेहतर होगा, मुझे सोचना चाहिए: for(int i=0;;...Sleep(250))keybd_event(i++&2)या कुछ और।
विजुअलमेल

@VisualMelon धन्यवाद, मैंने कोड को अपडेट कर दिया है, हालांकि टाइमिंग सही पाने के लिए नींद को बदलना पड़ा :)
TheLethalCoder

6

जावा 7, 121 118 113 बाइट्स

void a()throws Exception{java.awt.Robot r=new java.awt.Robot();r.keyPress(20);r.delay(500);r.keyRelease(20);a();}

एक एकल प्रेस और रिलीज राज्य को ट्रिगर करता है; यह पलक नहीं झपकाता। इस प्रकार हम इसे लूप कर सकते हैं और ऐसा लगता है कि पुनरावृत्ति ऐसा करने का सबसे सस्ता तरीका है।


1
यहाँ एक QBasic दुभाषिया मेरे पास क्या अफ़सोस की बात है! क्योंकि यह एक Poke अनुदेश का उपयोग करके किया जाता है !
सेरगिओल

क्या इससे टेल-कॉल अनुकूलित हो जाता है या यह अंततः कॉल स्टैक सीमा से अधिक हो जाएगा?
साइयो

@ मुझे लगता है कि जावा को पूंछ कॉल अनुकूलन नहीं है जावा 9 तक तो यह अंततः पुनरावृत्ति की गहराई सीमा को हिट करता है, लेकिन यह ठीक है क्योंकि मुझे केवल एक बार प्रकाश को झपकी की जरूरत है:]
प्रहार करें

1
मेरा मतलब है कि आप पूरे कोड को एक लैम्ब्डा में डाल सकते हैं, जो फ़ंक्शन घोषणा ओवरहेड खो देता है। तरह तरह:: ()->for(;;){java.awt.Robot r=new java.awt.Robot();r.keyPress(20);r.delay(500);r.keyRelease(20);}, जो 4-चरित्र लंबोदर घोषणा उपरि के कारण 18 बाइट्स की बचत है।
तमोग्ना चौधरी

1
एक और कारण मैं वापस नहीं जा रहा हूँ! ;) सभी गंभीरता में, बस जावा 8 के उत्तर को बदलें और दो अंकों के अंकों में जाएं। यदि आपके पास परीक्षण के लिए पहले से नहीं है तो इसे स्थापित करें।
तमोग्ना चौधरी

5

जावास्क्रिप्ट, 82 बाइट्स

क्रेडिट @FinW को जाता है वास्तव में, मैंने कुछ बाइट्स को बचाने के लिए पुराने फ़ंक्शन को नए ES6 एरो फ़ंक्शन में बदल दिया। और मेरे पास एक नया उत्तर लिखने के लिए मेरे पास पर्याप्त बिंदु नहीं हैं।

संपादित करें - एक और 2 बाइट को बचाने के लिए हटाए गए ब्रैकेट।

o=new ActiveXObject("WScript.Shell");setInterval(()=>o.SendKeys("{NUMLOCK}"),500);

उनका कोड इस तरह दिखता था

o=new ActiveXObject("WScript.Shell");setInterval(function(){o.SendKeys("{NUMLOCK}")},500);

1
एरो फंक्शन के लिए आपको इसके सामने कोष्ठक की आवश्यकता नहीं है।
f --n 20tɪk

इसके बारे में पूरी तरह से भूल गए, धन्यवाद।
शासक

मेरा मतलब उन कोष्ठकों से था जिन्हें आपने कार्य से हटा दिया था ()
fɛn thetɪk

ओह, लेकिन आप ऐसा नहीं कर सकते, यह काम नहीं करेगा। लेकिन आप कोष्ठक को हटा सकते हैं क्योंकि उन्हें एक-पंक्ति के बयानों की आवश्यकता नहीं है (किसी कारण से आपकी टिप्पणी ने मुझे उन्हें याद दिलाया, भले ही आपका मतलब कुछ अलग हो)
शासक

एक बाइट ()को दूसरे, एकल वर्ण, जैसे कि _या oडिफ़ॉल्ट रूप से एक पैरामीटर बनाकर , जैसे: के साथ बदलें (o=new ActiveXObject("WScript.Shell"))=>
झबरा

4

स्काला, 84 83 78 बाइट्स

संपादित करें: सहेजे गए 1 बाइट @ @LethalCoder के लिए धन्यवाद,

उन्होंने सुझाव दिया 1>0कि इसके स्थान पर उपयोग किया जाए true

संपादित 2: सहेजे गए 5 बाइट @ Corvus_192 के लिए धन्यवाद,

उन्होंने कंस्ट्रक्शन के बाद इनफिक्स नोटेशन का उपयोग करने और कोष्ठकों को छोड़ने का सुझाव दिया

while(1>0){val r=new java.awt.Robot;r keyPress 20;r keyRelease 20;r delay 500}

Ungolfed:

while(1>0) {
    val r=new java.awt.Robot()
    r.keyPress(20)
    r.keyRelease(20)
    r.delay(500)
}

@Poke के जावा उत्तर का स्टैंडर्ड स्काला पोर्ट । इसे सीधे Scala दुभाषिया प्रॉम्प्ट में टाइप करें।

इसका एक वीडियो मेरे कैप्स लॉक एलईडी और बूट करने के लिए मेरे OSD दोनों को ब्लिंक करता है!

ब्लिंकिंग कैप्स लॉक एलईडी और ओएसडी


आप कर सकते हैं for(;;)या स्काला में while(1>0)या while(1)?
TheLethalCoder

दूसरा संभव है। 1-बाइट की बचत जो पहले मेरे पास नहीं हुई थी। धन्यवाद!
तमोग्ना चौधरी

आप infix संकेतन का उपयोग कर सकते हैं: r keyPress 20बाइट से छोटा है r.keyPress(20)। वही अन्य विधि कॉल पर लागू होता है, जिससे कुल 3 बाइट बचती हैं।
corvus_192

इसके अलावा, एक और 2 बाइट्स को बचाने के लिए कंस्ट्रक्टर कॉल से कोष्ठक ड्रॉप करें।
corvus_192

4

लिनक्स टर्मिनल, 8 + 11 = 19 बाइट्स

डेमो

फ़ाइल f=1B 5B 33 71 1B 5B 30 71

native@shell:~$ pv f -q -L8

WAT?

ECMA-48 के अनुसार , 1Bटर्मिनल कंट्रोल एस्केप सीक्वेंस शुरू करता है।

पर कैप्स = 1B 5B 33 71, फिर बंद =1B 5B 30 71

pv प्रगति देखें

f फ़ाइल

-q चुप

-L8 8 बाइट्स / एस = 0.5 सेकंड की देरी

प्रयोग

तैयार करना

#Create file
echo "1B 5B 33 71 1B 5B 30 71"|xxd -r -p > f 

#Install progress view utility
sudo apt install pv

Ctrl+ Alt+ F6देशी कंसोल पर स्विच करें

Daud pv f -q -L8

Ctrl+ Alt+ F7वापस स्विच


3

बैश + Xdotool, 36 बाइट्स

for((;;)){ xdotool key 66;sleep .5;}

बस इसे बैश शेल में निष्पादित करें। इसे एक ग्राफिकल वातावरण में होना चाहिए। यहां से अनंत लूप । 6 बाइट्स को बचाने के लिए Num_Lock से 66 को बदला गया, और 2 बाइट्स के लिए @Michael Kjörling को धन्यवाद।


अनावश्यक व्हाट्सएप को हटाकर आप कम से कम दो बाइट बचा सकते हैं। आपको कर्ली ब्रैकेट बंद करने से पहले व्हॉट्सएप की आवश्यकता नहीं है, और आपको कमांड को अलग करने वाले अर्धविराम के आसपास व्हाट्सएप की आवश्यकता नहीं है। आप करते खोलने धनुषाकार कोष्ठक के बाद खाली स्थान के, हालांकि जरूरत है।
एक CVn

इसके अलावा, अपने शुरुआती संशोधन के बारे में: ध्यान रखें कि आप अधिकांश प्रणालियों के :लिए एक उपनाम के रूप में उपयोग कर सकते हैं truewhile :;do sth;doneके रूप में एक ही बात करता है, while true;do sth;doneलेकिन तीन बाइट्स कम है। for((;;)){ sth;}हालांकि अभी भी कम है।
बजे एक CVn

@ कैओस कहां? यह मेरे लिए काम नहीं किया।
Feldspar15523

@ मुझे लगता है कि केवल कार्यों को घोषित करने के लिए काम करता है।
Feldspar15523


3

xdotool , 20 बाइट्स

key -delay=500 66 66

प्रमुख प्रेस के बीच 500 एमएस की देरी के साथ, कुंजी 66 उर्फ कैप्स लॉक को दो बार दबाएं।

ध्यान दें कि xdotool एक स्क्रिप्टिंग भाषा है; इसे एक फाइल से चलाया जा सकता है और यह शेबांग को भी सपोर्ट करता है। चूंकि इसकी execकमान बाहरी कार्यक्रमों को चलाने की अनुमति देती है, इसलिए यह जोड़-तोड़ और मौलिकता परीक्षण में सक्षम है, इसलिए यह प्रोग्रामिंग भाषा की हमारी परिभाषा को संतुष्ट करता है।

परीक्षण चालन

$ cat blink.xdo; echo
key -delay=500 66 66
$ xdotool blink.xdo

यहाँ छवि विवरण दर्ज करें


3

पाइयूटुगुई का उपयोग करते हुए पायथन: 126 143 115 103 बाइट्स

12 बाइट बचाने के लिए @ nedla2004 को धन्यवाद

from pyautogui import*
import time
while 1:keyDown('capslock');time.sleep(.5);keyUp('capslock')pslock')

1
आप लूप को while 1:keyDown('capslock');time.sleep(.5);keyUp('capslock')बदल सकते हैं, और आप पहली पंक्ति को बदल सकते हैं from pyautogui import*, और दूसरी को import time
nedla2004

आप डुप्लिकेट 'कैप्सलॉक' को हटा सकते हैं। import time;c='capslock' ...
init_js

आप भी timeपूरी तरह से हटा सकते हैं। from pyautogui import*; while 1:press('capslock',1,.5)। YMMV। मेरे वातावरण पर pyautogui मेरे द्वारा टाइप किए गए केस को प्रभावित करता है, लेकिन प्रकाश झपकाता नहीं है।
init_js

3

बैश, 31 बाइट्स

xset led 1;sleep .5;xset -led 1

एक्स, रूट एक्सेस के बिना काम करता है! (यदि यह आपके लिए काम नहीं करता है, तो सुनिश्चित करें कि xkbcomp सही रूप से कॉन्फ़िगर किया गया है यह सुनिश्चित करने के लिए नीचे दिए गए कोड का init फ़ंक्शन देखें)

और कैप्स लॉक के माध्यम से किसी भी मोर्स कोड को भेजने के लिए एक बोनस स्क्रिप्ट (गोल्फ नहीं):

unit=0.15
id=1
function init {
        file=/tmp/blink_tmp
        xkbcomp $DISPLAY $file
        sed -i 's/!allowExplicit/allowExplicit/' $file
        xkbcomp $file $DISPLAY &>/dev/null
        rm $file
}
if [[ -z $1 ]]; then
        echo "Usage : blink [message]"
        exit 1
fi
init
function finish {
        off
}

function on {
#su -c 'setleds -L +caps < /dev/console'
xset led $id
}
function off {
#su -c 'setleds -L -caps < /dev/console'
xset -led $id
}
function slp {
        sleep $(echo "$unit*$1" | bc)
}
function dot {
on
slp 1
off
slp 1
}
function dash {
on
slp 3
off
slp 1
}
function gap {
        slp 3
}
function morse {
        msg=$1
        for (( i=0; i<${#msg}; i++ )); do
                char=${msg:$i:1}
                if [[ $char == "-" ]]; then
                dash
                elif [[ $char == "." ]]; then
                dot
                elif [[ $char == "/" ]]; then
                gap
                fi
        done
}
while true; do
        morse $1
done

छूट: blink "...././.-../.-../---//.--/---/.-./.-../-..///"


2

बैश + सेटल्ड्स , 43 बाइट्स

setleds -D +caps;sleep 0.5;setleds -D -caps

बहुत साधारण। setledsप्रकाश को टॉगल करने के लिए उपयोग करता है।


2

बैश, 103 बाइट्स

cd /sys/class/leds/asus\:\:kbd_backlight;while true;do echo 3;sleep .5;echo 0;sleep .5;done>brightness

जड़ के रूप में चलाया जाना चाहिए।

क्या पूरे कीबोर्ड का बैकलाइट काम करता है? (वीडियो जब मैं घर पहुंचूं)


1
Does flashing the entire keyboard backlight work?ठीक है, यदि आप इसके बारे में सोचते हैं, तो कीबोर्ड हाइलाइट कीबोर्ड हाइलाइट का एक संकेतक है जो चालू या बंद है, और यह निश्चित रूप से "भौतिक रूप से कीबोर्ड पर स्थित है", इसलिए, हां, मुझे लगता है कि यह मायने रखता है।
zeppelin

2

जावास्क्रिप्ट, 90 बाइट्स

o=new ActiveXObject("WScript.Shell");setInterval(function(){o.SendKeys("{NUMLOCK}")},500);

इसका ActiveXअर्थ है कि यह केवल IE पर चलेगा (एज इसका समर्थन नहीं करता है, हालांकि)। यह NUMLOCK कुंजी को फ्लैश करता है क्योंकि, अन्य उत्तरों के साथ, यह CAPSLOCK या SCROLLLOCK से छोटा है।

Ungolfed

shell = new ActiveXObject("WScript.Shell");
setInterval(
    function(){
        shell.SendKeys("{NUMLOCK}")
    }
,500);

2

बैश, 33 बाइट्स

यह चलने से पहले ही Num-Lock को चालू करता है। स्विच करें offऔर onअन्यथा। numlockxस्पष्ट रूप से पैकेज की आवश्यकता है ;)

numlockx off;sleep .5;numlockx on

संपादित करें:

सॉ एलेक्स अलेक्सांस्की ने पहले ही इस समाधान को पोस्ट कर दिया है, फिर भी इसे बैश के साथ चिह्नित नहीं किया गया है और मैंने बस "बैश" के लिए साइट की खोज की है।


+1, आपको बार-बार इसे ब्लिंक करने की जरूरत नहीं है (मुझे लगता है)।
NoOneIsHere

यदि आप एक इंटरैक्टिव शेल में हैं, तो आप कमांड लाइन पर टाइप कर सकते हैं: numlockx toggle;sleep .5;!# (27 बाइट्स)। !#वह घटना है जो कमांड लाइन में अब तक टाइप की गई हर चीज तक फैल जाती है।
init_js

2

बैच फ़ाइल (vbs की मदद से), 74 + 2 = 76 बाइट्स

echo Createobject("wscript.shell").sendkeys"{numlock}">z.vbs&z&timeout 1&z

आंशिक रूप से Trelzevir के उत्तर पर आधारित है ।

.vbsमें स्वचालित रूप से शामिल है PATHEXT


1

कोटलिन स्क्रिप्ट, 72 बाइट्स

जबकि सबसे छोटा नहीं है, फिर भी यह बहुत अच्छा है। मैं कुछ चीजों के लिए कोटलिन के दौड़ से प्यार कर रहा हूं , और यह उनमें से एक है (वाल आर = java.awt.Robot () से छोटा है क्योंकि हमें आर और वैल आर = दोनों की आवश्यकता नहीं है। फिर भी, यह मैथलैब से लंबा है)

java.awt.Robot().run{while(1>0){keyPress(20);keyRelease(20);delay(500)}}

Ungolfed:

java.awt.Robot().run {
    while(1>0) {
        keyPress(20)
        keyRelease(20)
        delay(500)
    }
}

1

पायथन 3, 55 49 बाइट्स

-4 बाइट्स के लिए @NoOneIsHere धन्यवाद!

इसमें पैकेज शामिल हैं: pyautogui और timeमॉड्यूल
कोड:

while(1):pag.press("capslock");time.sleep(0.5)  

-4 बाइट्स के लिए @NoOneIsHere धन्यवाद!
कार्रवाई की कुंजी:
कैप्स लॉक


3
साइट पर आपका स्वागत है! :)
DJMcMayhem

आप उपयोग करके while 1, और अर्धविराम के साथ इसे वन-लाइनर बनाकर कुछ बाइट्स बचा सकते हैं । ( while 1:pyautogui.press("capslock");time.sleep(.5))
NoOneIsHere

1
दुर्भाग्य से, यह भी एक स्निपेट है, लेकिन import pyautoguiकार्यक्रम की शुरुआत में जोड़कर और बाकी चीजों को बदलकर while 1:pyautogui.press("capslock");time.sleep(.5)आप इसे एक वैध उत्तर बना सकते हैं।
caird coinheringaahing

@cairdcoinheringaahing वहाँ भी होना चाहिए import time
फ्लिपकार्ट

@cairdcoinheringaahing बिल्कुल, यही वजह है कि आप एक की जरूरत है import time...
FlipTack

1

वीबीए, 82 बाइट्स

अनाम VBE तत्काल विंडो फ़ंक्शन जो कोई इनपुट नहीं लेता है और उपयोगकर्ता को अनिश्चित काल के लिए एनाउंस करता है। विंडोज कर्नेल 32 फ़ंक्शन नींद पर निर्भर करता है जो नीचे घोषित किया गया है।

नींद की घोषणा (जीत -32)

Declare Sub Sleep Lib "kernel32" (ByVal M&)

नींद की घोषणा (विन -64, + 8 बाइट्स)

Declare PtrSafe Sub Sleep Lib "kernel32" (ByVal M&)

अनाम VBE तत्काल विंडो फ़ंक्शन

Do:SendKeys"{CAPSLOCK}":Sleep 500:DoEvents:Loop

थोड़ा और अधिक मजेदार संस्करण, 97 बाइट्स

पारस्परिक रूप से पुनरावर्ती उप-रेखाओं का एक सेट जो उपयोगकर्ता को अनिश्चित काल के लिए रोक देता है

Sub A
Application.OnTime Now+5.8E-6,"B"
End Sub

Sub B
DoEvents
SendKeys"{CAPSLOCK}"
A
End Sub

संदिग्ध संस्करण, 66 + 2 बाइट्स

मुझे यकीन नहीं है कि अगर कोई dll मायने रखता है तो एक इनबिल्ट फंक्शन होने की घोषणा करता है, तो उस स्थिति में जब यह नहीं होता है, तो यहां एक 66 + 2 बाइट संस्करण है जो 1 सेकंड इंतजार कर रहा है

Do:DoEvents:Application.Wait Now+#0:0:1#:SendKeys"{CAPSLOCK}":Loop
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.