ক্যাপস লকটি ঝাপটান


107

বেশিরভাগ কম্পিউটার কীবোর্ডগুলিতে সিএপিএস লক বোতামের সাহায্যে নিয়ন্ত্রিত হিসাবে বর্তমান ইনপুট মোডটি নির্দেশ করে একটি ছোট ইন্টিগ্রেটেড এলইডি আলো উপস্থিত থাকে।

এখানে চিত্র বর্ণনা লিখুন

আপনার কাজটি এটি পলক দেওয়া:

  • এটি চালু কর;
  • 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
সি 64 এর ক্যাপস্লক কীটি একটি যান্ত্রিক সুইচ। ঝলকানি এটি কিছুটা জটিল হতে পারে ...
চিহ্নিত করুন

8
এখন আমি ভাবছি যে আমার বেতার কীবোর্ডে লো-ব্যাটারি এলইডি সঠিক হারে ফ্লাশ হয় কিনা। যদি তাই হয়: শূন্য বাইট।
রজার লিপসক্বে

উত্তর:


123

বেফুঞ্জ (BEF32), 390 334 305 বাইট

এটি সত্যিই নির্বোধ, তবে যতক্ষণ না এই সাইটের অনুবাদকারীর দ্বারা ভাষা সংজ্ঞায়িত করা এই ধারণাটি গ্রহণ করা হয় ততক্ষণ আমি সেই নিয়মটিকেও অপব্যবহার করতে পারি। এই কোডটি কেবল কেভিন ভিগারের উইন 32 বেফঞ্জ -99 বাস্তবায়ন, সংস্করণ 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

এখন আপনি সাধারণত বেফুঞ্জে এই ধরণের চ্যালেঞ্জের সম্ভাবনা আশা করবেন না, তবে BEF32 হ'ল রেফারেন্স প্রয়োগের খুব পুরানো সংস্করণের একটি উইন 32 পোর্ট এবং এরপরে p(পুট) কমান্ডটিতে কোনও সীমানা পরীক্ষা করা হয়নি। এটি কার্যকরভাবে আমাদের মেমরির যে কোনও স্থানে লেখার অনুমতি দেয়, যা শেষ পর্যন্ত আমাদের দোভাষীকে যথেচ্ছ মেশিন কোড চালাতে বাধ্য করে।

এক্সিকিউটেবলের টেক্সট বিভাগে লেখার অনুমতি থাকবে না বলে এখন আমরা আসলে বিদ্যমান কোডের কোনওটিকেই পরিবর্তন করতে পারি না। যাইহোক, রানটাইম লাইব্রেরির atexitটেবিলে সেই ঠিকানাটি লিখে আমরা .ডাটা বিভাগে একটি ঠিকানা কার্যকর করতে সিস্টেমটিকে ঠকাতে পারি (কমপক্ষে আমি সন্দেহ করি যে এটি কি)। শেষ ফলাফলটি হ'ল দোভাষী দেরীর বাইরে গেলে আমাদের কোডটি স্বয়ংক্রিয়ভাবে কার্যকর হয়।

এটি নির্ধারিত ঠিকানায় এক্সিকিউটেবল লোড করা হয় তার উপর নির্ভর করে, তাই আমরা মেমরির মধ্যে ঠিক কোথায় আছে তা আমরা ঠিক জানি - আপনি ডিফল্ট ASLR সেটিংসকে ওভাররড করলে ধারণা করা যায় না যে এটি কার্যকর হবে । এক্সিকিউটেবল অ্যাট্রিবিউট সেট না থাকা সত্ত্বেও .ডাটা বিভাগটি এক্সিকিউটেবল হওয়ার উপর নির্ভর করে, সুতরাং আপনি যদি ডিফল্ট ডিইপি সেটিংসকে ওভাররড করেন তবে সম্ভবত এটি কাজ করবে না ।

কোড নিজেই মূলত একটি অনুলিপি ঐ মেগো এর 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 তে একটা esolang উত্তর প্রত্যাশিত
জেপেলীন্

9
এটি এখন এই সাইটে আমার প্রিয় উত্তর
ক্রাঙ্কার

2
দুর্দান্ত বাস্তবায়ন!
ড্যানিয়েল

3
নিবন্ধন করুন এটি দীর্ঘ হলেও, এটি একটি দুর্দান্ত উত্তর।
নন ইনি এখানে

72

অটোহটকি, 29 26 বাইট

3 বাইট সংরক্ষণ করার জন্য @ ডেনকে ধন্যবাদ

Loop{
Send,{VK14}
Sleep,500
}

আমি মূলত বেছে নেওয়া হয়েছে NumLockকারণ এটি একাধিক চরিত্র খাটো CapsLock। নীচের জিআইএফ সেই শর্তটি প্রতিফলিত করে। এটি উপরের পরিবর্তিত কোডের মতো একই প্রভাব। আমি VK90উপরের সাথে জিআইএফটিকে এখনও সঠিক হতে পারে তবে মূল চ্যালেঞ্জের সাথে সারিবদ্ধ হওয়া আরও ভাল অনুভূত হয়েছিল।

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 সেকেন্ডের জন্য বিরতি দিন)।

এটি সম্ভবত সমাবেশে সংক্ষিপ্ত হবে, তবে আমার নখদর্পে উপযুক্ত সরঞ্জাম নেই don't এটি জিএফএ-বেসিক তালিকার মাপ যা একবার .LST ফর্ম্যাটে সংরক্ষণ করা হয়েছিল এবং অকেজো সাদা স্থান সরানোর জন্য ম্যানুয়ালি সম্পাদনা করা হয়, সংক্ষিপ্ত স্ট্রিংয়ের নির্দেশাবলীর নাম পরিবর্তন করতে এবং প্রতিটিকে একটি সাধারণের CR+LFসাথে প্রতিস্থাপন করে CR। মনে রাখবেন একটি ফাইনাল CRপ্রয়োজন required

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 সাউন্ডচিপের রেজিস্টার লেখার ঠিকানা, যা অন্য কোনও আই / ও এর জন্যও দায়ী)।

এবং হ্যাঁ: এলইডি শারীরিকভাবে কীবোর্ডে অবস্থিত ... আমি মনে করি।

এসটি ফ্লপি এলইডি

আমার এখনই একটি বাস্তব এসটিতে অ্যাক্সেস নেই, সুতরাং এটি কেবল একটি মকআপ।


7
ফ্লপি ড্রাইভ! কি দারুন!
ডেভিড কনরাড

12
হাতে আঁকা লাল বৃত্তটি অনুপস্থিত ...
হ্যাগেন ফন ইটজেন

@ হেগেনভোন এটজেন আশা করি, লাল বৃত্তের আর দরকার নেই। :-)
অ্যারনল্ড

23

ফিশ + সিকেবি , 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
ম্যাক কার্নেল

1
@ এমসি কার্নেল কি কীবোর্ড পাশাপাশি তা সম্পর্কে কৌতূহলী
ক্রেগআর 8806

3
কাস্টম keycaps সঙ্গে K70 আরজিবি - unascribed.com/f/67209fe8_keyboard_design.svg
উনা

6
পুরো কীবোর্ডকে জ্বলজ্বলে করে উপরে ওপারে যাওয়ার জন্য বোনাস পয়েন্ট।
মাস্তু

tee /d*/*/*/c*? ভবিষ্যতে যখন এই অনিবার্যভাবে গুরুত্বপূর্ণ কিছুতে প্রসারিত হয় তখন কিছু দরিদ্র সোডের কম্পিউটারকে ইট দিতে দায়বদ্ধ হওয়ার জন্য বোনাস পয়েন্ট। (EFI ভেরিয়েবল যে কারও? সম্ভবত এরকম কিছু হবে /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 মিলিসেকেন্ডের জন্য ঘুমায় এবং তারপরে ক্যাপস লকটি বন্ধ করে দেওয়ার জন্য অন্য কী টিপসটি প্রেরণ করা হয়।

একগুচ্ছ বাইট সংরক্ষণের জন্য স্টেডিবক্সকে ধন্যবাদ


1
এই সি দেওয়া, আপনি কি ঘোষণা করতে পারবেন না int keybd_event();?
নিল

@Neil এটা হবে 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();}
স্টেডিবক্স

2
অবশ্যই, তবে আদিম ধরণের জন্য, সি আপনি কখনই ফলাফলটি ব্যবহার না করে তবে মিলটি বেহায়াপনের বিষয়ে চিন্তা করে না।
নিল

6
আপনার কীবোর্ড সর্বনিম্ন স্তরে তারের মাধ্যমে কী পাঠায় তা স্ক্যান কোডগুলি। তাদের মানগুলি একটি স্ট্যান্ডার্ড লেআউটে অবস্থানের উপর ভিত্তি করে কারণ এটি করার ফলে তারা কীবোর্ডকে যথাসম্ভব বোবা বানিয়ে দেয় এবং প্রতিটি কী ব্যতীত না করে দেয় (এই নকশার সীমাবদ্ধতা কেন সেক্ষেত্রে সস্তা কীবোর্ডগুলি কেবল কয়েকটি যুগল কী-স্ট্রোকগুলি ফিরিয়ে দিতে পারে - বেসলাইন ইউএসবি কীবোর্ড ইন্টারফেসটি হোস্ট কম্পিউটারে অনুবাদ পদক্ষেপটি অফলোড করার ব্যয়ে প্রায় 20 বছর আগে মিনিট স্ট্যান্ডার্ড ডিজাইন করে) সর্বাধিক কীবোর্ডগুলিতে সীমাবদ্ধতা তৈরি করে। en.wikedia.org/wiki/Scancode
ড্যান নীলি

16

ম্যাটল্যাব, 146 136 70

P 66 বাইট অপসারণের জন্য @ পোকে ধন্যবাদ !

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

এটি জাভা ক্লাসগুলিতে কল করার মতলবটির ক্ষমতা ব্যবহার করে। প্রোগ্রাম লম্বাভাবে চাপ দিয়ে এবং ছেড়ে দিয়ে নুম লক লাইটটি একটি লুপে জ্বলজ্বল করে Num Lock

ভিডিও বা এটি ঘটেনি


9
আপনি কি 144পরিবর্তে ব্যবহার করতে পারেন java.awt.event.KeyEvent.VK_NUM_LOCK? সিএপিএস_লোক হবে20
পোকে

2
হ্যাঁ! সেখানে যান 66 বাইট !!
লুইস মেন্ডো

7
মজার বিষয় এটি জাভা উত্তরের চেয়ে খাটো
ম্যাটসেম্যান

15

পিসির জন্য x86 মেশিন কোড (যেমন এমএস-ডস সিওএম ফাইল), 27 বাইট

এই মেশিন কোড (পিসি বিআইওএস-এর সাধারণ সিপি 437 এর একটি ইউনিকোড রেন্ডারিং সহ এখানে প্রদর্শিত) একটি পিসিতে সিএপিএস লক সূচকটি চিরতরে ঝাপিয়ে দেবে:

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

কোডটি তৈরি করা হয়েছে যাতে এতে কোনও নুল বাইট থাকে না এবং একটি সিওএম ফাইল তৈরি করতে (যেমন, COPY CON blink.comএমএস-ডসের অধীনে কমান্ডটি ব্যবহার করে, কোনও ক্ষেত্রে কীবোর্ডের সাহায্যে প্রসারিত অক্ষরের জন্য Alt + XXX ট্রিক ব্যবহার করে) টাইপ করা যায় which আউটপুট ফাইলটিতে একটি উত্সাহী 28 বাইট থাকতে হবে , ^Z(অনুলিপি অপারেশন বন্ধ করার জন্য প্রয়োজনীয় অক্ষর) E

প্রভাবটি সরাসরি পিসির কীবোর্ড নিয়ামককে (পোর্ট 60 এইচ) প্রেরণ করে এলইডি অবস্থা সেট করার জন্য অর্জন করা হয় (পার্শ্ব-প্রতিক্রিয়া হিসাবে, এটি নম লক এবং স্ক্রোল লক এলইডিগুলিকে একটি এলোমেলোভাবে ঝলকানো অবস্থায় সেট করতে পারে)। নির্দেশাবলী সংখ্যা কমাতে সময় নির্ধারণের সময় 0040:0040বিআইওএস দ্বারা পরিচালিত কাউন্টডাউন টাইমার ব্যবহার করে অর্জন করা হয় (এটি প্রতি 54.925 এমএসে হ্রাস পায়, 9 চক্রের সাথে ঝলকানো চক্র 494.3 এমএস, যা অনুমোদিত ব্যবধানের মধ্যে রয়েছে) - এই কাউন্টার ফ্লপি ডিস্ক মোটর বন্ধ করতে সাধারণত BIOS ব্যবহার করে; যেহেতু প্রোগ্রামটি ফ্লপি ড্রাইভ ব্যবহার করে না এবং কোডটি একটি একক-কার্য পরিবেশে (যেমন ডস) চালানো হবে বলে ধরে নেওয়া হয়েছে, ফ্লপি মোটর টাইমার দিয়ে খেলা কোনও সমস্যা নয়।

কোডটি এমএস-ডসের অধীনে দুর্দান্তভাবে চালিত হয় (ভার্চুয়ালবক্সের সাথে চেষ্টা করে, এটি সত্যিকারের হার্ডওয়্যারেও সূক্ষ্মভাবে চালানো উচিত, যদিও আমার কাছে পরীক্ষার জন্য বুটযোগ্য এমএস-ডস ইউএসবি স্টিক তৈরি করার সময় নেই)। যেহেতু এটি কোনও ওএস ফাংশনের উপর নির্ভর করে না, এমনকি এটি অপারেটিং সিস্টেম ছাড়াই চলতে পারে (যেমন, এটি কোনও ডিস্কের বুট সেক্টরে রেখে)। এটি চালানোর জন্য কমপক্ষে একটি 80186 প্রসেসরের প্রয়োজন, কারণ কিছু বাইটের কোড ছোট করার জন্য ব্যবহৃত "তাত্ক্ষণিক ধাক্কা" নির্দেশাবলী instructions

সমাবেশ উত্স কোড:

  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

ভার্চুয়ালবক্সে এমএস-ডসের অধীনে ফলাফলটি এখানে চলছে (ডসবক্সের সাথে কাজ করে না সম্ভবত, কীবোর্ড নিয়ামক সম্পূর্ণরূপে অনুকরণ করা হয়নি বলে):

জ্বলজ্বলে ক্যাপস লক

(নড়বড়ে ভিডিওর জন্য দুঃখিত)


প্রকৃতপক্ষে ব্যবহারের একটি উদাহরণ copy con program.exe: youtube.com/watch?v=iefuJ_jZAiQ
জেরি যেরেমিয়া

13

স্মাইলব্যাসিক, 36 23 বাইট

XON MIC
WAIT 30XOFF MIC

মাইক্রোফোনের স্থিতির আলোকে আলোকিত করে। (ভিডিও শীঘ্রই আসছে)


12

পাইথন 2 - 108 বাইট

ক্যাপস্লক কী করে। মজার বিষয় হল, এটি কীবোর্ডকে প্রভাবিত না করে বা কী টিপুন না করে কেবলমাত্র নিজেই এলইডি চালু করে। আপনি পরিবর্তন করতে পারেন 4থেকে শেষে 2NumLock সক্রিয়, নিষ্ক্রিয় করবেন। 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
হাইকাম

@ হাইকমাম আপনি উইন্ডোজ এ আছেন?
মালটিসেন

1
না, আমি আছি macOS Sierra Version 10.12.1 (16B2555)
হাইকমাম

8

শেল + নমলাক্স, 40 35 বাইট

[রায়ানকে 5 টি বাইট সংরক্ষণ করা হয়েছে]]

অবিচ্ছিন্ন সিস্টেমে ক্রমাগত নুমলক আলোককে জ্বলজ্বল করে।

numlockx toggle;sleep .5;exec sh $0

একক ঝলক, 33 বাইট

numlockx on;sleep .5;numlockx off

1
আপনি 5 বাইট সংরক্ষণ করার exec sh $0পরিবর্তে ব্যবহার করতে পারেন while, বা sh $0যদি চিরকালের জন্য প্রক্রিয়া তৈরি করা ঠিক হয় বলে মনে করা হয়।
রাই-

2
watch -n0.5 numlockx toggle 27 বাইট জন্য।
তেজস কালে

উপরের ভিন্ন স্বাদের জন্য, ইন্টারেক্টিভ শেলগুলিতে, আপনি টাইপ করতে পারেন: numlockx toggle;sleep .5;!#(২ 27 বাইট) একক পলকের জন্য। !#কমান্ড লাইনে এখন পর্যন্ত টাইপ করা সমস্ত কিছু দ্বারা প্রতিস্থাপনের ইতিহাস বিস্তৃত ইভেন্ট।
init_js 13

একক ঝলক কমান্ডে, 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বাইট সংরক্ষণ করতে ব্যবহার করে।

"যদি আপনার ভাষাতে একটি সাবসেকেন্ড স্লিপ কমান্ড অনুপস্থিত ..." - এটি পাওয়ারশেলের থেকে অনুপস্থিত মনে হচ্ছে না।
ডেন

@ ডেন আমি পোস্টারটি স্পষ্টতার জন্য জিজ্ঞাসা করেছি। জরিমানা গ্রহণের জন্য নির্বাচিতদের অনুমতি না থাকলে আমি তা ফিরিয়ে দেব।
ব্রিটিশবাদী

@ ডেন ফিরে গেছে
ব্রিটিশবাদী

কিভাবে ঘুম আসে .5 এখানে কাজ করে না? আমি এটি চেষ্টা করেছিলাম এবং এটি 5 মিমি মতো চলেছে বলে মনে হচ্ছে কিন্তু আমি ডিফল্টরূপে ভেবেছিলাম এটি (-s) তাই এটি 0.5 টি হবে?
জেক হ্যারি

1
@ জ্যাকহ্যারি: -Secondsপ্যারামিটারটি একটি int, তাই এতে 0.5রূপান্তরিত হবে int, যার ফলস্বরূপ 0(বৃত্তাকার থেকে এমনকি ডিফল্ট রাউন্ডিং মোডটি হয়)। সুতরাং আপনি মোটেও ঘুমাচ্ছেন না (এখানে প্রায় 1000 টিকের দেরি হওয়ার ফলে, তাই 10।)। পাওয়ারশেলের মোটামুটি বেসিক রূপান্তর এবং পরামিতি বাইন্ডিং নিয়ম।
জোয়

7

ভিবিএস, 75 বাইট

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

বারবার, NUM লক কী blinks যেমন numlock1 টির বাইট খাটো capslock


7

সি #, 215 202 198 195 185 বাইট

@ মেগো দ্বারা এই উত্তর হিসাবে "" একই কোডটি আমি না করেই বুঝতে পেরেছি , এটি পরীক্ষা করে দেখুন !.

[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 বাইটস @ মেটোনিয়ামকে
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;কিন্তু যতদূর আমি বলতে পারি আপনি আসলে সিস্টেম নামস্থান থেকে সরাসরি কিছু ব্যবহার করছেন না? আমি মনে করি আপনি এটি মুছে ফেলতে পারেন।
মেটোনিয়াম

@ মেটোনিয়েম ভাল জায়গাগুলি keybd_eventপদ্ধতিটির স্বাক্ষরটি আসলে void keybd_event(byte bVk, byte bScan, uint dwFlags, UIntPtr dwExtraInfo);। আমি প্রকাশ করলাম আমি UIntPtrপোস্ট করার পরে মুছে ফেলতে পারলাম এবং সেগুলি এর মতো করে রাখতে পারি এবং ব্যবহারটি সরাতে intভুলে গিয়েছিলাম।
TheLethalCoder

1
আহ, আমি দেখছি, এমন জিনিস হয়! চমৎকার উত্তর মানুষ :)
মেটোনিয়াম

আমার মনে হয় আপনার দুটি 'ফাংশন' নামকরণ এবং টাইপ করা উচিত: আপনি kএকটিতে উল্লেখ করেছেন তবে এটি পরিষ্কারভাবে অপরিজ্ঞাত। চেক করা হয়নি, তবে আমি মনে করি যে আপনি লুপের জন্য আনব্রেসড কীবোর্ড_ইভেন্টে একটি কল করা ভাল, আমার মনে করা উচিত: for(int i=0;;...Sleep(250))keybd_event(i++&2)বা কিছু।
ভিজ্যুয়ালমেলন

@ ভিজুয়ালমেলন ধন্যবাদ, আমি কোডটি আপডেট করেছি, সময় ঠিকমতো পেতে ঘুমকে পরিবর্তন করতে হয়েছিল :)
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();}

একটি একক প্রেস এবং রিলিজ কেবল রাষ্ট্রকে ট্রিগার করে; এটি এটিকে পলক দেয় না সুতরাং আমরা পাশাপাশি এটি লুপ করতে পারি এবং মনে হয় পুনরাবৃত্তি এটি করার সবচেয়ে সহজ পদ্ধতি cheap


1
আমার এখানে কি কি বেসিক ইন্টারপ্রেটার নেই! কারণ এটি একটি পোকে নির্দেশ ব্যবহার করে করা হয়েছে !
সার্জিওল

এটি কী টেল-কলটি অনুকূলিত হয় বা এটি শেষ পর্যন্ত কল স্ট্যাকের সীমা ছাড়িয়ে যাবে?
সাইয়েস

@Cyoce আমি মনে করি না জাভা লেজ কল অপ্টিমাইজেশান পর্যন্ত জাভা 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 বাইট

ক্রেডিটটি আসলে @ ফিনডব্লুতে যায় , কিছু বাইট সংরক্ষণ করতে আমি কেবল পুরানো ফাংশনটিকে নতুন 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ɛtɪk

সম্পূর্ণরূপে এই সম্পর্কে ভুলে গেছি, ধন্যবাদ।
শাসক 23

আপনি যখন ফাংশন সরিয়েছেন তখন থেকে আমি যে প্রথম বন্ধনী রেখেছি তা বোঝাতে
পেরেছিলাম

ওহ, কিন্তু আপনি এটি করতে পারবেন না, এটি কাজ করবে না। তবে বন্ধনীগুলি এক-লাইনের বিবৃতিতে প্রয়োজনীয় না হওয়ায় আপনি মুছে ফেলতে পারেন (কোনও কারণে আপনার মন্তব্য আমাকে সে সম্পর্কে মনে
করিয়েছিল

পারেন প্রতিস্থাপন দ্বারা একটি বাইট সংরক্ষণ ()অপরের সাথে যেমন একক অক্ষর, _বা করে oতাই মত একটি ডিফল্ট সঙ্গে একটি প্যারামিটার: (o=new ActiveXObject("WScript.Shell"))=>
শেগি

4

স্কালা, 84 83 78 বাইট

সম্পাদনা: @ দ্য লেথালকোডারকে ধন্যবাদ 1 বাইট সংরক্ষিত,

তিনি 1>0জায়গায় ব্যবহার করার পরামর্শ দিয়েছেন true

সম্পাদনা 2: সংরক্ষিত 5 বাইট @ করভাস_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)
}

@ পোকের জাভা উত্তরের স্ট্যান্ডার্ড স্কালা বন্দর । এটি সরাসরি স্কালা ইন্টারপ্রেটার প্রম্পটে টাইপ করুন।

এর একটি ভিডিও আমার ক্যাপস লক এলইডি এবং আমার ওএসডি বুট করার জন্য জ্বলজ্বল করছে!

ঝলকানো ক্যাপস লক এলইডি এবং ওএসডি


আপনি কি করতে পারেন for(;;)বা while(1>0)বা while(1)Scala মধ্যে?
TheLethalCoder

দ্বিতীয়টি সম্ভব। 1 বাইট সংরক্ষণ যা আমার আগে ঘটেনি। ধন্যবাদ!
তমোঘনা চৌধুরী

আপনি ইনফিক্স স্বরলিপিটি ব্যবহার করতে পারেন: 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?

ইসিএমএ -৮৮ অনুসারে , 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নেটিভ কনসোলে স্যুইচ করুন

চালান pv f -q -L8

Ctrl+ Alt+ F7পিছনে স্যুইচ করুন


3

বাশ + এক্সডটুল, 36 বাইট

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

এটি কেবল ব্যাশ শেলের মধ্যেই চালিত করুন। এটি গ্রাফিকাল পরিবেশে থাকা দরকার। এখান থেকে অসীম লুপ । _ বাইট সংরক্ষণ করতে নাম_লক ock 66 এ পরিবর্তন করা হয়েছে এবং ২ বাইটের জন্য @ মিশেল কেজারলিংকে ধন্যবাদ।


অপ্রয়োজনীয় সাদা স্থান সরিয়ে আপনি কমপক্ষে দুটি বাইট সংরক্ষণ করতে পারেন। সমাপ্তি কোঁকড়া বন্ধনীর আগে আপনার সাদা স্থান প্রয়োজন হবে না, এবং কমান্ডগুলি পৃথক করে অর্ধবর্ণগুলি ঘিরে আপনার সাদা স্থান প্রয়োজন হবে না। আপনি কি খোলার দ্বিতীয় বন্ধনী পরে হোয়াইটস্পেস, যদিও প্রয়োজন।
একটি সিভিএন

এছাড়াও, আপনার প্রাথমিক পুনর্বিবেচনা সম্পর্কিত: মনে রাখবেন যে আপনি বেশিরভাগ সিস্টেমে :একটি নাম হিসাবে ব্যবহার করতে পারেন true। তিনটি বাইটের চেয়ে ছোট while :;do sth;doneহিসাবে একই জিনিস while true;do sth;donefor((;;)){ sth;}যদিও এখনও খাটো।
একটি সিভিএন

@ কোয়েস কোথায়? এটি আমার পক্ষে কাজ করে নি।
Feldspar15523

@ কিয়েস আমি মনে করি যে কেবলমাত্র কার্যাদি ঘোষণার জন্য কাজ করে।
Feldspar15523


3

এক্সডটুল , 20 বাইট

key -delay=500 66 66

Presses কী 66 ওরফে Caps Lock দুইবার, একটি বিলম্ব 500 MS মূল প্রক্রিয়া মধ্যে।

নোট করুন যে এক্সডটুল একটি স্ক্রিপ্টিং ভাষা; এটি একটি ফাইল থেকে চালানো যেতে পারে এবং এটি এমনকি শেবাংগুলিকে সমর্থন করে। যেহেতু এর execআদেশটি বহিরাগত প্রোগ্রামগুলি চালানোর অনুমতি দেয়, এটি সংযোজন এবং প্রাথমিকতা পরীক্ষা করতে সক্ষম, তাই এটি প্রোগ্রামিং ভাষার সংজ্ঞাটি আমাদের সন্তুষ্ট করে।

টেস্ট রান

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

এখানে চিত্র বর্ণনা লিখুন


3

পাইথোগুই ব্যবহার করে পাইথোগুই: 126 143 115 103 বাইট

12 বাইট সংরক্ষণের জন্য @ নেডেলা ২০০৪ ধন্যবাদ

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। আমার পরিবেশে পাইয়াতোগুই আমার টাইপের ক্ষেত্রে প্রভাব ফেলবে তবে আলো জ্বলবে না।
init_js 12

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

বাশ, 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?ঠিক আছে, আপনি যদি এটির কথা চিন্তা করেন, কীবোর্ড হাইলাইটটি কীবোর্ড হাইলাইটটি চালু বা বন্ধ থাকার একটি সূচক এবং এটি অবশ্যই "কীবোর্ডের উপরে শারীরিকভাবে অবস্থিত", সুতরাং, হ্যাঁ, আমি মনে করি এটি গণনা করে।
জেপেলিন

2

জাভাস্ক্রিপ্ট, 90 বাইট

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

এটির ActiveXঅর্থ এটি প্রয়োজন কেবলমাত্র আইইতে চলবে ( যদিও এজ এটি সমর্থন করে না )। এটি NUMLOCK কীটি জ্বলজ্বল করে কারণ অন্যান্য উত্তরের মতো এটি ক্যাপস্লক বা এসক্রোললকের চেয়ে কম K

Ungolfed

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

2

বাশ, 33 বাইট

এটি অনুমান করে যে নাম-লকটি চালানোর আগেই এটি চালু থাকবে। স্যুইচ করুন offএবং onঅন্যথায়। numlockxস্পষ্টতই প্যাকেজটির প্রয়োজন ;)

numlockx off;sleep .5;numlockx on

সম্পাদনা:

দেখেছি অ্যালেক্স হাওয়ানস্কি ইতিমধ্যে এই সমাধানটি পোস্ট করেছেন, তবুও এটি ব্যাশের সাথে চিহ্নিত করা হয়নি এবং আমি কেবল "বাশ" এর জন্য সাইটটি অনুসন্ধান করেছি।


+1, আপনাকে বারবার এটি জ্বলতে হবে না (আমার মনে হয়)।
NoOneIs এখানে

আপনি যদি ইন্টারেক্টিভ শেলটিতে থাকেন তবে আপনি কমান্ড লাইনে টাইপ করতে পারেন: numlockx toggle;sleep .5;!# (27 বাইট)। !#এমন ঘটনা যা এখন পর্যন্ত টাইপ করা কমান্ড লাইনের প্রত্যেকটিতে প্রসারিত হয়।
init_js

2

ব্যাচ ফাইল (ভিবিএসের সাহায্যে), 74 + 2 = 76 বাইট 76

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

আংশিকভাবে ট্রেলজবীরের উত্তরের ভিত্তিতে ।

.vbsস্বয়ংক্রিয়ভাবে অন্তর্ভুক্ত করা হয় PATHEXT


1

কোটলিন স্ক্রিপ্ট, 72 বাইট

যদিও ছোটটি নয়, এখনও এটি বেশ ভাল। আমি kotlin এর করছি স্নেহময় রান কিছু জিনিসের জন্য, এবং এই তাদের একজন ((ছোট Val R = java.awt.Robot বেশি), কারণ আমরা উভয় দ প্রয়োজন হবে না। এবং Val R =। তা সত্ত্বেও, এটা MathLab বেশি দীর্ঘ হওয়ার)

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 নো-আইশ হিয়ার -4 বাইটের জন্য!

এটিতে প্যাকেজগুলি রয়েছে: পিয়াটোগুই এবং timeমডিউল
কোড:

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

আপনাকে ধন্যবাদ 4 নো-আইশ হিয়ার -4 বাইটের জন্য!
কর্মের চাবিকাঠি:
ক্যাপস লক


3
সাইটে স্বাগতম! :)
ডিজেএমসিমেহেম

আপনি ব্যবহার করে বেশ কয়েকটি বাইট সংরক্ষণ করতে পারেন while 1 সেমিকোলন দিয়ে ওয়ান-লাইনার এবং । ( while 1:pyautogui.press("capslock");time.sleep(.5))
NoOneIsHere এখানে

1
দুর্ভাগ্যক্রমে, এটি একটি স্নিপেটও তবে import pyautoguiপ্রোগ্রামটির শুরুতে যোগ করে এবং আপনার কাছে বাকী পরিবর্তন করে while 1:pyautogui.press("capslock");time.sleep(.5)এটি একটি বৈধ উত্তর তৈরি করতে পারে।
কায়ার্ড কইনারিংহিং

@cairdcoinheringaahing এর রয়েছে একটি থাকতে হবে import timeনা।
ফ্লিপট্যাক

নিখুঁতভাবে @Cairdcoinheringaahing, যার জন্য আপনার প্রয়োজন import time...
ফ্লিপট্যাক

1

ভিবিএ, 82 বাইট

বেনামে ভিবিই ইমিডিয়েট উইন্ডো ফাংশন যা কোনও ইনপুট নেয় না এবং ব্যবহারকারীকে অনির্দিষ্টকালের জন্য বিরক্ত করে। নীচে ঘোষিত উইন্ডোগুলির কার্নেল 32 ফাংশন স্লিপের উপর নির্ভরশীল।

ঘুমের ঘোষণা (উইন -32)

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

ঘুম ঘোষণাপত্র (Win-64, + 8 বাইট)

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

বেনামে ভিবিই তাত্ক্ষণিক উইন্ডো ফাংশন

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 বাইট

আমি নিশ্চিত না যে যদি একটি ডিল থেকে কোনও ফাংশনকে ইনবিল্ট ফাংশন হিসাবে গণনা করা হয়, তবে এটির ক্ষেত্রে এটি না হয়, তবে এখানে একটি 66 + 2 বাইট সংস্করণ যা 1 সেকেন্ড অপেক্ষা করে

Do:DoEvents:Application.Wait Now+#0:0:1#:SendKeys"{CAPSLOCK}":Loop
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.